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