_apps.scss
ASCII text
1// floating status bar 2.floating-bar { 3@extend %osd; 4 5// @extend .toolbar.osd; 6 7min-height: 32px; 8padding: 0; 9border-style: solid solid none; 10border-width: 1px; 11border-color: $borders_color; 12border-radius: (2px + 1px) (2px + 1px) 0 0; 13background-color: $base_color; 14background-clip: $extra_background_clip; 15transition: $longer_transition, border-width 0; 16 17&.left { 18margin-right: 8px - 1px; 19border-left-style: none; 20border-top-left-radius: 0; 21} 22 23&.right { 24margin-left: 8px - 1px; 25border-right-style: none; 26border-top-right-radius: 0; 27} 28 29button { 30min-height: 24px; 31min-width: 24px; 32margin: 4px; 33padding: 0; 34} 35} 36 37 38/************ 39* Nautilus * 40************/ 41.nautilus-window, 42.nautilus-window notebook, 43.nautilus-window notebook > stack { 44background: $base_color; 45} 46 47.nautilus-desktop-window, 48.nautilus-desktop-window notebook, 49.nautilus-desktop-window notebook > stack { 50background: transparent; 51} 52 53.nautilus-canvas-item { 54// border-radius: 2px; 55} 56 57.nautilus-canvas-item.dim-label, 58.nautilus-list-dim-label { 59// @extend .dim-label; 60} 61 62.nautilus-canvas-item.dim-label:selected, 63.nautilus-list-dim-label:selected { 64} 65 66.nautilus-desktop.nautilus-canvas-item { 67// background-color: scale-alpha(#000000, $lower_opacity); 68color: $inversed_fg_color; 69text-shadow: $z-depth-1; 70} 71 72.nautilus-desktop.nautilus-canvas-item:selected { 73// color: $inversed_fg_color; 74text-shadow: none; 75} 76 77.nautilus-circular-button { 78@extend %circular_button; 79} 80 81// Toolbar 82@keyframes needs_attention_keyframes { 830% {background-color: transparent; } 8450% {background-color: $track_color; } 85100% {background-color: transparent; } 86} 87 88.nautilus-operations-button-needs-attention { 89color: $accent_color; 90animation: needs_attention_keyframes 2s $standard_curve; 91} 92 93.nautilus-operations-button-needs-attention-multiple { 94color: $accent_color; 95animation: needs_attention_keyframes 2s $standard_curve; 96animation-iteration-count: 2; 97} 98 99.disk-space-display { 100// border-style: solid; 101// border-width: 2px; 102} 103 104.disk-space-display.unknown { 105background-color: $warning_color; 106} 107 108.disk-space-display.used { 109background-color: $primary_color; 110} 111 112.disk-space-display.free { 113background-color: $track_color; 114color: $disabled_fg_color; 115} 116 117// View 118.nautilus-list-view .view { 119// border-bottom: 1px solid $borders_color; 120} 121 122// Hide superfluous treeview drop target indication 123.nautilus-list-view .view.dnd { 124// border-style: none; 125} 126 127// Libgd tag entries in the search. Sadly it requires this copy pasted css style. 128// https://git.gnome.org/browse/libgd/tree/libgd/gd-tagged-entry-default.css 129.documents-entry-tag { 130// min-height: 24px; 131margin: 3px -2px 3px 8px; 132padding: 0 8px; 133border-radius: $circular_radius; 134box-shadow: none; 135background-color: $primary_color; 136color: $inversed_fg_color; 137 138&:hover { box-shadow: $z-depth-1; } 139} 140 141.documents-entry-tag.button { 142// @extend %simple_flat_button; 143 144// min-height: 24px; 145// min-width: 24px; 146margin: 0 -2px; 147padding: 4px; 148border-radius: $circular_radius; 149box-shadow: none; 150color: $secondary_inversed_fg_color; 151 152&:hover, &:active { color: $inversed_fg_color; } 153} 154 155// Workaround for the double border of the searchbar since we use a revealer which 156// always allocates at least 1 pixel 157.nautilus-window searchbar { border-top: 1px solid $borders_color; } 158 159.nautilus-window .searchbar-container { margin-top: -1px; } 160 161 162/********* 163* gedit * 164*********/ 165.open-document-selector-treeview:hover { 166} 167 168.open-document-selector-treeview:selected:hover { 169} 170 171/* Only normal state is handle */ 172.open-document-selector-name-label { 173font-weight: bold; 174} 175 176/* Only normal state is handle */ 177.open-document-selector-path-label { 178color: gtkalpha(currentColor, $hint_opacity); 179font-size: smaller; 180 181// @extend .dim-label; 182} 183 184.gedit-document-panel { 185background-color: $lighter_bg_color; 186} 187 188.gedit-document-panel row:selected { 189} 190 191.gedit-document-panel-group-row, 192.gedit-document-panel-group-row:hover { 193border-top: 1px solid gtkalpha(currentColor, 0.3); 194} 195 196.gedit-document-panel-group-row:first-child, 197.gedit-document-panel-group-row:first-child:hover { 198border-top: 0px; 199} 200 201/* Try to look as the notebook tab close button */ 202.gedit-document-panel row button.flat { 203margin-top: 8px; 204margin-bottom: 8px; 205 206@extend %small_button; 207} 208 209.gedit-side-panel-paned statusbar { 210border-top: 1px solid $borders_color; 211} 212 213.gedit-search-slider { 214margin: 4px 4px 8px; 215 216.gedit-search-entry-occurrences-tag { 217all: unset; 218padding: 0 4px; 219color: gtkalpha(currentColor, $hint_opacity); 220} 221 222entry { 223&:dir(ltr) { 224margin-right: -$medium_size * 2; 225padding-right: $medium_size * 2 + 8px; 226 227.gedit-search-entry-occurrences-tag { margin-right: -8px; } 228} 229 230&:dir(rtl) { 231margin-left: -$medium_size * 2; 232padding-left: $medium_size * 2 + 8px; 233 234.gedit-search-entry-occurrences-tag { margin-left: -8px; } 235} 236 237&.error ~ button { 238color: $secondary_inversed_fg_color; 239 240&:hover, &:active { color: $inversed_fg_color; } 241 242&:disabled { color: $disabled_secondary_inversed_fg_color; } 243} 244} 245 246button { 247@extend %simple_flat_button; 248 249&:dir(ltr), 250&:dir(rtl) { @extend %linked; } 251} 252} 253 254// Yeah this is ugly 255.gedit-search-slider .linked:not(.vertical) > entry, 256notebook > stack:not(:only-child) revealer .gedit-search-slider .linked:not(.vertical) > entry { 257border-radius: 2px; 258} 259 260 261/************** 262* Tweak Tool * 263**************/ 264// the sidebar 265.tweak-categories { 266// padding: 4px 0; 267// background-color: shade(@theme_bg_color, 0.99); 268background-image: image($lighter_bg_color); 269 270// hide separators 271separator { 272min-width: 0; 273min-height: 0; 274background: transparent; 275} 276} 277 278.tweak-category { 279// padding: 10px; 280} 281 282// the container and tweaks in a group 283.tweak-group { 284// background-color: rgba(0, 0, 0, 0); 285} 286 287.tweak { 288padding: 3px; 289// padding-top: 3px; 290// background-color: rgba(0, 0, 0, 0); 291} 292 293.tweak:hover { 294// background-color: rgba(0, 0, 0, 0); 295} 296 297.tweak.title { 298// padding-top: 10px; 299 300&:hover { box-shadow: none; } 301} 302 303.tweak-titlebar-left:dir(ltr), 304.tweak-titlebar-right:dir(rtl) { 305// border-top-right-radius: 0; 306} 307 308.tweak-titlebar-right:dir(ltr), 309.tweak-titlebar-left:dir(rtl) { 310// border-top-left-radius: 0; 311} 312 313// individual tweak theme changes 314.tweak.title#title-theme { 315// padding-top: 3px; 316} 317 318.tweak#hinting, 319.tweak#text-scaling-factor { 320// padding-top: 20px; 321} 322 323.tweak-group-white, 324.tweak-white, 325.tweak-white:hover { 326// background-color: white; 327background-image: image($base_color); 328} 329 330.tweak-startup, 331.tweak-startup:hover { 332// background-color: lighter(shade(@theme_bg_color, 0.9)); 333background-image: image($base_color); 334} 335 336.tweak-group-startup { 337// background-color: @view_separators; 338background-image: image($base_color); 339border: 1px solid $borders_color; 340} 341 342// NOT WORKING 343.main-container { 344// padding: 20px; 345} 346 347 348/*********** 349* Builder * 350***********/ 351// 352// Titlebar adjustments for workbench 353// 354// This is needed due to our placement of headerbar inside of a 355// stack. We were seeing black edges around the header bar, and 356// improper radius on the headerbar. 357// 358workbench stack.titlebar { 359padding: 0; 360// box-shadow: none; 361} 362 363workbench:not(.tiled):not(.maximized):not(.fullscreen) stack.titlebar headerbar { 364border-radius: 2px 2px 0 0; 365// box-shadow: none; 366} 367 368perspectiveswitcher { 369background-color: $bg_color; 370} 371 372perspectiveswitcher button { 373} 374 375perspectiveswitcher button:hover { 376} 377 378perspectiveswitcher button:checked { 379color: $primary_color; 380} 381 382// 383// Layout tab and tab bar tweaks 384// 385// The following makes the layout stack header look similar to a tab bar. 386// 387layouttabbar { 388border-bottom: 1px solid $borders_color; 389background-color: $bg_color; 390} 391 392layouttabbar button { @extend %flat_button; } 393 394layouttabbar > box > button { 395margin: (40px - $medium_size) / 2 0; 396// border-radius: 0; 397} 398 399layouttab { 400margin: 0 8px; // not working 401border-style: none solid; 402border-width: 1px; 403border-color: $borders_color; 404box-shadow: inset 0 -2px $primary_color; 405background-color: $base_color; 406} 407 408layouttab separator.vertical { 409margin: 8px 4px; 410} 411 412layouttab button { 413&.text-button, &.image-button, & { 414margin-top: 8px; 415margin-bottom: 8px; 416padding: 0 4px; 417} 418} 419 420// 421// Close button styling for layouttab. 422// 423layouttab > box > button.close { 424border-radius: $circular_radius; 425} 426 427layout { 428border: 1px solid $borders_color; 429-PnlDockBin-handle-size: 1; 430} 431 432entry.search-missing { 433background-color: $error_color; 434color: $inversed_fg_color; 435} 436 437// tweak icons for treeviews 438workbench treeview.image { color: gtkalpha(currentColor, $hint_opacity); } 439workbench treeview.image:selected { color: $tertiary_inversed_fg_color; } 440 441dockbin { 442border: 1px solid $borders_color; 443-PnlDockBin-handle-size: 1; 444} 445 446dockpaned { 447border: 1px solid $borders_color; 448} 449 450eggsearchbar box.search-bar { 451padding: 0 8px; 452border-bottom: 1px solid $borders_color; 453background-color: $bg_color; 454} 455 456docktabstrip { 457padding: 0 8px; 458border-bottom: 1px solid $borders_color; 459background-color: $bg_color; 460} 461 462docktab { 463transition: $longer_transition; 464min-height: $small_size; 465min-width: $small_size; 466margin-bottom: -1px; 467padding: $container_padding 6px; 468 469outline-offset: -6px; 470 471border-width: 1px; // for reorderable tabs 472border-color: transparent; // 473 474color: $secondary_fg_color; 475font-weight: 500; 476 477&:hover { 478box-shadow: inset 0 -2px $track_color; 479color: $fg_color; 480} 481 482&:checked { 483animation: tab_ripple_effect $longer_duration * 3 $deceleration_curve; 484box-shadow: inset 0 -2px $primary_color; 485color: $fg_color; 486} 487} 488 489dockoverlayedge { 490background-color: $bg_color; 491} 492 493dockoverlayedge docktabstrip { 494padding: 0; 495border: none; 496} 497 498dockoverlayedge.left-edge docktab:checked { 499border-right-color: $primary_color; 500border-bottom-color: transparent; 501} 502 503dockoverlayedge.right-edge docktab:checked { 504border-left-color: $primary_color; 505border-bottom-color: transparent; 506} 507 508pillbox { 509background-color: $bg_color; 510border-radius: 2px; 511} 512 513layoutpane entry.search { 514@extend %entry.flat; 515 516box-shadow: inset 0 -1px $borders_color; 517background-color: $base_color; 518} 519 520editortweak entry.search { 521@extend %entry.flat; 522 523margin-bottom: -1px; 524box-shadow: none; 525} 526 527// work around some gtk padding issue 528filechooser actionbar button.combo { 529// padding: 0; 530} 531 532// styling for editor search 533frame.gb-search-frame { 534// background-image: linear-gradient(shade(@theme_bg_color,1.05), @theme_bg_color); 535// padding: 6px; 536// border-style: solid; 537// border-color: @borders; 538// border-left-width: 1px; 539// border-right-width: 1px; 540// border-bottom-width: 1px; 541// border-bottom-left-radius: 5px; 542border-bottom-right-radius: 5px; 543} 544 545frame.gb-search-frame border { 546// border: none; 547} 548 549// styling for NautilusFloatingBar 550.floating-bar { 551// padding: 2px; 552// background-color: @theme_base_color; 553// border-width: 1px; 554// border-style: solid solid none; 555// border-color: @borders; 556// border-radius: 3px 3px 0 0; 557} 558 559.floating-bar.bottom.left { // axes left border and border radius 560// border-left-style: none; 561// border-top-left-radius: 0; 562} 563 564.floating-bar.bottom.right { // axes right border and border radius 565// border-right-style: none; 566// border-top-right-radius: 0; 567} 568 569.floating-bar:backdrop { 570// background-color: @theme_unfocused_base_color; 571// border-color: @unfocused_borders; 572} 573 574.floating-bar button { 575// padding: 4px; 576} 577 578.gb-search-entry-occurrences-tag { 579// color: shade (@theme_unfocused_fg_color, 0.8); 580// border: 0px; 581// margin: 2px; 582// padding: 2px; 583box-shadow: none; 584background-color: transparent; 585} 586 587// 588// For our pattern of popover with lists (and close buttons). 589// 590popover list row { 591// padding: 6px; 592} 593 594popover list row button { 595// background: transparent; 596// border: none; 597// box-shadow: none; 598// margin: 0; 599// padding: 0; 600// opacity: 0.25; 601} 602 603popover list row:selected button, 604popover list row:selected button:hover { 605// color: @theme_selected_fg_color; 606} 607 608popover list row button:hover { 609// opacity: 1; 610} 611 612// 613// Tweaks for the editortweak popover in the editor. 614// 615editortweak button { 616// padding: 0 6px 0 6px; 617} 618 619editortweak list row { 620// padding: 0; 621} 622 623// 624// Keep search bar and layouttab height in sync. 625// 626docktabstrip { 627min-height: 39px; 628} 629 630layouttabbar > box { 631// min-height: 39px; 632} 633 634eggsearchbar > revealer > box { 635// min-height: 39px; 636} 637 638eggsearchbar entry { 639// min-height: 24px; 640} 641 642// 643// Pillbox is used to render "languages" in the greeter. 644// 645pillbox { 646// border-radius: 3px; 647} 648 649// 650// Styling in the genesis (create project) perspective. 651// 652genesisperspective stack > box:first-child list row { 653// padding: 10px; 654// border-bottom: 1px solid alpha(@borders, 0.2); 655} 656 657genesisperspective stack > box:first-child list row:last-child { 658// border-bottom: none; 659} 660 661// 662// Greeter tweaks 663// 664// The following tweaks the greeter perspective by adding 665// separator lines to the list box. 666// 667greeter list row { 668// border-bottom: 1px solid alpha(@borders, 0.2); 669} 670 671greeter list row:last-child { 672// border-bottom: none; 673} 674 675greeter frame border { 676// border-color: alpha(@borders, 0.6); 677} 678 679// 680// Global search results styling 681// 682// The following tweaks the sizing of listbox rows in the 683// global search results to have a bit more padding and 684// row separators after each line. Additionally, we tweak 685// the selection color to ensure it has priority. 686// 687omnisearchdisplay omnisearchgroup omnisearchrow { 688// background: transparent; 689// padding: 9px 12px 9px 12px; 690// border-bottom: 1px solid alpha(@borders, 0.2); 691} 692 693omnisearchdisplay omnisearchgroup omnisearchrow:last-child { 694// border-bottom: none; 695} 696 697omnisearchdisplay omnisearchgroup omnisearchrow:selected { 698// background-color: @theme_selected_bg_color; 699// color: @theme_selected_fg_color; 700} 701 702// 703// Preferences styling 704// 705// The following tweaks our preferences styling in the 706// preferences perspective, including groups, rows, 707// sidebar, etc. 708// 709workbench preferences stacksidebar list { 710// border-right: 1px solid alpha(@borders, 0.4); 711// background-color: @theme_base_color; 712} 713 714workbench preferences preferencesgroup list row { 715// padding: 10px; 716// border-bottom: 1px solid alpha(@borders, 0.2); 717} 718 719workbench preferences preferencesgroup list row:last-child { 720// border-bottom: none; 721} 722 723workbench preferences preferencesgroup list entry { 724// background: none; 725// min-height: 0px; 726padding-top: 8px; 727padding-bottom: 8px; 728} 729 730// 731// Perspectives switcher 732// 733// The following tweaks the left-most sidebar containing 734// the list of perspectives. 735// 736perspectiveswitcher { 737// border-right: 1px solid alpha(@borders, 0.5); 738} 739 740perspectiveswitcher button { 741// background: transparent; 742// border-radius: 0; 743// border: none; 744// box-shadow: none; 745// padding: 6px; 746} 747 748// Workaround Adwaita adding borders we don't want 749textview border.left { 750// background: none; 751} 752 753treeview.dim-label { 754// color: alpha(currentColor, 0.5); 755} 756 757 758/*********** 759* Firefox * 760***********/ 761menubar { 762color: $secondary_inversed_fg_color; 763 764&:hover { color: $inversed_fg_color; } 765} 766 767separator { color: $borders_color; } 768 769/* FIXME: not working */ 770window.background > widget > check, 771window.background > widget > radio { 772margin: 0; 773padding: 0; 774} 775 776window.background > widget > radio:checked { 777-gtk-icon-source: image(-gtk-recolor(url("assets/radio-checked-symbolic.svg")), 778-gtk-recolor(url("assets/radio-checked-symbolic.png"))); 779border-image: none; 780} 781 782 783/*********** 784* Synapse * 785***********/ 786box > widget > widget:selected { background-color: $primary_color; } 787 788 789/********* 790* Unity * 791*********/ 792// Decorations 793UnityDecoration { 794-UnityDecoration-extents: 32px 0 0 0; 795-UnityDecoration-input-extents: 8px; 796 797-UnityDecoration-shadow-offset-x: 0; 798-UnityDecoration-shadow-offset-y: 3px; 799-UnityDecoration-active-shadow-color: rgba(0, 0, 0, 0.48); 800-UnityDecoration-active-shadow-radius: 18px; 801-UnityDecoration-inactive-shadow-color: rgba(0, 0, 0, 0.32); 802-UnityDecoration-inactive-shadow-radius: 6px; 803 804-UnityDecoration-glow-size: 8px; 805-UnityDecoration-glow-color: $primary_color; 806 807-UnityDecoration-title-indent: 4px; 808-UnityDecoration-title-fade: 32px; 809-UnityDecoration-title-alignment: 0.0; 810} 811 812UnityDecoration.top { 813padding: 0 4px; 814border-style: none; 815border-radius: 2px 2px 0 0; 816box-shadow: inset 0 1px $secondary_highlight_color; 817background-color: $headerbar_color; 818// color: $inversed_fg_color; 819} 820 821UnityDecoration.top:backdrop { 822// color: $secondary_inversed_fg_color; 823} 824 825UnityDecoration.left, 826UnityDecoration.right { 827} 828 829UnityDecoration.bottom { 830} 831 832UnityDecoration.menubar.menuitem:hover, 833UnityDecoration.menubar .menuitem *:hover { 834box-shadow: inset 0 -2px $primary_color; 835background-color: transparent; 836} 837 838.background:not(.csd) .header-bar { 839border-radius: 0; 840box-shadow: none; 841} 842 843SheetStyleDialog.unity-force-quit { 844// background-color: $bg_color; 845} 846 847// Panel Style 848UnityPanelWidget, 849.unity-panel { 850background-color: $headerbar_color; 851background-image: image($headerbar_color); 852// color: $inversed_fg_color; 853} 854 855UnityPanelWidget:backdrop, 856.unity-panel:backdrop { 857// color: $secondary_inversed_fg_color; 858} 859 860.unity-panel.menubar, 861.unity-panel .menubar { 862} 863 864.unity-panel.menuitem, 865.unity-panel .menuitem { 866} 867 868.unity-panel.menubar.menuitem:hover, 869.unity-panel.menubar .menuitem *:hover { 870box-shadow: inset 0 -2px $primary_color; 871background-color: transparent; 872} 873 874@keyframes playbackmenuitem_spinner { 875to { -gtk-icon-transform: rotate(1turn); } 876} 877 878.menu IdoPlaybackMenuItem.menuitem:active { 879-gtk-icon-source: -gtk-icontheme("process-working-symbolic"); 880animation: playbackmenuitem_spinner 1s infinite linear; 881color: $primary_color; 882} 883 884