A fork of the Materia GTK theme.

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 _common.scss

View raw Download
text/plain • 35.84 kiB
ASCII text
        
            
1
@use "../../theme";
2
@use "../../theme-color";
3
@use "../../shadow";
4
@use "../../gnome-shell/sass/drawing";
5
@use "../../gnome-shell/sass/typography";
6
@use "extends";
7
8
// defines font family and standard font size across the whole theme
9
// em is preferred for better support for text scaling
10
stage {
11
@include typography.body2;
12
13
font-family: typography.$font-family;
14
color: theme-color.$on-surface;
15
}
16
.cinnamon-link {
17
color: theme-color.$primary;
18
font-style: italic;
19
&:hover {
20
color: theme-color.$primary;
21
}
22
}
23
.label-shadow {
24
color: transparent;
25
}
26
// themeing for various standard elements
27
StScrollBar {
28
padding: 0px;
29
StButton {
30
&#vhandle, &#hhandle {
31
background-color: theme-color.disabled(theme-color.$on-surface);
32
border-radius: 100px;
33
margin: 4px;
34
&:hover {
35
background-color: theme-color.hint(theme-color.$on-surface);
36
}
37
}
38
}
39
StBin#trough {
40
margin: 4px;
41
border-radius: 100px;
42
background-color: theme-color.divider(theme-color.$on-surface);
43
}
44
}
45
StScrollView {
46
&.vfade {
47
-st-vfade-offset: 32px;
48
}
49
&.hfade {
50
-st-hfade-offset: 32px;
51
}
52
StScrollBar {
53
min-width: 16px;
54
min-height: 16px;
55
}
56
}
57
.separator {
58
@extend %separator-shared;
59
}
60
.slider {
61
@extend %slider-shared;
62
}
63
#Tooltip {
64
@include typography.caption;
65
66
padding: 6px 8px;
67
color: theme-color.$on-tooltip;
68
text-align: center;
69
border-radius: theme.$corner-radius;
70
background-color: theme-color.$tooltip;
71
}
72
// applet menus. Note that cinnamon versions before 3.2 uses deprecated styles
73
// .popup-menu and .popup-menu-boxpointer. These are excluded as it is not possible
74
// due to other upstream changes to create a universal cinnamon theme that supports pre and post cinnamon 3.2
75
.menu {
76
@extend %menu-shared;
77
min-width: 100px;
78
margin: 4px;
79
}
80
// new style-classes for alternative stock menu
81
.menu-top-box {
82
spacing: 5px;
83
}
84
.menu-systembuttons-box {
85
padding: 10px;
86
}
87
.popup-sub-menu {
88
background-color: theme-color.entry-fill(theme-color.$on-surface);
89
}
90
.popup-menu-arrow {
91
icon-size: 1.14em;
92
}
93
// scale view right click menu
94
.popup-combo-menu {
95
@extend %menu-shared;
96
padding: 8px 0;
97
}
98
.popup-menu-content{
99
padding: 8px 0;
100
}
101
102
// individual menu entries are themed here
103
.popup-menu-item {
104
padding: 0.4em 16px;
105
spacing: 8px;
106
transition-duration: theme.$state-duration;
107
&:active {
108
background-color: theme-color.hover-overlay(theme-color.$on-surface);
109
color: theme-color.$on-surface;
110
transition-duration: 0ms;
111
}
112
&:insensitive {
113
color: theme-color.disabled(theme-color.$on-surface);
114
}
115
}
116
.popup-image-menu-item {
117
color: theme-color.hint(theme-color.$on-surface);
118
}
119
.popup-combobox-item {
120
padding: 0.4em 16px;
121
}
122
// sliders and separators in menus
123
.popup-separator-menu-item {
124
@extend %separator-shared;
125
}
126
.popup-slider-menu-item {
127
@extend %slider-shared;
128
}
129
.popup-device-menu-item {
130
spacing: .5em;
131
}
132
.popup-inactive-menu-item {
133
color: theme-color.$on-surface;
134
&:insensitive {
135
color: theme-color.disabled(theme-color.$on-surface);
136
}
137
}
138
.popup-subtitle-menu-item {
139
@include typography.subtitle2;
140
}
141
.popup-menu-icon {
142
icon-size: 1.14em;
143
}
144
.popup-menu-item-dot {
145
}
146
.popup-submenu-menu-item:open {
147
}
148
.popup-alternating-menu-item:alternate {
149
@include typography.subtitle2;
150
}
151
// toggles in menus
152
.toggle-switch {
153
width: 40px;
154
height: 20px;
155
}
156
.toggle-switch-us, .toggle-switch-intl {
157
background-image: url(assets/toggle-off.svg);
158
&:checked {
159
background-image: url(assets/toggle-on.svg);
160
}
161
}
162
.nm-menu-item-icons {
163
spacing: .5em;
164
icon-size: 1.14em;
165
}
166
// panels can be on any side of the screen
167
// some panel item theming is specific to panel orientation and is included in this section
168
// each panel is also split into three zones
169
// dnd is for panel edit mode
170
// dummy is for adding or moving panels
171
#panel {
172
color: theme-color.hint(theme-color.$on-titlebar);
173
background-color: theme-color.$scrim;
174
height: 2.5em;
175
width: 3.2em;
176
&:highlight {
177
background-color: theme-color.stroke(theme-color.$on-titlebar);
178
}
179
}
180
.panel-dummy {
181
background-color: rgba(255, 0, 0, 0.6);
182
&:entered {
183
background-color: rgba(0, 255, 0, 0.6);
184
}
185
}
186
.panelLeft {
187
spacing: 4px;
188
&:dnd {
189
background-color: rgba(255, 0, 0, 0.6);
190
}
191
&:ltr {
192
padding-right: 4px;
193
}
194
&:rtl {
195
padding-left: 4px;
196
}
197
&.vertical {
198
padding: 0;
199
&:dnd {
200
}
201
}
202
}
203
.panelCenter {
204
spacing: 4px;
205
&:dnd {
206
background-color: rgba(0, 255, 0, 0.6);
207
}
208
&.vertical {
209
padding-left: 0;
210
padding-right: 0;
211
&:dnd {
212
}
213
}
214
}
215
.panelRight {
216
spacing: 4px;
217
&:dnd {
218
background-color: rgba(0, 0, 255, 0.6);
219
}
220
&:ltr {
221
padding-left: 0;
222
spacing: 0;
223
}
224
&:rtl {
225
padding-right: 0;
226
spacing: 0;
227
}
228
&.vertical {
229
padding: 0;
230
&:dnd {
231
}
232
}
233
}
234
// orientation specific panel-item theming is defined here
235
// non orientation specific theming for panel-items is defined later in the stylesheet
236
.panel-top {
237
.window-list-item-box {
238
&:hover {
239
box-shadow: 0 3px 0 0 theme-color.$primary inset;
240
}
241
&:active, &:checked, &:focus {
242
&:hover {
243
box-shadow: 0 3px 0 0 theme-color.$primary inset;
244
}
245
}
246
}
247
.grouped-window-list-item-box {
248
&:hover {
249
box-shadow: 0 3px 0 0 theme-color.$primary inset;
250
}
251
&:active, &:checked {
252
&:hover {
253
box-shadow: 0 3px 0 0 theme-color.$primary inset;
254
}
255
}
256
&:focus {
257
&:hover {
258
box-shadow: 0 3px 0 0 theme-color.$primary inset;
259
}
260
}
261
}
262
.grouped-window-list-badge {
263
margin-top: 2px;
264
}
265
.workspace-switcher, .workspace-graph, .workspace-button {
266
padding: 1px 4px;
267
}
268
.workspace-graph, .workspace-button {
269
&:hover {
270
box-shadow: 0 3px 0 0 theme-color.$primary inset;
271
}
272
}
273
.applet-box {
274
padding: 0 4px;
275
&:hover {
276
box-shadow: 0 3px 0 0 theme-color.$primary inset;
277
}
278
}
279
.applet-label {
280
}
281
.panel-launchers .launcher:hover {
282
box-shadow: 0 3px 0 0 theme-color.$primary inset;
283
}
284
.applet-separator {
285
padding: 3px 4px;
286
}
287
.systray:hover {
288
box-shadow: 0 4px 0 0 theme-color.$primary inset;
289
}
290
}
291
.panel-bottom {
292
.window-list-item-box {
293
&:hover {
294
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
295
}
296
&:active, &:checked, &:focus {
297
&:hover {
298
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
299
}
300
}
301
}
302
.grouped-window-list-item-box {
303
&:hover {
304
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
305
}
306
&:active, &:checked {
307
&:hover {
308
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
309
}
310
}
311
&:focus {
312
&:hover {
313
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
314
}
315
}
316
}
317
.workspace-switcher, .workspace-graph, .workspace-button {
318
padding: 1px 4px;
319
}
320
.workspace-graph, .workspace-button {
321
&:hover {
322
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
323
}
324
}
325
.applet-box {
326
padding: 0 4px;
327
&:hover {
328
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
329
}
330
}
331
.applet-label {
332
}
333
.panel-launchers .launcher:hover {
334
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
335
}
336
.applet-separator {
337
padding: 3px 4px;
338
}
339
.systray:hover {
340
box-shadow: 0 4px 0 0 theme-color.$primary inset;
341
}
342
}
343
.panel-left {
344
.window-list-item-box {
345
&:hover {
346
box-shadow: 3px 0 0 0 theme-color.$primary inset;
347
}
348
&:active, &:checked, &:focus {
349
&:hover {
350
box-shadow: 3px 0 0 0 theme-color.$primary inset;
351
}
352
}
353
}
354
.grouped-window-list-item-box {
355
&:hover {
356
box-shadow: 3px 0 0 0 theme-color.$primary inset;
357
}
358
&:active, &:checked {
359
&:hover {
360
box-shadow: 3px 0 0 0 theme-color.$primary inset;
361
}
362
}
363
&:focus {
364
&:hover {
365
box-shadow: 3px 0 0 0 theme-color.$primary inset;
366
}
367
}
368
}
369
.grouped-window-list-badge {
370
margin-left: 2px;
371
}
372
.workspace-switcher, .workspace-graph, .workspace-button {
373
padding: 4px 1px;
374
min-height: 1.2em;
375
}
376
.workspace-graph, .workspace-button {
377
&:hover {
378
box-shadow: 3px 0 0 0 theme-color.$primary inset;
379
}
380
}
381
.applet-box {
382
padding: 4px 0;
383
&:hover {
384
box-shadow: 3px 0 0 0 theme-color.$primary inset;
385
}
386
}
387
.applet-label {
388
}
389
.panel-launchers .launcher:hover {
390
box-shadow: 3px 0 0 0 theme-color.$primary inset;
391
}
392
.applet-separator {
393
padding: 4px 3px;
394
}
395
.systray:hover {
396
box-shadow: 4px 0 0 0 theme-color.$primary inset;
397
}
398
}
399
.panel-right {
400
.window-list-item-box {
401
&:hover {
402
box-shadow: -3px 0 0 0 theme-color.$primary inset;
403
}
404
&:active, &:checked, &:focus {
405
&:hover {
406
box-shadow: -3px 0 0 0 theme-color.$primary inset;
407
}
408
}
409
}
410
.grouped-window-list-item-box {
411
&:hover {
412
box-shadow: -3px 0 0 0 theme-color.$primary inset;
413
}
414
&:active, &:checked {
415
&:hover {
416
box-shadow: -3px 0 0 0 theme-color.$primary inset;
417
}
418
}
419
&:focus {
420
&:hover {
421
box-shadow: -3px 0 0 0 theme-color.$primary inset;
422
}
423
}
424
}
425
.workspace-switcher, .workspace-graph, .workspace-button {
426
padding: 4px 1px;
427
min-height: 1.2em;
428
}
429
.workspace-graph, .workspace-button {
430
&:hover {
431
box-shadow: -3px 0 0 0 theme-color.$primary inset;
432
}
433
}
434
.applet-box {
435
padding: 4px 0;
436
&:hover {
437
box-shadow: -3px 0 0 0 theme-color.$primary inset;
438
}
439
}
440
.applet-label {
441
}
442
.panel-launchers .launcher:hover {
443
box-shadow: -3px 0 0 0 theme-color.$primary inset;
444
}
445
.applet-separator {
446
padding: 4px 3px;
447
}
448
.systray:hover {
449
box-shadow: -4px 0 0 0 theme-color.$primary inset;
450
}
451
}
452
// keyboard layout applet
453
.panel-status-button {
454
@include typography.subtitle2;
455
-natural-hpadding: 4px;
456
-minimum-hpadding: 4px;
457
color: theme-color.hint(theme-color.$on-titlebar);
458
&:hover {
459
color: theme-color.$on-titlebar;
460
}
461
}
462
// used by power applet to warn of low battery
463
.system-status-icon {
464
icon-size: 1.14em;
465
padding: 0;
466
spacing: 0;
467
&.warning {
468
color: theme-color.$warning;
469
}
470
&.error {
471
color: theme-color.$error;
472
}
473
}
474
// a non feature - not worth themeing
475
.panel-corner {
476
&:active {
477
}
478
&:overview {
479
}
480
&:focus {
481
}
482
}
483
// expo & scale view section
484
#overview {
485
spacing: 12px;
486
}
487
.overview-empty-placeholder {
488
@extend %osd-info-workspace-shared;
489
490
}
491
.window-caption {
492
@include typography.caption;
493
494
background-color: rgba(0, 0, 0, 0.01);
495
color: theme-color.hint(theme-color.$on-titlebar);
496
padding: 4px 6px;
497
text-align: center;
498
height: 1.5em;
499
-cinnamon-caption-spacing: 12px;
500
&#selected, &:focus {
501
color: theme-color.$on-titlebar;
502
box-shadow: 0 -3px 0 0 theme-color.$primary inset;
503
}
504
}
505
.workspace-controls {
506
visible-height: 32px;
507
}
508
.workspace-thumbnails-background {
509
color: theme-color.hint(theme-color.$on-titlebar);
510
background-color: theme-color.fill(theme-color.$on-dark);
511
border: none;
512
padding: 8px;
513
border-radius: theme.$corner-radius 0 0 theme.$corner-radius;
514
&:rtl {
515
border-radius: 0 theme.$corner-radius theme.$corner-radius 0;
516
}
517
}
518
.workspace-thumbnails {
519
spacing: 32px;
520
}
521
.workspace-add-button {
522
background-image: url(assets/add-workspace.svg);
523
height: 200px;
524
width: 35px;
525
transition-duration: theme.$state-duration;
526
&:hover {
527
background-image: url(assets/add-workspace-hover.svg);
528
}
529
&:active {
530
background-image: url(assets/add-workspace-active.svg);
531
}
532
}
533
.workspace-close-button, .window-close {
534
background-image: url(assets/window-close.svg);
535
height: 32px;
536
width: 32px;
537
-cinnamon-close-overlap: 20px;
538
&:hover {
539
background-image: url(assets/window-close-hover.svg);
540
}
541
&:active {
542
background-image: url(assets/window-close-active.svg);
543
}
544
&:rtl {
545
-st-background-image-shadow: 2px 2px 6px rgba(0,0,0,0.5);
546
}
547
}
548
.window-border {
549
border: 1px solid theme-color.divider(theme-color.$on-surface);
550
}
551
.window-close-area {
552
background-image: url(assets/trash-icon.png);
553
background-size: 100px;
554
background-color: theme-color.$scrim-alt;
555
border: 1px solid theme-color.divider(theme-color.$on-surface);
556
border-bottom-width: 0;
557
border-radius: 20px 20px 0 0;
558
height: 120px;
559
width: 400px;
560
}
561
// this is OK with solid or transparent backgrounds
562
.expo-background {
563
background-color: theme-color.$scrim;
564
}
565
// this always looks better semi transparent
566
.workspace-overview-background-shade {
567
background-color: theme-color.$scrim;
568
}
569
.expo-workspace-thumbnail-frame {
570
border: 1px solid theme-color.divider(theme-color.$on-surface);
571
&#active {
572
border: 1px solid theme-color.$primary;
573
}
574
}
575
// dialog box for the cinnamon debug utility
576
#LookingGlassDialog {
577
@extend %osd-panel-shared;
578
579
spacing: 4px;
580
padding: 8px;
581
}
582
// the calendar displayed by the calendar applet is a heavily modified menu and inherits from the .menu selectosr
583
// indivudual elements within the menu can be themed seperately with these selectors
584
.calendar {
585
padding: 4px 8px;
586
spacing-rows: 2px;
587
spacing-columns: 4px;
588
}
589
// also covers the year label
590
.datemenu-date-label {
591
@include typography.headline6;
592
593
height: theme.$menu-item-height - 2px * 2;
594
margin: 2px;
595
padding: 6px 16px;
596
border-radius: theme.$corner-radius;
597
color: theme-color.$on-surface;
598
text-align: center;
599
&:focus {
600
background-color: theme-color.divider(theme-color.$on-surface);
601
}
602
}
603
.calendar-month-label {
604
@include typography.subtitle2;
605
606
height: theme.$menu-item-height - 6px * 2;
607
margin: 2px;
608
padding: 6px 16px;
609
border-radius: theme.$corner-radius;
610
color: theme-color.$on-surface;
611
text-align: center;
612
&:focus {
613
background-color: theme-color.divider(theme-color.$on-surface);
614
}
615
}
616
.calendar-change-month-back {
617
@extend %calendar-shared;
618
619
background-image: url(assets/calendar-arrow-left.svg);
620
&:rtl {
621
background-image: url(assets/calendar-arrow-right.svg);
622
}
623
}
624
.calendar-change-month-forward {
625
@extend %calendar-shared;
626
627
background-image: url(assets/calendar-arrow-right.svg);
628
&:rtl {
629
background-image: url(assets/calendar-arrow-left.svg);
630
}
631
}
632
.calendar-day-base {
633
@include typography.caption;
634
635
text-align: center;
636
width: theme.$menu-item-height;
637
height: theme.$menu-item-height;
638
padding: 0;
639
margin: 2px;
640
border-radius: 100px;
641
&:hover,
642
&:focus {
643
background-color: theme-color.stroke(theme-color.$on-titlebar);
644
}
645
&:active {
646
color: theme-color.$on-primary;
647
background-color: theme-color.$primary;
648
border-color: transparent;
649
}
650
}
651
.calendar-week-number {
652
@include typography.caption;
653
654
width: theme.$menu-item-height - 7px;
655
height: theme.$menu-item-height;
656
margin: 2px;
657
padding: 0;
658
border-radius: 100px;
659
background-color: transparent;
660
color: theme-color.disabled(theme-color.$on-surface);
661
text-align: center;
662
}
663
.calendar-day-heading {
664
@include typography.caption;
665
666
width: theme.$menu-item-height;
667
height: theme.$menu-item-height - 7px;
668
margin: 2px;
669
padding: 0;
670
border-radius: 100px;
671
background-color: transparent;
672
color: theme-color.disabled(theme-color.$on-surface);
673
text-align: center;
674
}
675
.calendar-day {
676
border-width: 0;
677
}
678
.calendar-day-top {
679
border-top-width: 0;
680
}
681
.calendar-day-left {
682
border-left-width: 0;
683
}
684
.calendar-work-day {
685
}
686
.calendar-nonwork-day {
687
color: theme-color.$on-surface;
688
}
689
.calendar-today {
690
font-weight: bold;
691
border: none;
692
}
693
.calendar-day-with-events {
694
color: theme-color.$primary;
695
font-weight: normal;
696
text-decoration: underline;
697
background-image: none;
698
}
699
.calendar-other-month-day {
700
color: theme-color.disabled-hint(theme-color.$on-surface);
701
opacity: 0.5;
702
}
703
.calendar-week-number {
704
width: theme.$menu-item-height;
705
height: theme.$menu-item-height - 7px;
706
margin: 2px;
707
padding: 7px 0 0;
708
border-radius: 100px;
709
background-color: transparent;
710
color: theme-color.disabled(theme-color.$on-surface);
711
font-size: inherit;
712
font-weight: bold;
713
text-align: center;
714
}
715
// notification system
716
#notification {
717
background-color: theme-color.$surface-z8;
718
border-radius: theme.$corner-radius;
719
border: 1px solid theme-color.divider(theme-color.$on-surface);
720
padding: 8px;
721
spacing-rows: 4px;
722
spacing-columns: 8px;
723
margin-from-right-edge-of-screen: 20px;
724
width: 34em;
725
color: theme-color.$on-surface;
726
box-shadow: shadow.$z4;
727
&.multi-line-notification {
728
padding-bottom: 8px;
729
}
730
StEntry {
731
@extend %dialog-entry-shared;
732
}
733
.url-highlighter {
734
link-color: theme-color.$primary;
735
}
736
}
737
// min height 159px is required to avoid stretching/distortion of notification image
738
.notification-with-image {
739
min-height: 159px;
740
color: theme-color.$on-surface;
741
}
742
#notification-scrollview {
743
max-height: 10em;
744
> {
745
.top-shadow {
746
height: 1em;
747
}
748
.bottom-shadow {
749
height: 1em;
750
}
751
}
752
&:ltr > StScrollBar {
753
padding-left: 6px;
754
}
755
&:rtl > StScrollBar {
756
padding-right: 6px;
757
}
758
}
759
#notification-body {
760
spacing: 4px;
761
}
762
#notification-actions {
763
spacing: 8px;
764
}
765
.notification-button {
766
@extend %button-shared;
767
}
768
.notification-icon-button {
769
@extend %icon-button-shared;
770
771
> StIcon {
772
icon-size: 1.5em;
773
}
774
}
775
// non 3D alt-tab options
776
#altTabPopup {
777
padding: 8px;
778
spacing: 16px;
779
}
780
.switcher-list {
781
@extend %osd-panel-shared;
782
783
transition-duration: theme.$state-duration;
784
.item-box {
785
padding: 8px;
786
border-radius: theme.$corner-radius;
787
&:selected {
788
background-color: theme-color.divider(theme-color.$on-surface);
789
}
790
}
791
.thumbnail-box {
792
padding: 2px;
793
spacing: 4px;
794
}
795
.thumbnail {
796
width: 256px
797
}
798
.separator {
799
width: 1px;
800
background: theme-color.divider(theme-color.$on-surface);
801
}
802
}
803
.switcher-list-item-container {
804
spacing: 8px;
805
}
806
.thumbnail-scroll-gradient-left {
807
background-gradient-direction: horizontal;
808
background-gradient-start: rgba(51, 51, 51, 1.0);
809
background-gradient-end: rgba(51, 51, 51, 0);
810
border-radius: theme.$corner-radius;
811
border-radius-topright: 0;
812
border-radius-bottomright: 0;
813
width: 60px;
814
}
815
.thumbnail-scroll-gradient-right {
816
background-gradient-direction: horizontal;
817
background-gradient-start: rgba(51, 51, 51, 0);
818
background-gradient-end: rgba(51, 51, 51, 1.0);
819
border-radius: theme.$corner-radius;
820
border-radius-topleft: 0;
821
border-radius-bottomleft: 0;
822
width: 60px;
823
}
824
.switcher-arrow {
825
border-color: rgba(0,0,0,0);
826
color: theme-color.hint(theme-color.$on-surface);
827
&:highlighted {
828
color: theme-color.$on-surface;
829
}
830
}
831
.switcher-preview-backdrop {
832
background-color: theme-color.$scrim;
833
}
834
// hot corners animation
835
.ripple-box {
836
width: 104px;
837
height: 104px;
838
background-image: url(assets/corner-ripple.png);
839
background-color: theme-color.$primary;
840
border-radius: 52px;
841
}
842
// on screen messages and input boxes
843
.modal-dialog {
844
@extend %osd-panel-shared;
845
846
padding: 16px 20px;
847
}
848
.modal-dialog-button-box {
849
spacing: 16px;
850
}
851
.modal-dialog-button {
852
@extend %button-shared;
853
}
854
.info-osd {
855
@extend %osd-info-workspace-shared;
856
}
857
// run dialog (ALT-F2)
858
.run-dialog-label {
859
color: theme-color.hint(theme-color.$on-surface);
860
padding-bottom: .4em;
861
}
862
.run-dialog-error-label {
863
color: theme-color.$error;
864
}
865
.run-dialog-error-box {
866
padding-top: 16px;
867
spacing: 6px;
868
}
869
.run-dialog-completion-box {
870
padding-left: 15px;
871
}
872
.run-dialog-entry {
873
@extend %dialog-entry-shared;
874
}
875
.run-dialog {
876
border-radius: theme.$corner-radius;
877
padding: 16px 20px;
878
}
879
// this is an full screen overlay that is displayed with any cinnamon OSD or modal dialog which needs to always be semi transparent
880
.lightbox {
881
background-color: theme-color.$scrim-alt;
882
}
883
// removable media dialogs
884
.cinnamon-mount-operation-icon {
885
icon-size: 4.8em;
886
}
887
.mount-password-reask {
888
color: theme-color.$warning;
889
}
890
.show-processes-dialog {
891
spacing: 24px;
892
}
893
.mount-question-dialog {
894
spacing: 24px;
895
}
896
.show-processes-dialog-subject {
897
@extend %dialogs-subject-shared;
898
899
&:rtl {
900
@extend %dialogs-subject-rtl-shared;
901
}
902
}
903
.mount-question-dialog-subject {
904
@extend %dialogs-subject-shared;
905
906
&:rtl {
907
@extend %dialogs-subject-rtl-shared;
908
}
909
}
910
.show-processes-dialog-description {
911
@extend %dialogs-description-shared;
912
913
&:rtl {
914
padding-right: 17px;
915
}
916
}
917
.mount-question-dialog-description {
918
@extend %dialogs-description-shared;
919
920
&:rtl {
921
padding-right: 17px;
922
}
923
}
924
.show-processes-dialog-app-list {
925
max-height: 200px;
926
padding-top: 24px;
927
padding-left: 49px;
928
padding-right: 32px;
929
&:rtl {
930
padding-right: 49px;
931
padding-left: 32px;
932
}
933
}
934
.show-processes-dialog-app-list-item {
935
color: theme-color.$on-surface;
936
&:hover {
937
color: theme-color.$on-surface;
938
}
939
&:ltr {
940
padding-right: 1em;
941
}
942
&:rtl {
943
padding-left: 1em;
944
}
945
}
946
.show-processes-dialog-app-list-item-icon {
947
&:ltr {
948
padding-right: 17px;
949
}
950
&:rtl {
951
padding-left: 17px;
952
}
953
}
954
.show-processes-dialog-app-list-item-name {
955
}
956
// desktop zoom feature
957
.magnifier-zoom-region {
958
border: 3px solid theme-color.divider(theme-color.$on-surface);
959
&.full-screen {
960
border-width: 0;
961
}
962
}
963
// on screen keyboard
964
#keyboard {
965
background-color: theme-color.$scrim;
966
}
967
.keyboard-key {
968
@extend %icon-button-shared;
969
@include typography.button;
970
}
971
.keyboard-layout {
972
spacing: 8px;
973
padding: 8px;
974
}
975
.keyboard-row {
976
spacing: 16px;
977
}
978
.keyboard-subkeys { //long press on a key popup
979
color: inherit;
980
padding: 5px;
981
-arrow-border-radius: 0;
982
-arrow-background-color: transparent;
983
-arrow-border-width: 0;
984
-arrow-border-color: transparent;
985
-arrow-base: 0;
986
-arrow-rise: 0;
987
-boxpointer-gap: 5px;
988
background-color: theme-color.$surface-z8;
989
border-radius: theme.$corner-radius;
990
box-shadow: shadow.$z4;
991
}
992
// main menu applet
993
.menu-favorites-box {
994
padding: 8px;
995
}
996
.menu-favorites-button {
997
padding: 0.4em 4px;
998
&:hover {
999
background-color: theme-color.divider(theme-color.$on-surface);
1000
border-radius: theme.$corner-radius;
1001
color: theme-color.$on-surface;
1002
}
1003
}
1004
.menu-categories-box {
1005
padding: 8px;
1006
}
1007
.menu-applications-inner-box {
1008
padding: 8px;
1009
}
1010
.menu-applications-outer-box {
1011
padding: 8px;
1012
border-radius: theme.$corner-radius;
1013
}
1014
.menu-application-button {
1015
padding: 0.4em 4px;
1016
&:highlighted {
1017
font-weight: bold;
1018
}
1019
}
1020
.menu-application-button-selected {
1021
padding: 0.4em 4px;
1022
background-color: theme-color.divider(theme-color.$on-surface);
1023
border-radius: theme.$corner-radius;
1024
color: theme-color.$on-surface;
1025
&:highlighted {
1026
font-weight: bold;
1027
}
1028
}
1029
.menu-application-button-label {
1030
@extend %menu-button-label-shared;
1031
}
1032
.menu-category-button {
1033
padding: 0.4em 4px;
1034
}
1035
.menu-category-button-greyed {
1036
padding: 0.4em 4px;
1037
color: theme-color.hint(theme-color.$on-surface);
1038
font-style: italic;
1039
}
1040
.menu-category-button-selected {
1041
padding: 0.4em 4px;
1042
background-color: theme-color.divider(theme-color.$on-surface);
1043
border-radius: theme.$corner-radius;
1044
color: theme-color.$on-surface;
1045
&:hover {
1046
}
1047
}
1048
.menu-category-button-label {
1049
@extend %menu-button-label-shared;
1050
}
1051
// in the stock menu app descriptions are shown at the base of the menu
1052
.menu-selected-app-box {
1053
padding: 8px;
1054
margin-bottom: 4px;
1055
text-align: right;
1056
&:rtl {
1057
text-align: left;
1058
}
1059
}
1060
.menu-selected-app-title {
1061
@include typography.caption;
1062
}
1063
.menu-selected-app-description {
1064
@include typography.caption;
1065
1066
max-width: 150px;
1067
}
1068
// the menus search box
1069
.menu-search-box {
1070
&:ltr {
1071
padding-left: 30px;
1072
padding-bottom: 5px;
1073
padding-top: 5px;
1074
}
1075
&:rtl {
1076
padding-right: 30px;
1077
padding-bottom: 5px;
1078
padding-top: 5px;
1079
}
1080
}
1081
#menu-search-entry {
1082
@extend %dialog-entry-shared;
1083
}
1084
.menu-search-entry-icon {
1085
icon-size: 1em;
1086
padding: 0 0;
1087
color: theme-color.disabled(theme-color.$on-surface);
1088
}
1089
// the window list applet. Some third party applets inherit some of this theming.
1090
.window-list-box {
1091
@include typography.caption;
1092
1093
spacing: 4px;
1094
padding: 0 3px;
1095
&.vertical {
1096
spacing: 4px;
1097
padding: 3px 0;
1098
}
1099
#appMenuIcon {
1100
}
1101
&:highlight {
1102
background: theme-color.stroke(theme-color.$on-titlebar);
1103
color: theme-color.$on-titlebar;
1104
}
1105
}
1106
.window-list-item-label {
1107
}
1108
// progress was added with cinnamon 3.6 and allows compatible applications to use the window list as a progress bar
1109
.window-list-item-box {
1110
background-color: rgba(0, 0, 0, 0.01);
1111
transition-duration: theme.$state-duration;
1112
&:hover {
1113
color: theme-color.$on-titlebar;
1114
}
1115
&:active, &:checked, &:focus {
1116
background-color: theme-color.stroke(theme-color.$on-titlebar);
1117
color: theme-color.$on-titlebar;
1118
&:hover {
1119
color: theme-color.$on-titlebar;
1120
}
1121
}
1122
.progress {
1123
background-color: theme-color.$success;
1124
}
1125
}
1126
.window-list-item-box.top StLabel, .window-list-item-box.bottom StLabel {
1127
padding-left: 3px;
1128
}
1129
.window-list-item-demands-attention {
1130
background-color: theme-color.$titlebar;
1131
color: theme-color.hint(theme-color.$on-titlebar);
1132
}
1133
// cinnamon 3.8 will support an improved window-list-thumbnail preview which now has it's own selector
1134
.window-list-preview {
1135
background-color: theme-color.$surface-z8;
1136
border-radius: theme.$corner-radius;
1137
padding: 10px 15px;
1138
spacing: 1em;
1139
color: theme-color.$on-surface;
1140
box-shadow: shadow.$z8;
1141
}
1142
// Cinnamon 4.0 has a new grouped window list applet with it's own selectors.
1143
// Initial theme support is defined here. Some theming is defined in the panel orientation specific section above.
1144
.grouped-window-list {
1145
&-thumbnail-label {
1146
padding-left: 3px;
1147
padding-bottom: 6px;
1148
}
1149
&-number-label {
1150
@include typography.caption;
1151
1152
z-index: 99;
1153
}
1154
&-list-button-label {
1155
padding-left: 3px;
1156
}
1157
&-badge {
1158
border-radius: theme.$circular-radius;
1159
background-color: theme-color.$panel-solid;
1160
}
1161
&-thumbnail-alert {
1162
background: theme-color.$warning;
1163
}
1164
&-item-box {
1165
background-color: rgba(0, 0, 0, 0.01);
1166
transition-duration: theme.$state-duration;
1167
&:hover {
1168
color: theme-color.$on-titlebar;
1169
}
1170
&:active, &:checked {
1171
background-color: theme-color.divider(theme-color.$on-titlebar);
1172
&:hover {
1173
color: theme-color.$on-titlebar;
1174
}
1175
}
1176
&:focus {
1177
background-color: theme-color.stroke(theme-color.$on-titlebar);
1178
color: theme-color.$on-titlebar;
1179
&:hover {
1180
color: theme-color.$on-titlebar;
1181
}
1182
}
1183
.progress {
1184
background-color: theme-color.$success;
1185
}
1186
}
1187
&-item-demands-attention {
1188
background-color: theme-color.$titlebar;
1189
color: theme-color.hint(theme-color.$on-titlebar);
1190
}
1191
&-thumbnail-menu {
1192
padding: 20px;
1193
border: none;
1194
border-radius: theme.$corner-radius;
1195
color: theme-color.hint(theme-color.$on-titlebar);
1196
background: none;
1197
.item-box {
1198
padding: 8px;
1199
spacing: 2px;
1200
border-radius: theme.$corner-radius;
1201
&:outlined {
1202
border: 2px solid theme-color.divider(theme-color.$on-surface);
1203
color: theme-color.$on-titlebar;
1204
}
1205
&:selected {
1206
background: theme-color.divider(theme-color.$on-titlebar);
1207
color: theme-color.$on-titlebar;
1208
}
1209
> StBoxLayout { // icon and title
1210
&:ltr { margin: 1px 0 0 6px; }
1211
&:rtl { margin: 1px 6px 0 0; }
1212
1213
StLabel { padding-bottom: 2px; }
1214
}
1215
1216
> StButton { // close button
1217
&:ltr { margin: 1px 6px 0 0; }
1218
&:rtl { margin: 1px 0 0 6px; }
1219
}
1220
}
1221
.thumbnail-box {
1222
padding: 2px;
1223
}
1224
.thumbnail {
1225
width: 256px;
1226
}
1227
.separator {
1228
width: 1px;
1229
background: theme-color.divider(theme-color.$on-surface);
1230
}
1231
}
1232
}
1233
// the sound player applet
1234
.sound-player {
1235
StButton {
1236
@extend %icon-button-shared;
1237
1238
&:small {
1239
min-width: theme.$small-size;
1240
min-height: theme.$small-size;
1241
padding: 4px;
1242
StIcon {
1243
icon-size: 1em;
1244
}
1245
}
1246
StIcon {
1247
icon-size: 1.5em;
1248
}
1249
}
1250
.slider {
1251
@extend %slider-shared;
1252
1253
height: 5px;
1254
}
1255
StBoxLayout {
1256
spacing: 0.5em;
1257
}
1258
> StBoxLayout {
1259
padding: 5px;
1260
}
1261
}
1262
.sound-player-generic-coverart {
1263
background: rgba(0,0,0,0.2);
1264
}
1265
.sound-player-overlay {
1266
background-color: theme-color.$surface-z8;
1267
min-width: 300px;
1268
padding: 12px 16px;
1269
spacing: 0.5em;
1270
color: theme-color.hint(theme-color.$on-surface);
1271
}
1272
// workspace switcher applet simple button view
1273
.workspace-button {
1274
background-color: theme-color.$panel-solid;
1275
width: 2em;
1276
height: 1em;
1277
color: theme-color.hint(theme-color.$on-titlebar);
1278
margin: 2px;
1279
&:outlined {
1280
background-color: theme-color.stroke(theme-color.$on-titlebar);
1281
color: theme-color.$on-titlebar;
1282
}
1283
}
1284
// workspace switcher applet graph view
1285
.workspace-graph {
1286
background-color: theme-color.$scrim;
1287
.workspace {
1288
background-color: theme-color.$panel-solid;
1289
border: 1px solid theme-color.divider(theme-color.$on-surface);
1290
&:active {
1291
background-color: theme-color.stroke(theme-color.$on-titlebar);
1292
1293
border: 1px solid theme-color.divider(theme-color.$on-surface);
1294
.windows {
1295
-active-window-background: rgba(255, 255, 255, 0.8);
1296
-active-window-border: rgba(0, 0, 0, 0.9);
1297
-inactive-window-background: rgba(140, 140, 140, 0.8);
1298
-inactive-window-border: rgba(0, 0, 0, 0.7);
1299
}
1300
}
1301
.windows {
1302
-active-window-background: rgba(140, 140, 140, 0.8);
1303
-active-window-border: rgba(0, 0, 0, 0.7);
1304
-inactive-window-background: rgba(140, 140, 140, 0.8);
1305
-inactive-window-border: rgba(0, 0, 0, 0.7);
1306
}
1307
}
1308
}
1309
// most panel launcher themeing is orientation specific
1310
.panel-launchers {
1311
padding: 0 4px;
1312
spacing: 4px;
1313
transition-duration: theme.$state-duration;
1314
.launcher {
1315
background-color:rgba(0, 0, 0, 0.01);
1316
}
1317
&.vertical {
1318
padding: 4px 0;
1319
spacing: 4px;
1320
.launcher .icon-box {
1321
padding-top: 0;
1322
}
1323
}
1324
}
1325
// applets in general
1326
.applet-separator-line, .applet-separator-line-vertical {
1327
width: 2px;
1328
background: theme-color.divider(theme-color.$on-titlebar);
1329
}
1330
.applet-spacer:highlight {
1331
background: theme-color.highlight(theme-color.$surface-z8);
1332
}
1333
.applet-box {
1334
background-color: rgba(0, 0, 0, 0.01);
1335
color: theme-color.hint(theme-color.$on-titlebar);
1336
transition-duration: theme.$state-duration;
1337
&:checked {
1338
color: theme-color.$on-titlebar;
1339
.applet-label {
1340
color: theme-color.$on-titlebar;
1341
}
1342
}
1343
&:hover {
1344
color: theme-color.$on-titlebar;
1345
.applet-label {
1346
color: theme-color.$on-titlebar;
1347
}
1348
}
1349
&:highlight {
1350
background: theme-color.stroke(theme-color.$on-titlebar);
1351
color: theme-color.$on-titlebar;
1352
.applet-label {
1353
color: theme-color.$on-titlebar;
1354
}
1355
}
1356
}
1357
.applet-label {
1358
@include typography.subtitle2;
1359
1360
color: theme-color.hint(theme-color.$on-titlebar);
1361
}
1362
// icon-size set to 22 to match hard-coded menu icon size - applet-icon style is used for search provider results in menu
1363
.applet-icon {
1364
color: theme-color.hint(theme-color.$on-titlebar);
1365
padding: 0;
1366
spacing: 0;
1367
icon-size: 22px;
1368
}
1369
// desklets - the base .desklet selector is for 'undecorated' desklets however some subtle background themeing is desirable
1370
// to maintain visibility irrespctive of wallpaper and to allow for the highlighting scheme to work
1371
.desklet {
1372
@include typography.caption;
1373
1374
color: theme-color.$on-titlebar;
1375
border: none;
1376
box-shadow: shadow.$z8;
1377
padding: 12px;
1378
background-color: theme-color.$scrim-alt;
1379
border-radius: theme.$corner-radius
1380
}
1381
// these do not inherit from .desklet
1382
.desklet-with-borders {
1383
@extend %desklet-shared;
1384
@include typography.caption;
1385
1386
background-color: theme-color.$surface-z8;
1387
border-radius: theme.$corner-radius;
1388
&:highlight {
1389
background-color: theme-color.highlight(theme-color.$surface-z8);
1390
}
1391
}
1392
.desklet-with-borders-and-header {
1393
@extend %desklet-shared;
1394
@include typography.caption;
1395
1396
background-color: theme-color.$surface-z8;
1397
border-radius-bottomleft: 2px;
1398
border-radius-bottomright: 2px;
1399
&:highlight {
1400
background-color: theme-color.highlight(theme-color.$surface-z8);
1401
}
1402
}
1403
.desklet-header {
1404
@include typography.headline6;
1405
@extend %desklet-shared;
1406
1407
background-color: theme-color.$surface-z8;
1408
border-radius-topleft: 2px;
1409
border-radius-topright: 2px;
1410
&:highlight {
1411
background-color: theme-color.highlight(theme-color.$surface-z8);
1412
}
1413
}
1414
.photoframe-box {
1415
@extend %desklet-shared;
1416
1417
background-color: theme-color.$surface-z8;
1418
border-radius: theme.$corner-radius;
1419
&:highlight {
1420
background-color: theme-color.highlight(theme-color.$surface-z8);
1421
}
1422
}
1423
.desklet-drag-placeholder {
1424
border: 2px solid theme-color.$primary;
1425
background-color: theme-color.$scrim-alt;
1426
border-radius: theme.$corner-radius;
1427
}
1428
.launcher {
1429
padding: 1px;
1430
.icon-box {
1431
padding-top: 2px;
1432
}
1433
}
1434
// applet 'about' OSDs - inherits from modal dialogs
1435
.about-content {
1436
min-width: 250px;
1437
min-height: 150px;
1438
spacing: 8px;
1439
padding-bottom: 16px;
1440
}
1441
.about-title {
1442
@include typography.headline6;
1443
}
1444
.about-uuid {
1445
@include typography.caption;
1446
}
1447
.about-icon {
1448
padding-right: 20px;
1449
}
1450
.about-scrollBox {
1451
border: 1px solid theme-color.divider(theme-color.$on-surface);
1452
border-radius: theme.$corner-radius;
1453
}
1454
.about-scrollBox-innerBox {
1455
padding: 1.2em;
1456
spacing: 1.2em;
1457
}
1458
.about-description {
1459
padding-top: 4px;
1460
}
1461
.about-version {
1462
padding-left: 7px;
1463
}
1464
.workspace-osd {
1465
@extend %osd-info-workspace-shared;
1466
}
1467
.expo-workspaces-name-entry {
1468
@include typography.body1;
1469
1470
background-color: theme-color.entry-fill(theme-color.$on-dark);
1471
color: theme-color.$on-dark;
1472
padding: 0 8px;
1473
selection-background-color: theme-color.stroke(theme-color.$on-dark);
1474
selected-color: theme-color.$on-dark;
1475
caret-color: theme-color.$on-dark;
1476
text-align: center;
1477
height: theme.$medium-size;
1478
border-radius: theme.$corner-radius theme.$corner-radius 0 0;
1479
-cinnamon-caption-spacing: 12px;
1480
&#selected {
1481
color: theme-color.$on-dark;
1482
background-color: theme-color.stroke(theme-color.$on-dark);
1483
}
1484
&:focus {
1485
color: theme-color.$on-dark;
1486
box-shadow: inset 0 -2px theme-color.$on-dark;
1487
}
1488
&:hover {
1489
background-color: theme-color.divider(theme-color.$on-dark);
1490
}
1491
}
1492
.notification-applet-padding {
1493
padding: .5em 1em;
1494
}
1495
.notification-applet-container {
1496
max-height: 100px;
1497
}
1498
.check-box {
1499
CinnamonGenericContainer {
1500
spacing: 8px;
1501
}
1502
StBin {
1503
@extend %check-box-shared;
1504
}
1505
&:focus {
1506
StBin {
1507
@extend %check-box-shared;
1508
}
1509
&:checked StBin {
1510
background-image: url(assets/checkbox.svg);
1511
}
1512
}
1513
StLabel {
1514
}
1515
&:checked StBin {
1516
background-image: url(assets/checkbox.svg);
1517
}
1518
}
1519
.radiobutton {
1520
CinnamonGenericContainer {
1521
spacing: 8px;
1522
}
1523
StBin {
1524
@extend %radiobutton-shared;
1525
}
1526
&:focus {
1527
StBin {
1528
@extend %radiobutton-shared;
1529
}
1530
&:checked StBin {
1531
background-image: url(assets/radiobutton.svg);
1532
}
1533
}
1534
StLabel {
1535
}
1536
&:checked StBin {
1537
background-image: url(assets/radiobutton.svg);
1538
}
1539
}
1540
.flashspot {
1541
background-color: theme-color.$primary;
1542
}
1543
// displayed when media keys are pressed.
1544
.osd-window {
1545
@extend %osd-panel-shared;
1546
1547
spacing: 1em;
1548
padding: 16px;
1549
.level {
1550
height: 0.7em;
1551
border-radius: 0.3em;
1552
background-color: theme-color.stroke(theme-color.$on-surface);
1553
}
1554
.level-bar {
1555
border-radius: 0.3em;
1556
background-color: theme-color.$primary;
1557
}
1558
}
1559
// on screen preview of windows tiling placement
1560
.tile-preview {
1561
@extend %tile-shared;
1562
1563
&.snap {
1564
@extend %tile-shared-snap;
1565
}
1566
}
1567
.tile-hud {
1568
@extend %tile-shared;
1569
1570
&.snap {
1571
@extend %tile-shared-snap;
1572
}
1573
&:top {
1574
border-top-width: 0;
1575
1576
border-radius: 0 0 10px 10px;
1577
}
1578
&:bottom {
1579
border-bottom-width: 0;
1580
1581
border-radius: theme.$corner-radius theme.$corner-radius 0 0;
1582
}
1583
&:left {
1584
border-left-width: 0;
1585
1586
border-radius: 0 10px 10px 0;
1587
}
1588
&:right {
1589
border-right-width: 0;
1590
1591
border-radius: 10px 0 0 10px;
1592
}
1593
&:top-left {
1594
border-top-width: 0;
1595
border-left-width: 0;
1596
1597
border-radius: 0 0 10px 0;
1598
}
1599
&:top-right {
1600
border-top-width: 0;
1601
border-right-width: 0;
1602
1603
border-radius: 0 0 0 10px;
1604
}
1605
&:bottom-left {
1606
border-bottom-width: 0;
1607
border-left-width: 0;
1608
1609
border-radius: 0 10px 0 0;
1610
}
1611
&:bottom-right {
1612
border-bottom-width: 0;
1613
border-right-width: 0;
1614
1615
border-radius: 10px 0 0 0;
1616
}
1617
}
1618
.systray {
1619
spacing: 4px;
1620
}
1621
// user-applet specific themeing - overrides applet stylesheet
1622
.user-box {
1623
padding: 0.4em 1.3em;
1624
spacing: 10px;
1625
}
1626
.user-icon {
1627
padding: 4px;
1628
border: none;
1629
}
1630
.user-label {
1631
@include typography.subtitle2;
1632
1633
color: theme-color.$on-surface;
1634
}
1635