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