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