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