_gnome-3.22.scss
ASCII text
1
/************
2
* Nautilus *
3
************/
4
// based css:
5
// https://gitlab.gnome.org/GNOME/nautilus/blob/master/src/resources/css/Adwaita.css
6
// hard-coded css:
7
// https://gitlab.gnome.org/GNOME/nautilus/blob/master/src/resources/css/nautilus.css
8
9
.nautilus-window,
10
.nautilus-window notebook,
11
.nautilus-window notebook > stack {
12
background-color: $base_color;
13
}
14
15
.nautilus-canvas-item {
16
// border-radius: $material_radius;
17
}
18
19
.nautilus-canvas-item.dim-label,
20
.nautilus-list-dim-label {
21
color: $secondary_fg_color;
22
23
&:selected { color: $inverse_secondary_fg_color; }
24
}
25
26
.nautilus-desktop.nautilus-canvas-item:not(:selected) {
27
// background-color: $panel_bg_color;
28
color: $inverse_fg_color;
29
text-shadow: $shadow_1;
30
}
31
32
// Toolbar
33
@keyframes needs_attention_keyframes {
34
to { background-color: $fill_color; }
35
}
36
37
.nautilus-operations-button-needs-attention {
38
animation: needs_attention_keyframes $longer_duration $standard_curve 2 alternate;
39
}
40
41
.nautilus-operations-button-needs-attention-multiple {
42
animation: needs_attention_keyframes $longer_duration $standard_curve 4 alternate;
43
}
44
45
// Floating status bar
46
.nautilus-window .floating-bar {
47
min-height: 32px;
48
padding: 0;
49
border-style: solid solid none;
50
border-width: 1px;
51
border-color: $border_color;
52
border-radius: ($material_radius + 1px) ($material_radius + 1px) 0 0;
53
background-color: rgba($base_color, 0.9);
54
background-clip: $extra_background_clip;
55
transition: $longer_transition, border-width 0;
56
57
&.bottom.left { // axes left border and border radius
58
margin-right: 8px - 1px;
59
border-left-style: none;
60
border-top-left-radius: 0;
61
}
62
63
&.bottom.right { // axes right border and border radius
64
margin-left: 8px - 1px;
65
border-right-style: none;
66
border-top-right-radius: 0;
67
}
68
69
button {
70
margin: (32px - $small_size) / 2;
71
72
@extend %small_button;
73
}
74
}
75
76
.disk-space-display {
77
// border-style: solid;
78
// border-width: 2px;
79
80
&.unknown { background-color: $warning_color; }
81
82
&.used { background-color: $primary_color; }
83
84
&.free { background-color: $divider_color; }
85
}
86
87
// View
88
// Hide superfluous treeview drop target indication
89
.nautilus-list-view .view:not(.dnd) {
90
// border-bottom: 1px solid $border_color;
91
}
92
93
.documents-entry-tag {
94
@extend .entry-tag;
95
}
96
97
.conflict-row:not(:selected) { background-color: mix($warning_color, $base_color, percentage(0.3)); }
98
99
// Icon view
100
.nautilus-window flowboxchild {
101
// > widget > box > .icon-background { background-color: black; }
102
103
> widget > .icon-item-background {
104
padding: 4px;
105
border-radius: $material_radius;
106
}
107
108
&:selected {
109
background-color: transparent;
110
111
> widget > .icon-item-background { background-color: $primary_color; }
112
}
113
}
114
115
// Batch rename dialog
116
dialog.background > box.dialog-vbox.vertical > grid.horizontal {
117
> scrolledwindow.frame { border-style: none; }
118
119
> box.horizontal:last-child {
120
margin: -6px 0 0 -6px;
121
border-top: 1px solid $border_color;
122
123
> label { margin: 0 8px; }
124
125
> box > button { border-radius: 0; }
126
}
127
}
128
129
// Tweak to fix the messy sizing of the popover menu
130
.nautilus-window > popover.menu:not(:last-child) {
131
padding: 3px;
132
133
> stack > box > box > box {
134
margin-top: -6px;
135
136
> box {
137
margin-bottom: -6px;
138
139
&.linked { margin-top: 1px; }
140
}
141
}
142
143
separator { margin-bottom: -2px; }
144
}
145
146
.nautilus-menu-sort-heading {
147
// min-height: 26px;
148
// padding-left: 5px;
149
// padding-right: 5px;
150
margin: 1px 3px;
151
font-weight: 500;
152
153
&:disabled { color: $hint_fg_color; }
154
}
155
156
// Make operations button circular
157
.nautilus-window headerbar > revealer > button { @extend %circular_button; }
158
159
// Ensure paned separator rendering. See issue #84 for details.
160
.nautilus-window paned > separator { background-color: $bg_color; }
161
162
163
/*********
164
* gedit *
165
*********/
166
// based css:
167
// https://gitlab.gnome.org/GNOME/gedit/blob/master/gedit/resources/css/gedit.adwaita.css
168
// hard-coded css:
169
// https://gitlab.gnome.org/GNOME/gedit/blob/master/gedit/resources/css/gedit-style.css
170
171
// Only normal state is handle
172
.open-document-selector-name-label {
173
// font-weight: bold;
174
}
175
176
// Only normal state is handle
177
.open-document-selector-path-label {
178
color: $secondary_fg_color;
179
font-size: smaller;
180
181
&:selected { color: $inverse_secondary_fg_color; }
182
}
183
184
.gedit-document-panel {
185
background-color: $alt_base_color;
186
187
// Try to look as the notebook tab close button
188
row button.flat {
189
margin-top: 8px;
190
margin-bottom: 8px;
191
192
@extend %small_button;
193
}
194
}
195
196
.gedit-document-panel-group-row:not(:first-child) {
197
border-top: 1px solid $border_color;
198
}
199
200
.gedit-side-panel-paned statusbar {
201
border-top: 1px solid $border_color;
202
}
203
204
.gedit-search-slider {
205
margin: 4px 4px 8px;
206
207
.linked > entry {
208
border-radius: $material_radius;
209
210
.gedit-search-entry-occurrences-tag {
211
all: unset;
212
color: $hint_fg_color;
213
}
214
215
$buttons_width: $small_size * 2 + $container_padding * 3;
216
217
&:dir(ltr) {
218
margin-right: -$buttons_width;
219
padding-right: $buttons_width;
220
221
.gedit-search-entry-occurrences-tag { margin-left: $container_padding; }
222
223
image.right { margin-right: 0; }
224
}
225
226
&:dir(rtl) {
227
margin-left: -$buttons_width;
228
padding-left: $buttons_width;
229
230
.gedit-search-entry-occurrences-tag { margin-right: $container_padding; }
231
232
image.left { margin-left: 0; }
233
}
234
235
&:not(.error) { background-color: $popup_bg_color; }
236
237
&.error ~ button {
238
color: $inverse_secondary_fg_color;
239
240
&:hover, &:active { color: $inverse_fg_color; }
241
242
&:disabled { color: $inverse_disabled_secondary_fg_color; }
243
}
244
}
245
246
.linked > button {
247
border: solid $container_padding transparent;
248
border-radius: $circular_radius;
249
250
@extend %simple_flat_button;
251
@extend %small_button;
252
253
&:last-child:dir(ltr),
254
&:not(:first-child):dir(rtl) { margin-left: -$container_padding / 2; }
255
256
&:first-child:dir(rtl),
257
&:not(:last-child):dir(ltr) { margin-right: -$container_padding / 2; }
258
}
259
}
260
261
frame.gedit-map-frame > border {
262
&:dir(ltr) { border-style: none none none solid; }
263
&:dir(rtl) { border-style: none solid none none; }
264
}
265
266
267
/**********
268
* Tweaks *
269
**********/
270
// hard-coded css:
271
// https://gitlab.gnome.org/GNOME/gnome-tweaks/blob/master/data/shell.css
272
273
// the sidebar
274
.tweak-categories {
275
// padding: 4px 0;
276
// background-color: shade(@theme_bg_color, 0.99);
277
background-image: image($alt_base_color);
278
279
separator { @extend %hide_separators; }
280
}
281
282
.tweak {
283
// padding-top: 3px;
284
padding: 3px;
285
286
&.title:hover { box-shadow: none; }
287
}
288
289
.tweak-group-white,
290
.tweak-white,
291
.tweak-white:hover {
292
// background-color: white;
293
background-image: image($base_color);
294
}
295
296
.tweak-startup,
297
.tweak-startup:hover {
298
// background-color: lighter(shade(@theme_bg_color, 0.9));
299
background-image: image($base_color);
300
}
301
302
.tweak-group-startup {
303
// background-color: @view_separators;
304
background-image: image($base_color);
305
border: 1px solid $border_color;
306
}
307
308
//
309
// Workaround for 3.26
310
//
311
312
row#Focus,
313
row#ClickMethod,
314
row#StaticWorkspaceTweak, // for 3.26.0
315
row#dynamic-workspaces,
316
row#PrimaryWorkspaceTweak, // for 3.26.0
317
row#workspaces-only-on-primary {
318
padding: 0;
319
border: 1px solid $border_color;
320
321
row:not(:last-child) { border-bottom: 1px solid $border_color; }
322
323
&.tweak > list { margin-top: -3px; }
324
}
325
326
// Add more spaces between title and list
327
row#Focus,
328
row#ClickMethod,
329
row#PrimaryWorkspaceTweak, // for 3.26.0
330
row#workspaces-only-on-primary {
331
margin-top: 4px;
332
}
333
334
335
/***********
336
* Builder *
337
***********/
338
// based css for 3.22:
339
// https://gitlab.gnome.org/GNOME/gnome-builder/tree/gnome-builder-3-22/data/theme
340
// based css for 3.24:
341
// https://gitlab.gnome.org/GNOME/gnome-builder/tree/gnome-builder-3-24/data/theme
342
// based css for 3.26:
343
// https://gitlab.gnome.org/GNOME/gnome-builder/tree/gnome-builder-3-26/data/themes
344
345
// Layout tab and tab bar tweaks
346
// The following makes the layout stack header look similar to a tab bar.
347
layouttabbar {
348
border-bottom: 1px solid $border_color;
349
background-color: $bg_color;
350
351
button { @extend %flat_button; }
352
353
> box > button {
354
margin: (40px - $medium_size) / 2 0;
355
// border-radius: 0;
356
}
357
}
358
359
layouttab {
360
margin: 0 8px; // not working
361
border-style: none solid;
362
border-width: 1px;
363
border-color: $border_color;
364
box-shadow: inset 0 -2px $primary_color;
365
background-color: $base_color;
366
367
separator.vertical { margin: 8px 4px; }
368
369
button {
370
&.text-button, &.image-button, & {
371
margin-top: 8px;
372
margin-bottom: 8px;
373
padding: 0 4px;
374
}
375
}
376
377
// Close button styling for layouttab.
378
// > box > button.close { @extend %circular_button; }
379
}
380
381
layout {
382
border: 1px solid $border_color;
383
-PnlDockBin-handle-size: 1;
384
}
385
386
entry.search-missing {
387
background-color: $error_color;
388
color: $inverse_fg_color;
389
}
390
391
// tweak icons for treeviews
392
window.workbench treeview.image {
393
color: $secondary_fg_color;
394
395
&:selected { color: $inverse_secondary_fg_color; }
396
}
397
398
popover.popover-selector list {
399
padding: 8px - 2px;
400
401
row {
402
border-radius: $material_radius;
403
404
image {
405
&:dir(ltr) { margin-right: 6px; }
406
&:dir(rtl) { margin-left: 6px; }
407
}
408
409
.accel {
410
&:dir(ltr) { margin-left: 6px; }
411
&:dir(rtl) { margin-right: 6px; }
412
}
413
}
414
}
415
416
omnibar {
417
&.linked:not(.vertical) entry { border-radius: $material_radius; }
418
419
&:not(:hover):not(:active) entry { color: $secondary_fg_color; }
420
}
421
422
popover.omnibar list row:not(:last-child) {
423
border-bottom: 1px solid $border_color;
424
}
425
426
entry.preferences-search {
427
@extend %entry.flat;
428
429
box-shadow: inset 0 -1px $border_color;
430
background-color: $base_color;
431
432
// doesn't work properly
433
// &:dir(ltr) { border-right: 1px solid $border_color; }
434
// &:dir(rtl) { border-left: 1px solid $border_color; }
435
}
436
437
preferences stacksidebar.sidebar {
438
list { background-color: $alt_base_color; }
439
440
&:dir(ltr),
441
&:dir(rtl) { list { border-style: none; }}
442
443
list separator { @extend %hide_separators; }
444
}
445
446
preferences > box > box {
447
&:dir(ltr) { border-right: 1px solid $border_color; }
448
&:dir(rtl) { border-left: 1px solid $border_color; }
449
}
450
451
popover.messagepopover {
452
&.background { padding: 0; }
453
454
.popover-action-area button {
455
@extend %simple_flat_button;
456
457
padding: 8px 16px;
458
border-top: 1px solid $border_color;
459
border-radius: 0;
460
461
&:first-child { border-bottom-left-radius: $material_radius; }
462
463
&:last-child { border-bottom-right-radius: $material_radius; }
464
}
465
466
.popover-content-area { margin: 16px; }
467
}
468
469
popover.transfers list {
470
background-color: transparent;
471
472
row:not(:first-child) { border-top: 1px solid $border_color; }
473
474
row > box { padding: 10px; }
475
}
476
477
dockbin {
478
border: 1px solid $border_color;
479
-PnlDockBin-handle-size: 1;
480
}
481
482
dockpaned {
483
border: 1px solid $border_color;
484
}
485
486
eggsearchbar box.search-bar {
487
padding: 0 8px;
488
border-bottom: 1px solid $border_color;
489
background-color: $bg_color;
490
}
491
492
docktabstrip {
493
padding: 0 8px;
494
border-bottom: 1px solid $border_color;
495
background-color: $bg_color;
496
}
497
498
docktab {
499
transition: $longer_transition,
500
background-size 0,
501
background-image 0;
502
min-height: $small_size;
503
min-width: $small_size;
504
margin-bottom: -1px;
505
padding: $container_padding 6px;
506
507
outline-offset: -6px;
508
509
border-width: 1px; // for reorderable tabs
510
border-color: transparent; //
511
512
background-image: radial-gradient(circle farthest-corner at center,
513
$primary_color 10%,
514
transparent 0%);
515
background-repeat: no-repeat;
516
background-position: center;
517
background-size: 0% 0%;
518
519
color: $secondary_fg_color;
520
font-weight: 500;
521
522
&:hover {
523
box-shadow: inset 0 -2px $track_color;
524
color: $fg_color;
525
}
526
527
&:checked {
528
transition: $longer_transition,
529
background-size $longer_duration $deceleration_curve,
530
background-image $longer_duration + $ripple_duration $deceleration_curve;
531
box-shadow: inset 0 -2px $primary_color;
532
background-image: radial-gradient(circle farthest-corner at center,
533
transparent 10%,
534
transparent 0%);
535
background-size: 1000% 1000%;
536
color: $fg_color;
537
}
538
}
539
540
dockoverlayedge {
541
background-color: $bg_color;
542
543
docktabstrip {
544
padding: 0;
545
border: none;
546
}
547
548
&.left-edge docktab {
549
&:hover { box-shadow: inset -2px 0 $track_color; }
550
&:checked { box-shadow: inset -2px 0 $primary_color; }
551
}
552
553
&.right-edge docktab {
554
&:hover { box-shadow: inset 2px 0 $track_color; }
555
&:checked { box-shadow: inset 2px 0 $primary_color; }
556
}
557
}
558
559
pillbox {
560
background-color: $bg_color;
561
border-radius: $material_radius;
562
}
563
564
buildperspective row {
565
// padding: 10px;
566
}
567
568
layoutpane entry.search {
569
@extend %entry.flat;
570
571
box-shadow: inset 0 -1px $border_color;
572
background-color: $base_color;
573
}
574
575
editortweak entry.search {
576
@extend %entry.flat;
577
578
margin-bottom: -1px;
579
box-shadow: none;
580
}
581
582
//
583
// let's tweak hard-coded elements
584
//
585
586
.gb-search-entry-occurrences-tag {
587
box-shadow: none;
588
background-color: transparent;
589
}
590
591
// Keep search bar and layouttab height in sync.
592
// layouttabbar > box,
593
// eggsearchbar > revealer > box,
594
docktabstrip {
595
min-height: 39px;
596
}
597
598
eggsearchbar entry {
599
// min-height: 24px;
600
}
601
602
window.workbench preferences preferencesgroup list entry {
603
// background: none;
604
// min-height: 0px;
605
padding-top: 8px;
606
padding-bottom: 8px;
607
}
608
609
button.run-arrow-button {
610
// min-width: 12px;
611
padding-left: ($medium_size - 16px) / 2;
612
padding-right: ($medium_size - 16px) / 2;
613
}
614
615
//
616
// Additional styles for 3.26
617
//
618
619
button.dzlmenubutton image {
620
min-width: $medium_size - 6px;
621
622
&.arrow { min-width: $medium_size - 9px; }
623
}
624
625
button.dzlmenubuttonitem {
626
color: $fg_color;
627
font-weight: normal;
628
629
&:disabled { color: $disabled_fg_color; }
630
}
631
632
idelayoutstackheader {
633
border-bottom: 1px solid $border_color;
634
635
button:checked { color: $fg_color; }
636
}
637
638
// utilities stack switcher
639
ideeditorutilities > dzldockpaned > box > stackswitcher {
640
padding: 8px 0;
641
background-color: $bg_color;
642
643
&:dir(ltr) { border-right: 1px solid $border_color; }
644
645
&:dir(rtl) { border-left: 1px solid $border_color; }
646
647
button {
648
border-radius: 0;
649
outline-offset: -6px;
650
box-shadow: none;
651
background-color: transparent;
652
653
&:active {
654
background-image: radial-gradient(circle farthest-corner at center,
655
rgba($primary_color, 0.7) 10%,
656
transparent 0%);
657
}
658
659
&:checked {
660
background-color: transparent;
661
color: $fg_color;
662
}
663
664
&:dir(ltr) {
665
margin-right: -1px;
666
667
&:hover { box-shadow: inset -2px 0 $track_color; }
668
669
&:active,
670
&:checked { box-shadow: inset -2px 0 $primary_color; }
671
}
672
673
&:dir(rtl) {
674
margin-left: -1px;
675
676
&:hover { box-shadow: inset 2px 0 $track_color; }
677
678
&:active,
679
&:checked { box-shadow: inset 2px 0 $primary_color; }
680
}
681
}
682
}
683
684
// buildui panel
685
ideeditorsidebar notebook header {
686
background: transparent;
687
}
688
689
popover.messagepopover {
690
// padding: 0;
691
692
list {
693
border: 1px solid $border_color;
694
695
row:not(:last-child) { border-bottom: 1px solid $border_color; }
696
}
697
}
698
699
700
/**********
701
* Photos *
702
**********/
703
// based css:
704
// https://gitlab.gnome.org/GNOME/gnome-photos/blob/master/data/Adwaita.css
705
706
GdMainIconView.content-view {
707
-GdMainIconView-icon-size: 48;
708
709
// Make spinner visible on both dark and bright backgrounds w/o making
710
// it look ugly/weird.
711
// &.cell:active { color: $hint_fg_color; }
712
}
713
714
.documents-counter {
715
margin: 8px;
716
border-radius: $circular_radius;
717
box-shadow: $shadow_2;
718
background-color: $secondary_color;
719
color: $inverse_fg_color;
720
font-weight: bold;
721
}
722
723
.photos-entry-tag {
724
@extend .entry-tag;
725
}
726
727
.documents-scrolledwin.frame {
728
border-style: none;
729
730
frame.content-view > border { border-style: none; }
731
}
732
733
.photos-icon-bg {
734
}
735
736
.photos-fade-in {
737
opacity: 1;
738
transition: opacity $shorter_duration $deceleration_curve;
739
}
740
741
.photos-fade-out {
742
opacity: 0;
743
transition: opacity $shorter_duration $deceleration_curve;
744
}
745
746
.photos-collection-icon {
747
}
748
749
overlay grid.horizontal > revealer > scrolledwindow.frame {
750
&:dir(ltr) { border-style: none none none solid; }
751
&:dir(rtl) { border-style: none solid none none; }
752
}
753
754
755
/*********
756
* Music *
757
*********/
758
// hard-coded css:
759
// https://gitlab.gnome.org/GNOME/gnome-music/blob/master/data/application.css
760
761
.side-panel:dir(ltr) {
762
// border-width: 0 1px 0 0;
763
border-style: solid;
764
border-color: $border_color;
765
}
766
767
.side-panel:dir(rtl) {
768
// border-width: 0 0 0 1px;
769
border-style: solid;
770
border-color: $border_color;
771
}
772
773
.side-panel .view {
774
// background-color: mix(@theme_fg_color, @theme_bg_color, 0.9);
775
background-image: image($alt_base_color);
776
777
&:hover { background-image: image(mix($fg_color, $alt_base_color, percentage(0.05))); }
778
}
779
780
.side-panel .view:selected {
781
// background-color: mix(@theme_fg_color, @theme_bg_color, 0.5);
782
background-image: image($primary_color);
783
784
&:hover { background-image: image(mix($inverse_fg_color, $primary_color, percentage(0.05))); }
785
}
786
787
.songs-list {
788
// box-shadow: inset 0 -1px shade(@borders, 1.30);
789
// background-color: @theme_bg_color;
790
791
&:hover { background-image: image($row_fill_color); }
792
}
793
794
frame.documents-dropdown {
795
@extend toolbar.osd;
796
797
margin: 8px;
798
799
> border { border: none; }
800
}
801
802
box.vertical > revealer > toolbar.search-bar {
803
border-bottom: 1px solid $border_color;
804
background-clip: border-box; // avoid black border
805
806
button > widget {
807
-gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
808
// -GtkArrow-arrow-scaling: 1;
809
}
810
}
811
812
813
/*********
814
* To Do *
815
*********/
816
// less than 3.28
817
task-list-view {
818
taskrow {
819
transition: $shorter_transition;
820
margin: 0 -8px;
821
822
&:hover { transition: none; }
823
824
label { margin: 0 8px; }
825
826
image.dim-label { min-width: 16px; }
827
}
828
829
> box > revealer > box > button {
830
margin: (12px * 2 - $medium_size) / 2;
831
832
.dim-label { opacity: 1; }
833
}
834
}
835
836
// 3.28 or later
837
tasklistview {
838
taskrow {
839
outline: none;
840
841
entry {
842
&, &:focus, &:disabled { box-shadow: none; }
843
}
844
845
image.dim-label { min-width: 16px; }
846
}
847
848
> box > revealer > box > button {
849
margin: (12px * 2 - $medium_size) / 2;
850
851
.dim-label { opacity: 1; }
852
}
853
}
854
855
856
/*******
857
* eog *
858
*******/
859
#eog-thumb-nav {
860
scrolledwindow { border-top: none; }
861
862
button { -gtk-outline-radius: $material_radius; }
863
}
864
865
866
/*************
867
* Evolution *
868
*************/
869
frame.taskbar > border { border-style: solid none none; }
870
871
box.vertical > paned.horizontal notebook widget .frame { border-style: none; }
872
873
874
/********
875
* gitg *
876
********/
877
frame.commit-frame > border { border-style: solid none none; }
878
879
880
/**************
881
* Characters *
882
**************/
883
box.dialog-vbox scrolledwindow.related { border: 1px solid $border_color; }
884
885
list.categories { background-image: image($alt_base_color); }
886
887
888
/*********
889
* Boxes *
890
*********/
891
.transparent-bg + stack overlay > label {
892
min-height: 24px;
893
padding: 0 4px;
894
border-radius: $material_radius;
895
background-color: $panel_bg_color;
896
color: $inverse_fg_color;
897
}
898
899
900
/**************
901
* Calculator *
902
**************/
903
button.title label { min-height: $medium_size; }
904
905
906
/*********
907
* Geary *
908
*********/
909
// fix a issue that separator seems double
910
.geary-titlebar-left {
911
&:dir(ltr) {
912
margin-right: 5px;
913
padding-right: 0;
914
}
915
916
&:dir(rtl) {
917
margin-left: 5px;
918
padding-left: 0;
919
}
920
921
> separator { background-color: rgba(black, 0.05); }
922
}
923
924
.geary-titlebar-right {
925
&:dir(ltr) { margin-left: -5px; }
926
927
&:dir(rtl) { margin-right: -5px; }
928
}
929