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