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