[gnome-shell-sass] theme: base of the refactor - split _common.scss into widgets - improve _drawing functions - minify
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell-sass] theme: base of the refactor - split _common.scss into widgets - improve _drawing functions - minify
- Date: Thu, 9 Jan 2020 17:28:18 +0000 (UTC)
commit a25e4404a50fa76cc76e4b9cc19f13868be52e5b
Author: Sam Hewitt <sam snwh org>
Date: Wed Dec 18 16:25:03 2019 -0500
theme: base of the refactor - split _common.scss into widgets - improve _drawing functions - minify SVG
assets
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/904
_colors.scss | 26 +-
_common.scss | 2396 ++++----------------------------------
_drawing.scss | 250 ++--
_high-contrast-colors.scss | 7 +-
widgets/_app-grid.scss | 209 ++++
widgets/_app-switcher.scss | 55 +
widgets/_buttons.scss | 5 +
widgets/_calendar.scss | 268 +++++
widgets/_check-box.scss | 18 +
widgets/_corner-ripple.scss | 24 +
widgets/_dash.scss | 84 ++
widgets/_dialogs.scss | 280 +++++
widgets/_end-session-dialog.scss | 80 ++
widgets/_entries.scss | 23 +
widgets/_hotplug.scss | 46 +
widgets/_ibus-popup.scss | 30 +
widgets/_keyboard.scss | 125 ++
widgets/_login-dialog.scss | 154 +++
widgets/_looking-glass.scss | 97 ++
widgets/_message-list.scss | 145 +++
widgets/_misc.scss | 55 +
widgets/_network-dialog.scss | 57 +
widgets/_notifications.scss | 100 ++
widgets/_osd.scss | 37 +
widgets/_overview.scss | 10 +
widgets/_panel.scss | 106 ++
widgets/_popovers.scss | 123 ++
widgets/_screen-shield.scss | 83 ++
widgets/_scrollbars.scss | 29 +
widgets/_search-entry.scss | 33 +
widgets/_search-results.scss | 160 +++
widgets/_slider.scss | 27 +
widgets/_switches.scss | 16 +
widgets/_tiled-previews.scss | 19 +
widgets/_window-picker.scss | 66 ++
widgets/_workspace-switcher.scss | 70 ++
36 files changed, 2976 insertions(+), 2337 deletions(-)
---
diff --git a/_colors.scss b/_colors.scss
index d14a440..1e0da86 100644
--- a/_colors.scss
+++ b/_colors.scss
@@ -1,16 +1,15 @@
// When color definition differs for dark and light variant,
// it gets @if ed depending on $variant
-
-$base_color: if($variant == 'light', #ffffff, lighten(desaturate(#241f31, 20%), 2%));
+$base_color: if($variant == 'light', #fff, lighten(desaturate(#241f31, 20%), 2%));
$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
$fg_color: if($variant == 'light', #2e3436, #eeeeec);
-$selected_fg_color: #ffffff;
+$selected_fg_color: #fff;
$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 10%));
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color,
30%));
-$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 10%));
-$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93));
+$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 8%));
+$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), transparentize($fg_color, 0.93));
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color,
10%));
$top_hilight: $borders_edge;
@@ -20,21 +19,20 @@ $error_color: #ff8080;
$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
-$osd_fg_color: #eeeeec;
-$osd_text_color: white;
-$osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04);
+$osd_fg_color: $fg_color;
+$osd_text_color: if($variant == 'light', #000, #fff);
+$osd_bg_color: if($variant == 'light', rgba(255,255,255,0.9), transparentize(darken(desaturate(#3d3846,
100%), 12%),0.04));
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
-$osd_borders_color: transparentize(black, 0.3);
-$osd_outer_borders_color: transparentize(white, 0.84);
+$osd_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.7));
+$osd_outer_borders_color: if($variant == 'light', rgba(0,0,0,0.1), lighten($osd_bg_color, 7%));
-$tooltip_borders_color: $osd_outer_borders_color;
-$shadow_color: transparentize(black, 0.9);
+$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
-$insensitive_borders_color: $borders_color;
+$insensitive_borders_color: mix($borders_color, $base_color, 60%);
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%));
@@ -42,4 +40,4 @@ $backdrop_bg_color: $bg_color;
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%),
lighten($backdrop_bg_color,15%));
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
-$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
+$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
\ No newline at end of file
diff --git a/_common.scss b/_common.scss
index d414830..bb80f9a 100644
--- a/_common.scss
+++ b/_common.scss
@@ -23,2209 +23,219 @@ $cakeisalie: "This stylesheet is generated, DO NOT EDIT";
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
*/
-/* GLOBALS */
+/* Global Values */
+// padding, margin and spacing
+$base_padding: 6px;
+$base_margin: 4px;
+$base_spacing: 6px;
-$modal_radius: 9px;
-$button_radius: 5px;
-$panel-corner-radius: $button_radius + 1;
+// border radii
+$base_border_radius: 5px;
-$_trough_color: transparentize($fg_color, 0.9);
-$_bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
-$_hover_bg_color: lighten($bg_color,if($variant=='light', 5%, 3%));
-$_active_bg_color: if($variant == 'light', darken($bg_color, 14%), darken($bg_color, 9%));
+$modal_radius:$base_border_radius * 2;
-$font-size: 11;
+// non-standard colors
+$bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
+// $bubble_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
-stage {
- @include fontsize($font-size);
- color: $fg_color;
-}
-
-/* WIDGETS */
-
-/* Buttons */
-.button, %button {
- border-radius: $button_radius;
- border-width: 1px;
- min-height: 22px;
- padding: 4px 32px;
- @include button(normal);
- &:focus { @include button(focus, $c:$_hover_bg_color, $tc:$fg_color); }
- &:hover { @include button(hover, $c:$_hover_bg_color, $tc:$fg_color); }
- &:insensitive { @include button(insensitive); }
- &:active { @include button(active, $c:$_active_bg_color, $tc:$fg_color); }
-}
-
-.modal-dialog-linked-button, %bubble_button {
- border-right-width: 1px;
- @include button(normal, $c:$bg_color, $tc:$fg_color);
- &:insensitive { @include button(insensitive, $c:$bg_color, $tc:$fg_color); }
- &:hover { @include button(hover, $c:$_hover_bg_color, $tc:$fg_color); }
- &:focus { @include button(focus, $c:$_hover_bg_color, $tc:$fg_color); }
- &:active { @include button(active, $c:$_active_bg_color, $tc:$fg_color); }
- padding: 12px;
- border-top: 1px solid $_bubble_borders_color;
-
- &:first-child {
- border-radius: 0px 0px 0px $modal_radius;
- }
- &:last-child {
- border-right-width: 0px;
- border-radius: 0px 0px $modal_radius 0px;
- }
- &:first-child:last-child {
- border-right-width: 0px;
- border-radius: 0px 0px $modal_radius $modal_radius;
- }
-}
-
-/* Entries */
-StEntry {
- border-radius: $button_radius;
- padding: 4px;
- border-width: 1px;
- color: $fg_color;
- @include entry(normal);
- //&:hover { @include entry(hover);}
- &:focus { @include entry(focus,$fc:transparentize($fg_color,0.5));}
- &:insensitive { @include entry(insensitive);}
- selection-background-color: $selected_bg_color;
- selected-color: $selected_fg_color;
- StIcon.capslock-warning {
- icon-size: 16px;
- warning-color: $warning_color;
- padding: 0 4px;
- }
-
- StIcon.peek-password {
- icon-size: 1.09em;
- padding: 0 4px;
- }
-}
-
-
-/* Scrollbars */
-
-StScrollView {
- &.vfade { -st-vfade-offset: 68px; }
- &.hfade { -st-hfade-offset: 68px; }
-}
-
-StScrollBar {
- padding: 0;
-
- StScrollView & {
- min-width: 14px;
- min-height: 14px;
- }
-
- StBin#trough {
- border-radius: 0;
- background-color: transparent;
- }
-
- StButton#vhandle, StButton#hhandle {
- border-radius: 8px;
- background-color: mix($fg_color, $bg_color, 60%);
- //border: 3px solid transparent; //would be nice to margin or at least to transparent
- margin: 3px;
- &:hover { background-color: mix($fg_color, $bg_color, 80%); }
- &:active { background-color: $selected_bg_color; }
- }
-}
-
-/* Slider */
-
-.slider {
- height: 1em;
- -barlevel-height: 0.3em;
- -barlevel-background-color: transparentize($fg_color, 0.9); //background of the trough
- -barlevel-border-color: $borders_color; //trough border color
- -barlevel-active-background-color: $selected_bg_color; //active trough fill
- -barlevel-active-border-color: $selected_borders_color; //active trough border
- -barlevel-overdrive-color: $destructive_color;
- -barlevel-overdrive-border-color: darken($destructive_color,10%);
- -barlevel-overdrive-separator-width: 0.2em;
- -barlevel-border-width: 1px;
- -slider-handle-radius: 8px;
- -slider-handle-border-width: 1px;
- -slider-handle-border-color: $borders_color;
- color: if($variant == 'light', lighten($bg_color, 10%), darken($bg_color,4%));
- &:hover { color: $_hover_bg_color; }
- &:active { color: $_active_bg_color; }
-}
-
-/* Check Boxes */
-
-.check-box {
- StBoxLayout { spacing: .8em; }
- StBin {
- width: 24px;
- height: 22px;
- background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
- }
- &:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
- &:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
- &:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
-}
-
-/* Switches */
-.toggle-switch {
- color: $fg_color;
- width: 46px;
- height: 22px;
- background-size: contain;
- background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off.svg"),
- url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
- &:checked {
- background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on.svg"),
- url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
- }
-}
-
-/* links */
-.shell-link {
- color: $link_color;
- &:hover { color: lighten($link_color,10%); }
-}
-
-/* Modal Dialogs */
-
-.headline { font-size: 110%; }
-.lightbox { background-color: black; }
-.flashspot { background-color: white; }
-
-.modal-dialog {
- border-radius: $modal_radius;
- @extend %bubble-panel;
- .modal-dialog-content-box {
- padding: 24px;
- }
- .run-dialog-entry { width: 20em; margin-bottom: 6px; }
- .run-dialog-error-box {
- padding-top: 16px;
- spacing: 6px;
- }
- .run-dialog-button-box { padding-top: 1em; }
- .run-dialog-label {
- @include fontsize($font-size + 1.1);
- font-weight: normal;
- color: $fg_color;
- padding-bottom: .4em;
- }
-
-}
-
- .mount-dialog-subject,
- .end-session-dialog-subject { //this should be a generic header class
- @include fontsize($font-size * 1.3);
- }
-
-/* Message Dialog */
- .message-dialog-main-layout {
- padding: 12px 20px 0;
- spacing: 12px;
- }
-
- .message-dialog-content {
- max-width: 28em;
- spacing: 20px;
- }
-
- .message-dialog-icon {
- min-width: 48px;
- icon-size: 48px;
- }
-
- .message-dialog-title {
- font-weight: bold;
- }
-
- .message-dialog-subtitle {
- color: $fg_color;
- font-weight: bold;
- }
-
-/* End Session Dialog */
-.end-session-dialog {
- spacing: 42px;
- border: 1px solid $_bubble_borders_color;
-}
-
- .end-session-dialog-list {
- padding-top: 20px;
- }
-
- .end-session-dialog-layout {
- padding-left: 17px;
- &:rtl { padding-right: 17px; }
- }
-
- .end-session-dialog-description {
- width: 28em;
- padding-bottom: 10px;
- &:rtl {
- text-align: right;
- }
- }
-
- .end-session-dialog-warning {
- width: 28em;
- color: $warning_color;
- padding-top: 6px;
- &:rtl {
- text-align: right;
- }
- }
-
- .end-session-dialog-logout-icon {
- border-radius: 99px;
- width: 48px;
- height: 48px;
- background-size: contain;
- }
-
- .end-session-dialog-shutdown-icon {
- color: $fg_color;
- width: 48px;
- height: 48px;
- }
-
- .end-session-dialog-inhibitor-layout {
- spacing: 16px;
- max-height: 200px;
- padding-right: 65px;
- padding-left: 65px;
- }
-
- .end-session-dialog-session-list,
- .end-session-dialog-app-list {
- spacing: 1em;
- }
-
- .end-session-dialog-list-header {
- font-weight: bold;
- &:rtl { text-align: right; }
- }
-
- .end-session-dialog-app-list-item,
- .end-session-dialog-session-list-item {
- spacing: 1em;
- }
-
- .end-session-dialog-app-list-item-name,
- .end-session-dialog-session-list-item-name {
- font-weight: bold;
- }
-
- .end-session-dialog-app-list-item-description {
- color: darken($fg_color,5%);
- font-size: 10pt;
- }
-
-/* ShellMountOperation Dialogs */
-.shell-mount-operation-icon { icon-size: 48px; }
-
- .mount-dialog {
- spacing: 24px;
-
- .message-dialog-title {
- padding-top: 10px;
- padding-left: 17px;
- padding-bottom: 6px;
- max-width: 34em;
- }
-
- .message-dialog-title:rtl {
- padding-left: 0px;
- padding-right: 17px;
- }
-
- .message-dialog-body {
- padding-left: 17px;
- width: 28em;
- }
-
- .message-dialog-body:rtl {
- padding-left: 0px;
- padding-right: 17px;
- }
- }
-
- .mount-dialog-app-list {
- max-height: 200px;
- padding-top: 24px;
- padding-left: 49px;
- padding-right: 32px;
- }
-
- .mount-dialog-app-list:rtl {
- padding-right: 49px;
- padding-left: 32px;
- }
-
- .mount-dialog-app-list-item {
- color: lighten($fg_color,10%);
- &:hover { color: $fg_color; }
- &:ltr { padding-right: 1em; }
- &:rtl { padding-left: 1em; }
- }
-
- .mount-dialog-app-list-item-icon {
- &:ltr { padding-right: 17px; }
- &:rtl { padding-left: 17px; }
- }
-
- .mount-dialog-app-list-item-name {
- font-size: 10pt;
- }
-
-
-/* Password or Authentication Dialog */
-
-.prompt-dialog {
- @extend %bubble-panel;
- //this is the width of the entire modal popup
- width: 34em;
-
- .message-dialog-main-layout { spacing: 24px; padding: 10px; }
- .message-dialog-content { spacing: 16px; }
- .message-dialog-title { color: lighten($fg_color,15%); }
-}
-
- .prompt-dialog-description:rtl {
- text-align: right;
- }
-
- .prompt-dialog-password-box {
- spacing: 1em;
- padding-bottom: 1em;
- }
-
- .prompt-dialog-error-label {
- font-size: 10pt;
- color: $warning_color;
- padding-bottom: 8px;
- }
-
- .prompt-dialog-caps-lock-warning {
- @extend .prompt-dialog-error-label;
- padding-left: 6.2em;
- }
-
- .prompt-dialog-info-label {
- font-size: 10pt;
- padding-bottom: 8px;
- }
-
- .hidden {
- color: rgba(0,0,0,0);
- }
-
- .prompt-dialog-null-label {
- font-size: 10pt;
- padding-bottom: 8px;
- }
-
- .prompt-dialog-pim-box {
- spacing: 1em;
- }
-
- .prompt-dialog-grid {
- spacing-rows: 15px;
- spacing-columns: 1em;
- }
-
- .prompt-dialog-keyfiles-box {
- spacing: 1em;
- }
-
- .prompt-dialog-button.button {
- padding: 8px;
- }
-
-
-/* Polkit Dialog */
-
-.polkit-dialog-user-layout {
- padding-left: 10px;
- spacing: 10px;
- &:rtl {
- padding-left: 0px;
- padding-right: 10px;
- }
-}
-
- .polkit-dialog-user-root-label {
- color: $warning_color;
- }
-
- .polkit-dialog-user-icon {
- border-radius: 99px;
- background-size: contain;
- width: 48px;
- height: 48px;
- }
-
-/* Audio selection dialog */
-.audio-device-selection-dialog {
- @extend %bubble-panel;
- spacing: 30px;
-}
-
- .audio-selection-content {
- spacing: 20px;
- padding: 24px;
- }
-
- .audio-selection-title {
- font-weight: bold;
- text-align: center;
- }
-
- .audio-selection-box {
- spacing: 20px;
- }
-
- .audio-selection-device {
- border: 1px solid $_bubble_borders_color;
- border-radius: 12px;
- &:hover,&:focus { background-color: $_hover_bg_color; }
- &:active {
- background-color: $selected_bg_color;
- color: $selected_fg_color;
- }
- }
-
- .audio-selection-device-box {
- padding: 20px;
- spacing: 20px;
- }
-
- .audio-selection-device-icon {
- icon-size: 64px;
- }
-
-/* Access Dialog */
-.access-dialog {
- @extend %bubble-panel;
- spacing: 30px;
-}
-
-/* Geolocation Dialog */
-.geolocation-dialog {
- @extend %bubble-panel;
- spacing: 30px;
-}
-
-/* Extension Dialog */
-.extension-dialog {
- @extend %bubble-panel;
- .message-dialog-main-layout { spacing: 24px; padding: 10px; }
- .message-dialog-title { font-weight: normal; color: $fg_color; }
-}
-
-/* Inhibit-Shortcuts Dialog */
-.inhibit-shortcuts-dialog {
- @extend %bubble-panel;
- spacing: 30px;
-}
-
-/* Network Agent Dialog */
-
-.network-dialog-secret-table {
- spacing-rows: 15px;
- spacing-columns: 1em;
-}
-
-.keyring-dialog-control-table {
- spacing-rows: 15px;
- spacing-columns: 1em;
-}
-
-/* Popovers/Menus */
-
-.popup-menu {
- min-width: 15em;
- color: $fg_color;
- border-color: $_bubble_borders_color;
-
- .popup-menu-arrow { } //defined globally in the TOP BAR
- .popup-sub-menu {
- background-color: darken($bg_color,5%);
- box-shadow: inset 0 -1px 0px $_bubble_borders_color;
- }
-
- .popup-menu-content { padding: 1em 0em; }
- .popup-menu-item {
- spacing: 12px;
-
- &:ltr { padding: .4em 1.75em .4em 0em; }
- &:rtl { padding: .4em 0em .4em 1.75em; }
- &:checked {
- background-color: $bg_color;
- box-shadow: inset 0 -1px 0px $_bubble_borders_color;
- font-weight: bold;
- }
- &.selected {
- background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
- color: $fg_color;
- }
- &:active {
- background-color: $selected_bg_color;
- color: $selected_fg_color;
- }
- &:insensitive { color: transparentize($fg_color,.5); }
- }
-
- .popup-inactive-menu-item { //all icons and other graphical elements
- color: $fg_color;
-
- &:insensitive { color: transparentize($fg_color,0.5); }
- }
- //.popup-status-menu-item { font-weight: normal; color: pink; } //dunno what that is
- &.panel-menu {
- -boxpointer-gap: 4px;
- margin-bottom: 1.75em;
- }
-}
-
-
-
- .popup-menu-ornament {
- text-align: right;
- width: 1.2em;
- }
- .popup-menu-boxpointer,
- .candidate-popup-boxpointer {
- -arrow-border-radius: $button_radius+4;
- -arrow-background-color: $bg_color;
- -arrow-border-width: 1px;
- -arrow-border-color: if($variant=='light', transparentize(black, 0.6), $borders_color);
- -arrow-base: 24px;
- -arrow-rise: 11px;
- -arrow-box-shadow: 0 1px 3px black; //dreaming. bug #689995
- }
-
- .popup-separator-menu-item {
- //-margin-horizontal: 24px;
- height: 1px; //not really the whole box
- margin: 6px 64px;
- background-color: transparent;
- border-color: $_bubble_borders_color;
- border-bottom-width: 1px;
- border-bottom-style: solid;
- }
-
-// Rename popup
-.rename-folder-popup {
- .rename-folder-popup-item {
- spacing: 6px;
- &:ltr, &:rtl { padding: 0, 12px; }
- }
-}
-
-// Background menu
-.background-menu { -boxpointer-gap: 4px; -arrow-rise: 0px; }
-
-/* fallback menu
-- odd thing for styling App menu when apparently not running under shell. Light Adwaita styled
- app menu inside the main app window itself rather than the top bar
-*/
-
-/*************
- * App Icons *
- *************/
-/* Outline for low res icons */
-.lowres-icon {
- icon-shadow: 0 1px 2px rgba(0,0,0,0.3);
-}
-
-/* Drapshadow for large icons */
-.icon-dropshadow {
- icon-shadow: 0 1px 2px rgba(0,0,0,0.4);
-}
-
-/* OSD */
-.osd-window {
- text-align: center;
- font-weight: bold;
- spacing: 1em;
- margin: 32px;
- min-width: 64px;
- min-height: 64px;
-
- .osd-monitor-label { font-size: 3em; }
- .level {
- height: 0.6em;
- -barlevel-height: 0.6em;
- -barlevel-background-color: transparentize($fg_color, if($variant=='light', 0.2, 0.9));
- -barlevel-active-background-color: $osd_fg_color;
- -barlevel-overdrive-color: $destructive_color;
- -barlevel-overdrive-separator-width: 0.2em;
- }
-}
-
-/* Pad OSD */
-.pad-osd-window {
- padding: 32px;
- background-color: transparentize(black, 0.2);
-
- .pad-osd-title-box { spacing: 12px; }
- .pad-osd-title-menu-box { spacing: 6px; }
-}
-
-.combo-box-label {
- width: 15em;
-}
-
-/* App Switcher */
-.switcher-popup {
- padding: 8px;
- spacing: 16px;
-}
-
-.osd-window,
-.resize-popup,
-.switcher-list {
- @extend %osd-panel;
-}
-
- .switcher-list-item-container { spacing: 8px; }
-
- .switcher-list .item-box {
- padding: 8px;
- border-radius: 4px;
- }
-
- .switcher-list .item-box:outlined {
- padding: 6px;
- border: 2px solid darken($borders_color,10%);
- }
-
- .switcher-list .item-box:selected {
- background-color: transparentize($osd_fg_color, 0.7);
- color: $selected_fg_color;
- }
-
- .switcher-list .thumbnail-box {
- padding: 2px;
- spacing: 4px;
- }
-
- .switcher-list .thumbnail {
- width: 256px;
- }
-
- .switcher-list .separator {
- width: 1px;
- background: $borders_color;
- }
-
- .switcher-arrow {
- border-color: rgba(0,0,0,0);
- color: transparentize($fg_color,0.2);
- &:highlighted {
- color: $fg_color;
- }
- }
-
- .input-source-switcher-symbol {
- font-size: 34pt;
- width: 96px;
- height: 96px;
- }
-
-/* Window Cycler */
-.cycler-highlight { border: 5px solid $selected_bg_color; }
-
-/* Workspace Switcher */
-.workspace-switcher-group { padding: 12px; }
-
- .workspace-switcher-container {
- @extend %osd-panel;
- }
-
- .workspace-switcher {
- background: transparent;
- border: 0px;
- border-radius: 0px;
- padding: 0px;
- spacing: 8px;
- }
-
- .ws-switcher-active-up, .ws-switcher-active-down,
- .ws-switcher-active-left, .ws-switcher-active-right {
- height: 52px;
- background-color: $selected_bg_color;
- color: $selected_fg_color;
- background-size: 32px;
- border-radius: 8px;
- }
-
- .ws-switcher-box {
- height: 50px;
- border: 1px solid transparentize($osd_fg_color,0.9);
- background: transparent;
- border-radius: 8px;
- }
-
-%osd-panel {
- color: $osd_fg_color;
- background-color: $osd_bg_color;
- border: 1px solid $osd_outer_borders_color;
- border-radius: 12px;
- padding: 12px;
-}
-
-%bubble-entry {
- color: $fg_color;
- background-color: darken($bg_color, 2%);
- border-color: $_bubble_borders_color;
- box-shadow: none;
- &:focus { border: 2px solid $selected_bg_color; }
-}
-
-%bubble-panel {
- color: $fg_color;
- background-color: $bg_color;
- border: 1px solid if($variant=='light', transparentize(black, 0.6), $borders_color);
-
- StEntry { @extend %bubble-entry; }
- .button {
- &, &:hover, &:focus, &:active, &:disabled {
- box-shadow: none;
- border-color: $_bubble_borders_color;
- }
- background-color: $bg_color;
- color: $fg_color;
- &:hover { background-color: $_hover_bg_color; }
- &:active {
- background-color: $selected_bg_color;
- color: $selected_fg_color;
- }
- &:disabled { color: $insensitive_fg_color; }
- }
-}
-
-/* Tiled window previews */
-.tile-preview {
- background-color: transparentize($selected_bg_color,0.5);
- border: 1px solid $selected_bg_color;
-}
-
- .tile-preview-left.on-primary {
- border-radius: $panel-corner-radius 0 0 0;
- }
-
- .tile-preview-right.on-primary {
- border-radius: 0 $panel-corner-radius 0 0;
- }
-
- .tile-preview-left.tile-preview-right.on-primary {
- border-radius: $panel-corner-radius $panel-corner-radius 0 0;
- }
-
-/* TOP BAR */
-
-#panel {
- background-color: black;
- font-weight: bold;
- height: 1.86em;
- font-feature-settings: "tnum";
-
- &.unlock-screen,
- &.login-screen,
- &.lock-screen {
- background-color: transparent;
- }
-
- #panelLeft, #panelCenter { // spacing between activities<>app menu and such
- spacing: 4px;
- }
-
- .panel-corner {
- -panel-corner-radius: $panel-corner-radius;
- -panel-corner-background-color: black;
- -panel-corner-border-width: 2px;
- -panel-corner-border-color: transparent;
-
- &:active, &:overview, &:focus {
- -panel-corner-border-color: lighten($selected_bg_color,5%);
- }
-
- &.lock-screen, &.login-screen, &.unlock-screen {
- -panel-corner-radius: 0;
- -panel-corner-background-color: transparent;
- -panel-corner-border-color: transparent;
- }
- }
-
- .panel-button {
- -natural-hpadding: 12px;
- -minimum-hpadding: 6px;
- font-weight: bold;
- color: #ccc;
-
- .app-menu-icon {
- -st-icon-style: symbolic;
- margin-left: 4px;
- margin-right: 4px;
- //dimensions of the icon are hardcoded
- }
-
- &:hover {
- color: $selected_fg_color;
- }
-
- &:active, &:overview, &:focus, &:checked {
- // Trick due to St limitations. It needs a background to draw
- // a box-shadow
- background-color: rgba(0, 0, 0, 0.01);
- box-shadow: inset 0 -2px 0px lighten($selected_bg_color,5%);
- color: $selected_fg_color;
- }
-
- .system-status-icon { icon-size: 1.09em; padding: 0 5px; }
- .unlock-screen &,
- .login-screen &,
- .lock-screen & {
- color: lighten($fg_color, 10%);
- &:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
- }
- }
-
- .panel-status-indicators-box,
- .panel-status-menu-box {
- spacing: 2px;
- }
-
- // spacing between power icon and (optional) percentage label
- .power-status.panel-status-indicators-box {
- spacing: 0;
- }
-
- .screencast-indicator { color: $warning_color; }
-
- .remote-access-indicator { color: $warning_color; }
-}
-
- // calendar popover
- #calendarArea {
- padding: 0.75em 1.0em;
- }
-
- .calendar {
- margin-bottom: 1em;
- }
-
- .calendar,
- .datemenu-today-button,
- .datemenu-displays-box,
- .message-list-sections {
- margin: 0 1.5em;
- }
-
- .datemenu-calendar-column { spacing: 0.5em; }
- .datemenu-displays-section { padding-bottom: 3em; }
- .datemenu-displays-box { spacing: 1em; }
-
- .datemenu-calendar-column {
- border: 0 solid $_bubble_borders_color;
- &:ltr { border-left-width: 1px; }
- &:rtl { border-right-width: 1px; }
- }
-
- .datemenu-today-button,
- .world-clocks-button,
- .weather-button,
- .events-section-title {
- border-radius: 4px;
- padding: .4em;
- }
-
- .message-list-section-list:ltr {
- padding-left: .4em;
- }
-
- .message-list-section-list:rtl {
- padding-right: .4em;
- }
-
- .datemenu-today-button,
- .world-clocks-button,
- .weather-button,
- .events-section-title {
- &:hover, &:focus { background-color: $_hover_bg_color }
- &:active { background-color: $_active_bg_color }
- }
-
- .datemenu-today-button .day-label {
- }
-
- .datemenu-today-button .date-label {
- font-size: 1.5em;
- font-weight: 300;
- }
-
- .world-clocks-header,
- .weather-header,
- .events-section-title {
- color: darken($fg_color,40%);
- font-weight: bold;
- }
-
- .weather-header.location {
- font-weight: normal;
- font-size: 0.9em;
- }
-
- .world-clocks-grid,
- .weather-grid {
- spacing-rows: 0.4em;
- spacing-columns: 0.8em;
- }
-
- .weather-header-box,
- .weather-box {
- spacing: 0.4em;
- }
-
- .world-clocks-city {
- font-weight: bold;
- font-size: 0.9em;
- }
-
- .world-clocks-time {
- color: darken($fg_color,20%);
- font-feature-settings: "tnum";
- font-size: 1.2em;
- }
-
- .world-clocks-timezone {
- color: $fg_color;
- font-feature-settings: "tnum";
- font-size: 0.9em;
- }
- .weather-forecast-icon {
- icon-size: 2.18em;
- }
+// hover
+$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 5%));
+$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
+$hover_borders_color: lighten($borders_color,if($variant=='light', 5%, 3%));
- .weather-forecast-time {
- color: darken($fg_color,40%);
- font-size: 0.8em;
- }
+// active
+$active_bg_color: if($variant == 'light', darken($bg_color, 7%), darken($bg_color, 9%));
+$active_fg_color: darken($fg_color,if($variant=='light', 5%, 3%));
+$active_borders_color: darken($borders_color,if($variant=='light', 5%, 3%));
- .calendar-month-label {
- color: lighten($fg_color,5%);
- font-weight: bold;
- padding: 8px 0;
- &:focus {}
- }
+// fonts
+$base_font_size: 11;
+$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
- .pager-button {
- background-color: transparent;
- width: 32px;
- border-radius: 4px;
- &:hover, &:focus { background-color: $_hover_bg_color; }
- &:active { background-color: transparentize($fg_color, 0.84); }
- }
+// icons
+$base_icon_size: 1.09em;
+// $base_icon_size: 16px;
- .calendar-change-month-back StIcon, .calendar-change-month-forward StIcon { // arrows
- icon-size: 1.09em;
- }
-
- .calendar-day-base {
- font-size: 80%;
- text-align: center;
- width: 2.4em; height: 2.4em;
- padding: 0.1em;
- margin: 2px;
- border-radius: 1.4em;
- font-feature-settings: "tnum";
- &:hover, &:focus { background-color: $_hover_bg_color; }
- &:active,&:selected {
- color: lighten($selected_fg_color,5%);
- background-color: $selected_bg_color;
- border-color: transparent; //avoid jumparound due to today
- }
- &.calendar-day-heading { //day of week heading
- color: lighten($fg_color,5%);
- margin-top: 1em;
- font-size: 70%;
- }
- }
- .calendar-day { //border collapse hack - see calendar.js
- border-width: 0;
- }
- .calendar-day-top { border-top-width: 1px; }
- .calendar-day-left { border-left-width: 1px; }
- .calendar-work-day {
-
- }
- .calendar-nonwork-day {
- color: $insensitive_fg_color;
- }
- .calendar-today {
- font-weight: bold;
- color: lighten($fg_color,5%);
- background-color: darken($bg_color,5%);
- // border: 1px solid lighten($_bubble_borders_color,20%);
- }
- .calendar-day-with-events {
- color: lighten($fg_color,10%);
- font-weight: bold;
- background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
- }
- .calendar-other-month-day {
- color: transparentize($fg_color ,0.5);
- opacity: 0.5;
- }
- .calendar-week-number {
- font-size: 70%;
- font-weight: bold;
- width: 2.3em; height: 1.8em;
- border-radius: 2px;
- padding: 0.5em 0 0;
- margin: 6px;
- background-color: $_bubble_borders_color;
- color: $fg_color;
- }
-
- /* Message list */
- .message-list {
- width: 31.5em;
- }
-
- .message-list-clear-button.button {
- @extend %button;
- margin: 1.5em 1.5em 0;
- }
-
- .message-list-sections {
- spacing: 1em;
- }
-
- .message-list-section,
- .message-list-section-list {
- spacing: 0.4em;
- }
-
- .message {
- border: 1px solid $_bubble_borders_color;
- background-color: lighten($bg_color, 2%);
- &:hover,&:focus { background-color: $_hover_bg_color; }
- &:active { background-color: transparentize($fg_color, 0.84) }
- border-radius: 5px;
- }
-
- .message-icon-bin {
- padding: 0.68em 0.2em 0.68em 0.68em;
- &:rtl { padding: 0.68em 0.68em 0.68em 0.2em; }
- }
-
- .message-icon-bin > StIcon {
- color: $fg_color;
- icon-size: 1.09em;
- -st-icon-style: symbolic;
- }
-
- .message-icon-bin > .fallback-window-icon {
- width: 1.09em;
- height: 1.09em;
- }
-
- .message-secondary-bin {
- padding: 0 0.82em;;
- }
-
- .message-secondary-bin > .event-time {
- color: $fg_color;
- font-size: 0.7em;
- /* HACK: the label should be baseline-aligned with a 1em label,
- fake this with some bottom padding */
- padding-bottom: 0.13em;
- }
-
- .message-secondary-bin > StIcon {
- icon-size: 1.09em;
- }
-
- .message-title {
- color: $fg_color;
- }
-
- .message-content {
- color: darken($fg_color, 10%);
- padding: 10px;
- }
-
- .message-close-button {
- color: lighten($fg_color, 15%);
- &:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
- &:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
- }
-
- .message-media-control {
- padding: 12px;
- color: lighten($fg_color, 15%);
-
- &:last-child:ltr { padding-right: 18px; }
- &:last-child:rtl { padding-left: 18px; }
- &:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
- &:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
- &:insensitive { color: if($variant=='light', lighten($fg_color, 50%), darken($fg_color, 40%)); }
- }
-
- .media-message-cover-icon {
- icon-size: 48px !important;
- &.fallback {
- color: lighten($fg_color,10%);
- background-color: $bg_color;
- border: 1px solid $bg_color;
- border-radius: 2px;
- icon-size: 32px !important;
- padding: 6px; }
- }
-
-
- // a little unstructured mess:
-
- #appMenu {
- spacing: 4px;
-
- .label-shadow { color: transparent; }
- }
-
- .app-menu,
- .app-well-menu {
- max-width: 27.25em;
- }
-
- .aggregate-menu {
- min-width: 21em;
- .popup-menu-icon { padding: 0 4px;
- -st-icon-style: symbolic; }
- .popup-sub-menu .popup-menu-item > :first-child {
- &:ltr { /* 12px spacing + 2*4px padding */
- padding-left: 20px; margin-left: 1.09em; }
- &:rtl { /* 12px spacing + 2*4px padding */
- padding-right: 20px; margin-right: 1.09em; }
- }
- }
-
-// Activities Ripples
-.ripple-box {
- width: 52px;
- height: 52px;
- border-radius: 0 0 52px 0; // radius the size of the box give us the curve
- background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
- box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
-}
-
-.ripple-box:rtl { border-radius: 0 0 0 52px; } // just a simple change to the border radius position
-
-// Rubberband for select-area screenshots
-.select-area-rubberband {
- background-color: transparentize($selected_bg_color,0.7);
- border: 1px solid $selected_bg_color;
-}
-
-// Pointer location
-.ripple-pointer-location {
- width: 50px;
- height: 50px;
- border-radius: 25px 25px 25px 25px; // radius the size of the box give us the curve
- background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
- box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
-}
-
-// not really top bar only
-.popup-menu-arrow { icon-size: 1.09em; }
-.popup-menu-icon { icon-size: 1.09em; }
-
-//close buttons
-
-.window-close {
- background-color: $selected_bg_color;
- color: white;
- border-radius: 24px;
- border: 2px solid $selected_bg_color;
- height: 24px;
- width: 24px;
- -shell-close-overlap: 11px;
- box-shadow: -1px 1px 5px 0px transparentize(black, 0.5);
-
- &:hover {
- background-color: lighten($selected_bg_color, 5%);
- border-color: lighten($selected_bg_color, 5%);
- }
-
- &:active {
- background-color: darken($selected_bg_color, 5%);
- border-color: darken($selected_bg_color, 5%);
- }
-}
-
-// Pointer accessibility notifications
-.pie-timer {
- width: 60px;
- height: 60px;
- -pie-border-width: 3px;
- -pie-border-color: $selected_bg_color;
- -pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
-}
-
-/* NETWORK DIALOGS */
-
-.nm-dialog {
- @extend %bubble-panel;
- max-height: 34em;
- min-height: 31em;
- min-width: 32em;
-}
-
- .nm-dialog-content {
- spacing: 20px;
- padding: 24px;
- }
- .nm-dialog-header-hbox { spacing: 10px; }
- .nm-dialog-airplane-box { spacing: 12px; }
-
- .nm-dialog-airplane-headline {
- font-weight: bold;
- text-align: center;
- }
-
- .nm-dialog-airplane-text { color: $fg_color; }
- .nm-dialog-header-icon { icon-size: 32px; }
- .nm-dialog-scroll-view { border: 2px solid $borders_color; }
- .nm-dialog-header { font-weight: bold; }
-
- .nm-dialog-item {
- font-size: 110%;
- border-bottom: 1px solid $borders_color;
- padding: 12px;
- spacing: 20px;
- }
-
- .nm-dialog-item:selected {
- background-color: $selected_bg_color;
- color: $selected_fg_color;
- }
-
- .nm-dialog-icons { spacing: .5em; }
- .nm-dialog-icon { icon-size: 16px; }
- .no-networks-label { color: #999999; }
- .no-networks-box { spacing: 12px; }
-
-/* OVERVIEW */
-
-#overview {
- spacing: 24px; //
-}
-
-.overview-controls {
- padding-bottom: 32px;
-}
-
- .window-picker { //container around window thumbnails
- -horizontal-spacing: 16px;
- -vertical-spacing: 16px;
- padding: 0 16px 16px;
-
- &.external-monitor { padding: 16px; }
- }
-
- .window-clone-border {
- $_bg: transparentize(white, 0.65);
- border: 7px solid $_bg;
- border-radius: $modal_radius;
- // For window decorations with round corners we can't match
- // the exact shape when the window is scaled. So apply a shadow
- // to fix that case
- box-shadow: inset 0 0 0 1px $_bg;
-}
- .window-caption {
- spacing: 25px;
- color: $selected_fg_color;
- background-color: $selected_bg_color;
- border-radius: 8px;
- padding: 4px 12px;
- }
-
- //search entry
- .search-entry, %search_entry {
- width: 320px;
- padding: 7px 9px;
- border-radius: 18px;
- color: $fg_color;
- background-color: $base_color;
- border-color: $borders_color;
- &:focus {
- padding: 6px 8px;
- border-width: 2px;
- border-color: $selected_bg_color;
- }
-
- .search-entry-icon { icon-size: 1em; padding: 0 4px; color: $fg_color; }
-
- &:hover, &:focus {
- .search-entry-icon { color: transparentize($fg_color,.3); }
- }
- }
-
- //search results
-
- #searchResultsContent {
- max-width: 1000px;
- padding-left: 20px;
- padding-right: 20px;
- spacing: 16px;
- }
-
- .search-section { spacing: 16px; } // This should be equal to #searchResultsContent spacing
- .search-section-content { spacing: 32px; } // This is the space between the provider icon and the results
container
- .search-statustext { // "no results"
- @extend %status_text;
- }
- .list-search-results { spacing: 3px; }
-
- .search-section-separator { height: 2px; background-color: rgba(255, 255, 255, 0.2); }
-
- .search-section:last-child .search-section-separator { background-color: transparent; }
-
- .list-search-result-content { spacing: 30px; }
- .list-search-result-title { color: darken($osd_fg_color,5%); spacing: 12px; }
- .list-search-result-description { color: darken($osd_fg_color, 30%); }
- .list-search-provider-details { width: 150px; color: darken($osd_fg_color,5%); margin-top: 0.24em; }
- .list-search-provider-content { spacing: 20px; }
- .search-provider-icon { padding: 15px; }
-
-
- /* DASHBOARD */
-
- #dash {
- @extend %overview-panel;
- font-size: 9pt;
- padding: 4px 0;
- border-radius: 0px 9px 9px 0px;
-
- &:rtl {
- border-radius: 9px 0 0 9px;
- }
-
- .placeholder {
- background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
- background-size: contain;
- height: 24px;
- }
-
- .empty-dash-drop-target {
- width: 24px;
- height: 24px;
- }
-
- }
-
- .dash-item-container > StWidget {
- padding: 4px 8px;
- }
-
- .dash-label { //osd tooltip
- border-radius: 7px;
- padding: 4px 12px;
- color: $osd_fg_color;
- background-color: transparentize($osd_bg_color,0.05);
- border: 1px solid $osd_outer_borders_color;
- text-align: center;
- -x-offset: 8px;
- }
-
- /* App Vault/Grid */
- .icon-grid {
- spacing: 30px;
- -shell-grid-horizontal-item-size: 136px;
- -shell-grid-vertical-item-size: 136px;
-
- .overview-icon { icon-size: 96px; }
- }
- //.app-display { spacing: 20px; }
-
- .system-action-icon {
- background-color: black;
- color: white;
- border-radius: 99px;
- icon-size: 48px;
- }
-
- .app-view-controls { //favorties | all toggle container
- padding-bottom: 32px;
- }
- .app-view-control { //favorties | all toggle button
- padding: 4px 32px;
- margin: 0 4px;
- &, &:hover, &:checked { @include button(undecorated); }
-
- &, &:hover { color: darken($osd_fg_color, 25%); }
-
- &:hover { box-shadow: inset 0 -2px darken($osd_fg_color, 25%); }
-
- &:active {
- box-shadow: inset 0 -2px $osd_fg_color;
- }
-
- &:checked {
- color: $osd_fg_color;
- box-shadow: inset 0 -2px $selected_bg_color;
- }
-
- &:first-child {
- border-right-width: 0;
- border-radius: 0;
- }
-
- &:last-child {
- border-radius: 0;
- }
- }
-
- //Icon tile
- .search-provider-icon,
- .list-search-result {
- @extend %icon_tile;
- &:focus, &:selected, &:hover {
- background-color: transparentize($osd_fg_color,.9);
- transition-duration: 200ms;
- }
- &:active, &:checked { background-color: transparentize(darken($osd_bg_color,10%),.1); }
- }
- .app-well-app,
- .app-well-app.app-folder,
- .show-apps,
- .grid-search-result {
- & .overview-icon {
- @extend %icon_tile;
- }
- &:hover .overview-icon,
- &:focus .overview-icon,
- &:selected .overview-icon {
- background-color: transparentize($osd_fg_color,.9);
- transition-duration: 0ms;
- border-image: none;
- background-image: none;
- }
- &:drop .overview-icon {
- background-color: transparentize($selected_bg_color,.15);
- }
- &:active .overview-icon,
- &:checked .overview-icon {
- background-color: transparentize(darken($osd_bg_color,10%), 0.5);
- }
- }
-
- .app-well-app-running-dot { //running apps indicator
- width: 10px; height: 3px;
- background-color: $selected_bg_color;
- margin-bottom: 2px;
- }
-
- %icon_tile {
- color: $osd_fg_color;
- border-radius: $button_radius+4;
- padding: 6px;
- border: 1px solid transparent;
- transition-duration: 100ms;
- text-align: center;
- }
-
- .app-well-app.app-folder > .overview-icon {
- background-color: transparentize($osd_bg_color,.6);
- }
-
- .show-apps:checked .show-apps-icon,
- .show-apps:focus .show-apps-icon {
- color: white;
- transition-duration: 100ms;
- }
-
-
- // Collections
- .app-folder-popup { //expanded collection
- -arrow-border-radius: 8px;
- -arrow-background-color: transparentize(darken($osd_bg_color,10%), 0.5);
- -arrow-base: 24px;
- -arrow-rise: 11px;
- }
- .app-folder-popup-bin { padding: 5px; }
- .app-folder-icon {
- padding: 5px;
- spacing-rows: 5px;
- spacing-columns: 5px;
- }
-
- .page-indicator {
- padding: 7px 16px;
-
- .page-indicator-icon {
- width: 12px;
- height: 12px;
- background-color: white;
- border-radius: 6px;
- }
- }
-
- .no-frequent-applications-label { @extend %status_text; }
-
- .app-well-app > .overview-icon.overview-icon-with-label,
- .grid-search-result .overview-icon.overview-icon-with-label {
- padding: 10px 8px 5px 8px;
- spacing: 4px;
- }
-
- // Workspace pager
- .workspace-thumbnails { //container ala dash
- @extend %overview-panel;
- visible-width: 32px; //amount visible before hover
- spacing: 11px;
- padding: 8px;
- border-radius: 9px 0 0 9px;
- //border-width: 1px 0 1px 1px; //fixme: can't have non unoform borders :(
- &:rtl { border-radius: 0 9px 9px 0;}
-
- .placeholder {
- background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
- background-size: contain;
- height: 24px;
- }
- }
- .workspace-thumbnail-indicator {
- border: 2px solid $selected_bg_color;
- padding: 1px;
- }
-
- //Some hacks I don't even
- .all-apps,
- .frequent-apps > StBoxLayout {
- // horizontal padding to make sure scrollbars or dash don't overlap content
- padding: 0px 88px 10px 88px;
- }
-
-%overview-panel {
- color: $osd_fg_color;
- background-color: transparentize($osd_bg_color, 0.1);
- border: none;
+// Stage
+stage {
+ @include fontsize($base_font_size);
+ color: $fg_color;
}
+/* WIDGETS */
+@import 'widgets/app-grid';
+@import 'widgets/app-switcher';
+@import 'widgets/buttons';
+@import 'widgets/calendar';
+@import 'widgets/check-box';
+@import 'widgets/corner-ripple';
+@import 'widgets/dash';
+@import 'widgets/dialogs';
+@import 'widgets/end-session-dialog';
+@import 'widgets/entries';
+@import 'widgets/hotplug';
+@import 'widgets/ibus-popup';
+@import 'widgets/keyboard';
+@import 'widgets/login-dialog';
+@import 'widgets/looking-glass';
+@import 'widgets/message-list';
+@import 'widgets/notifications';
+@import 'widgets/misc';
+@import 'widgets/network-dialog';
+@import 'widgets/osd';
+@import 'widgets/overview';
+@import 'widgets/panel';
+@import 'widgets/popovers';
+@import 'widgets/screen-shield';
+@import 'widgets/scrollbars';
+@import 'widgets/search-entry';
+@import 'widgets/search-results';
+@import 'widgets/search-results';
+@import 'widgets/slider';
+@import 'widgets/switches';
+@import 'widgets/tiled-previews';
+@import 'widgets/window-picker';
+@import 'widgets/workspace-switcher';
+
+/* Common Stylings */
+
+// Text
%status_text {
- font-size: 2em;
- font-weight: bold;
- color: $osd_fg_color;
-}
-
-/* NOTIFICATIONS & MESSAGE TRAY */
-
- .url-highlighter { link-color: lighten($selected_bg_color,10%); }
-
- // Banners
- .notification-banner {
- font-size: 11pt;
- width: 34em;
- margin: 5px;
- border-radius: $modal_radius;
- border: if($variant == 'light', none, $_bubble_borders_color);
- min-height: 64px;
- box-shadow: 0 1px 2px transparentize(black, 0.7);
- &:hover { background: $bg_color; }
- &, &:focus, &:active {
- background-color: $bg_color;
- .message-title { color: $fg_color }
- .message-content { color: $fg_color; }
- }
-
- .message-icon-bin > StIcon {
- color: $fg_color;
- }
-
- StEntry { @extend %bubble-entry; }
-
- .notification-icon { padding: 5px; }
- .notification-content { padding: 5px; spacing: 5px; }
- .secondary-icon { icon-size: 1.09em; }
- .notification-actions {
- padding-top: 0;
- color: $fg_color;
- border-top: 1px solid $_bubble_borders_color;
- spacing: 0px;
- }
- .notification-button {
- @extend %bubble_button;
- &:focus { box-shadow: none; }
- padding: 0 16px;
- min-height: 35px;
- border: none;
- }
- }
- .summary-source-counter {
- font-size: 10pt;
- font-weight: bold;
- height: 1.6em; width: 1.6em;
- -shell-counter-overlap-x: 3px;
- -shell-counter-overlap-y: 3px;
- background-color: $selected_bg_color;
- color: $selected_fg_color;
- border: 2px solid $fg_color;
- box-shadow: 0 2px 2px rgba(0,0,0,0.5);
- border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
- }
-
- .secondary-icon { icon-size: 1.09em; }
-
- //chat bubbles
- .chat-body { spacing: 5px; }
- .chat-response { margin: 5px; }
- .chat-log-message { color: darken($fg_color,10%); }
- .chat-new-group { padding-top: 1em; }
- .chat-received {
- padding-left: 4px;
- &:rtl { padding-left: 0px; padding-right: 4px; }
- }
- .chat-sent {
- padding-left: 18pt;
- color: lighten($fg_color, 15%);
- &:rtl { padding-left: 0; padding-right: 18pt; }
- }
- .chat-meta-message {
- padding-left: 4px;
- font-size: 9pt;
- font-weight: bold;
- color: lighten($fg_color,18%);
- &:rtl { padding-left: 0; padding-right: 4px; }
- }
-
- //hotplug
- .hotplug-transient-box {
- spacing: 6px;
- padding: 2px 72px 2px 12px;
- }
- .hotplug-notification-item {
- @extend %bubble_button;
- border: none; box-shadow: none;
- padding: 2px 10px;
- &:focus { padding: 1px 71px 1px 11px; }
- }
-
- .hotplug-notification-item-icon {
- icon-size: 24px;
- padding: 2px 5px;
- }
-
- .hotplug-resident-box { spacing: 8px; }
-
- .hotplug-resident-mount {
- spacing: 8px;
- border-radius: 4px;
- &:hover { background-color: $_hover_bg_color; }
- }
-
- .hotplug-resident-mount-label {
- color: inherit;
- padding-left: 6px;
- }
-
- .hotplug-resident-mount-icon {
- icon-size: 24px;
- padding-left: 6px;
- }
-
- .hotplug-resident-eject-icon {
- icon-size: 16px;
- }
-
- .hotplug-resident-eject-button {
- padding: 7px;
- border-radius: 5px;
- color: pink;
- }
-
-/* Eeeky things */
-
-//magnifier
-
-.magnifier-zoom-region {
- border: 2px solid $selected_bg_color;
- &.full-screen { border-width: 0; }
-}
-
-//Keyboard
-/* On-screen Keyboard */
-.word-suggestions {
- font-size: 14pt;
- spacing: 12px;
- min-height: 20pt;
-}
-
-#keyboard {
- background-color: transparentize($osd_bg_color, 0.3);
-
- .page-indicator {
- padding: 4px 4px;
-
- .page-indicator-icon {
- width: 8px;
- height: 8px;
- }
- }
-}
-
- .key-container {
- padding: 4px;
- spacing: 4px;
- }
-
- .keyboard-key {
- $_key_bg: opacify(lighten($osd_bg_color, 9%), 1);
- background-color: $_key_bg;
- min-height: 1.2em;
- min-width: 1.2em;
- font-size: 16pt;
- border-radius: $button_radius;
- border: 1px solid $osd_outer_borders_color;
- color: $osd_fg_color;
- &:focus { @include button(focus); }
- &:hover, &:checked { background-color: lighten($_key_bg, 3%); }
- &:active { background-color: darken($_key_bg, 2%); }
- &:grayed { //FIXME
- background-color: $osd_bg_color;
- color: $osd_fg_color;
- border-color: $osd_borders_color;
- }
- &.default-key {
- $_default_key_bg: opacify($osd_bg_color, 1);
- border-color: $osd_outer_borders_color;
- background-color: $_default_key_bg;
- background-size: 20px;
- &:hover, &:checked { background-color: lighten($_default_key_bg, 3%); }
- &:active { background-color: darken($_default_key_bg, 2%); }
- }
- &.enter-key {
- border-color: lighten($selected_bg_color, 5%);
- background-color: $selected_bg_color;
- background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
- &:hover, &:checked { background-color: lighten($selected_bg_color, 3%); }
- &:active { background-color: darken($selected_bg_color, 2%); }
- }
- &.shift-key-lowercase {
- background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");
- }
- &.shift-key-uppercase {
- background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");
- }
- &.shift-key-uppercase:latched {
- background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");
- }
- &.hide-key {
- background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");
- }
- &.layout-key {
- background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");
- }
- }
-
- .keyboard-subkeys { //long press on a key popup
- color: white;
- -arrow-border-radius: 10px;
- -arrow-background-color: transparentize($osd_bg_color, 0.3);
- -arrow-border-width: 2px;
- -arrow-border-color: $osd_outer_borders_color;
- -arrow-base: 20px;
- -arrow-rise: 10px;
- -boxpointer-gap: 5px;
- }
-
-.emoji-page {
- .keyboard-key {
- background-color: transparent;
- border: none;
- }
-}
-
-.emoji-panel {
- .keyboard-key:latched {
- border-color: lighten($selected_bg_color, 5%);
- background-color: $selected_bg_color;
- }
-}
-
-// IBus Candidate Popup
-
-.candidate-popup-content {
- padding: 0.5em;
- spacing: 0.3em;
-}
-
- .candidate-index {
- padding: 0 0.5em 0 0;
- color: darken($fg_color,10%);
- }
-
- .candidate-box {
- padding: 0.3em 0.5em 0.3em 0.5em;
- border-radius: 4px;
- &:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
- }
-
- .candidate-page-button-box {
- height: 2em;
- .vertical & { padding-top: 0.5em; }
- .horizontal & { padding-left: 0.5em; }
- }
-
- .candidate-page-button {
- padding: 4px;
- }
-
- .candidate-page-button-previous { border-radius: 4px 0px 0px 4px; border-right-width: 0; }
- .candidate-page-button-next { border-radius: 0px 4px 4px 0px; }
- .candidate-page-button-icon { icon-size: 1em; }
-
-/* Auth Dialogs & Screen Shield */
-
-.user-icon {
- background-size: contain;
- color: $osd_fg_color;
- border-radius: 99px;
- &:hover {
- color: lighten($osd_fg_color,30%);
- }
-}
-
-// LOGIN DIALOG
-
-.login-dialog-banner-view {
- padding-top: 24px;
- max-width: 23em;
-}
-
-.login-dialog {
- //reset
- border: none;
- background-color: transparent;
-
- $_gdm_fg: #f6f5f4;
- $_gdm_bg: lighten(#2e3436, 19%);
-
- StEntry {
- @extend %search_entry;
- border-radius: $button_radius;
- @if $variant=='dark' {
- $_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
- background-color: $_gdm_entry_bg;
- border-color: $_gdm_entry_bg;
- color: $osd_fg_color;
- }
- }
-
- .modal-dialog-button-box { spacing: 3px; }
- .modal-dialog-button {
- padding: 4px 18px;
- box-shadow: 0 1px 3px transparentize($shadow_color, 0.02);
- background-color: $_gdm_bg;
- border-color: $_gdm_bg;
- color: $_gdm_fg;
-
- $_hover_c: lighten($_gdm_bg, 5%);
- &:hover, &:focus {
- background-color: $_hover_c;
- border-color: $_hover_c;
- }
- &:active {
- $_active_c: darken($_gdm_bg, 5%);
- box-shadow: none;
- background-color: $_active_c;
- border-color: $_active_c;
- }
- &:insensitive {
- @include button(insensitive);
- border-color: darken($_gdm_bg, 5%);
- background-color: darken($_gdm_bg, 5%);
- color: transparentize($_gdm_fg, 0.3);
- }
- &:default {
- @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
- border-color: $selected_bg_color;
- &:hover, &:focus {
- @include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
- $_def_hover_c: lighten($selected_bg_color, 5%);
- background-color: $_def_hover_c;
- border-color: $_def_hover_c;
- }
- &:active {
- @include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
- $_def_active_c: darken($selected_bg_color, 5%);
- background-color: $_def_active_c;
- border-color: $_def_active_c;
- }
- &:insensitive {
- @include button(insensitive);
- border-color: darken($selected_bg_color, 10%);
- background-color: darken($selected_bg_color, 10%);
- color: transparentize($selected_fg_color, 0.3);
- }
- }
- }
-}
-
- .login-dialog-logo-bin { padding: 24px 0px; }
- .login-dialog-banner { color: darken($osd_fg_color,10%); }
- .login-dialog-button-box { spacing: 5px; }
- .login-dialog-message-warning { color: $warning_color; }
- .login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
- .login-dialog-user-selection-box { padding: 100px 0px; }
- .login-dialog-not-listed-label {
- padding-left: 2px;
- .login-dialog-not-listed-button:focus &,
- .login-dialog-not-listed-button:hover & {
- color: $osd_fg_color;
- }
- }
- .login-dialog-not-listed-label {
- font-size: 90%;
- font-weight: bold;
- color: darken($osd_fg_color,30%);
- padding-top: 1em;
- }
-
- .login-dialog-user-list-view { -st-vfade-offset: 1em; }
- .login-dialog-user-list {
- spacing: 12px;
- width: 23em;
- &:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color:
$selected_fg_color; }
- &:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
- }
- .login-dialog-user-list-item {
- border-radius: 5px;
- padding: 6px;
- color: darken($osd_fg_color,30%);
- &:ltr .user-widget { padding-right: 1em; }
- &:rtl .user-widget { padding-left: 1em; }
- .login-dialog-timed-login-indicator {
- height: 2px;
- margin-top: 6px;
- background-color: $osd_fg_color;
- }
- &:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
- }
-
- .login-dialog-username,
- .user-widget-label {
- color: $osd_fg_color;
- font-size: 120%;
- font-weight: bold;
- text-align: left;
- padding-left: 15px;
- }
- .user-widget-label {
- &:ltr { padding-left: 14px; }
- &:rtl { padding-right: 14px; }
- }
-
- .login-dialog-prompt-layout {
- padding-top: 24px;
- padding-bottom: 12px;
- spacing: 8px;
- width: 23em;
- }
-
- .login-dialog-prompt-label {
- color: darken($osd_fg_color, 20%);
- font-size: 110%;
- padding-top: 1em;
- }
-
- .login-dialog-session-list-button StIcon {
- icon-size: 1.25em;
- }
-
- .login-dialog-session-list-button {
- color: darken($osd_fg_color,30%);
- &:hover,&:focus { color: $osd_fg_color; }
- &:active { color: darken($osd_fg_color, 50%); }
- }
-
-//SCREEN SHIELD
-
-$_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
-
-.screen-shield-arrows {
- padding-bottom: 3em;
-}
-
-.screen-shield-arrows Gjs_Arrow {
- color: white;
- width: 80px;
- height: 48px;
- -arrow-thickness: 12px;
- -arrow-shadow: $_screenshield_shadow;
-}
-
-.screen-shield-clock {
- color: white;
- text-shadow: $_screenshield_shadow;
- font-weight: bold;
- text-align: center;
- padding-bottom: 1.5em;
-}
-
-.screen-shield-clock-time {
- font-size: 72pt;
- text-shadow: $_screenshield_shadow;
- font-feature-settings: "tnum";
-}
-
-.screen-shield-clock-date {
- font-size: 28pt;
- font-weight: normal;
-}
-
-.screen-shield-notifications-container {
- spacing: 6px;
- width: 30em;
- background-color: transparent;
- max-height: 500px;
- .summary-notification-stack-scrollview {
- padding-top: 0;
- padding-bottom: 0;
- }
-
- .notification,
- .screen-shield-notification-source {
- padding: 12px 6px;
- border: 1px solid $osd_outer_borders_color;
- background-color: transparentize($osd_bg_color,0.5);
- color: $osd_fg_color;
- border-radius: 4px;
- }
- .notification { margin-right: 15px; } //compensate for space allocated to the scrollbar
-}
-
-
-.screen-shield-notification-label {
- font-weight: bold;
- padding: 0px 0px 0px 12px;
-}
-
-.screen-shield-notification-count-text { padding: 0px 0px 0px 12px; }
-
-#panel.lock-screen { background-color: transparentize($osd_bg_color, 0.5); }
-
-.screen-shield-background { //just the shadow, really
- background: black;
- box-shadow: 0px 2px 4px transparentize(black,0.6);
-}
-
-#lockDialogGroup {
- background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png);
- background-repeat: repeat;
-}
-
-#screenShieldNotifications {
- StButton#vhandle, StButton#hhandle {
- background-color: transparentize($bg_color,0.7);
- &:hover, &:focus { background-color: transparentize($bg_color,0.5); }
- &:active { background-color: transparentize($selected_bg_color,0.5); }
- }
-}
-
-
-// Looking Glass
-#LookingGlassDialog {
- background-color: rgba(0,0,0,0.80);
- spacing: 4px;
- padding: 4px;
- border: 2px solid grey;
- border-radius: 4px;
- & > #Toolbar {
- border: 1px solid grey;
- border-radius: 4px;
- }
- .labels { spacing: 4px; }
- .notebook-tab {
- -natural-hpadding: 12px;
- -minimum-hpadding: 6px;
- font-weight: bold;
- color: #ccc;
- transition-duration: 100ms;
- padding-left: .3em;
- padding-right: .3em;
- &:hover {
- color: white;
- text-shadow: black 0px 2px 2px;
- }
- &:selected {
- border-bottom-width: 2px;
- border-color: lighten($selected_bg_color,5%);
- color: white;
- text-shadow: black 0px 2px 2px;
- }
- }
- StBoxLayout#EvalBox { padding: 4px; spacing: 4px; }
- StBoxLayout#ResultsArea { spacing: 4px; }
-}
-
- .lg-dialog {
- StEntry {
- selection-background-color: #bbbbbb;
- selected-color: #333333;
- }
- .shell-link {
- color: #999999;
- &:hover { color: #dddddd; }
- }
- }
-
- .lg-completions-text {
- font-size: .9em;
- font-style: italic;
- }
-
- .lg-obj-inspector-title {
- spacing: 4px;
- }
-
- .lg-obj-inspector-button {
- border: 1px solid gray;
- padding: 4px;
- border-radius: 4px;
- &:hover { border: 1px solid #ffffff; }
- }
-
- #lookingGlassExtensions { padding: 4px; }
-
- .lg-extensions-list {
- padding: 4px;
- spacing: 6px;
- }
-
- .lg-extension {
- border: 1px solid #6f6f6f;
- border-radius: 4px;
- padding: 4px;
- }
-
- .lg-extension-name {
- font-weight: bold;
- }
-
- .lg-extension-meta {
- spacing: 6px;
- }
-
- #LookingGlassPropertyInspector {
- background: rgba(0, 0, 0, 0.8);
- border: 2px solid grey;
- border-radius: 4px;
- padding: 6px;
- }
+ font-size: 2em;
+ font-weight: bold;
+ color: $osd_fg_color;
+}
+
+
+// osd panels
+%osd_panel {
+ color: $osd_fg_color;
+ background-color: $osd_bg_color;
+ border: 1px solid $osd_outer_borders_color;
+ border-radius: $base_border_radius * 2 + 4px;
+ padding: $base_padding * 2;
+}
+
+// Overview panels
+// for the dash and workspace switcher
+%overview_panel {
+ color: $osd_fg_color;
+ background-color: transparentize($osd_bg_color, 0.2);
+ border: 1px solid $osd_outer_borders_color;
+}
+
+// icon tiles
+%icon_tile {
+ background-color: transparent; // no background
+ color: $osd_fg_color;
+ border-radius: $base_border_radius + 4px;
+ padding: $base_padding;
+ border: 2px solid transparent;
+ transition-duration: 100ms;
+ text-align: center;
+}
+
+// dialogs
+%bubble_panel {
+ color: $fg_color;
+ background-color: $bg_color;
+ border: 1px solid if($variant=='light', rgba(0,0,0, 0.6), $borders_color);
+
+ // entry
+ StEntry { @extend %bubble_entry;}
+
+ // button
+ .button {
+ background-color: $bg_color;
+ color: $fg_color;
+ box-shadow: none;
+
+ &, &:hover, &:focus, &:active, &:disabled {
+ border-color: $bubble_borders_color;
+ }
+
+ &:hover { background-color: $hover_bg_color;}
+ &:active {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ }
+ &:disabled { color: $insensitive_fg_color;}
+ }
+}
+
+// entries in dialogs
+%bubble_entry {
+ color: $fg_color;
+ background-color: darken($bg_color, 2%);
+ border-color: $bubble_borders_color;
+ box-shadow: none;
+ &:focus { border: 2px solid $selected_bg_color;}
+}
+
+// buttons in dialogs
+%bubble_button {
+ @include button(normal);
+ padding: $base_padding * 2;
+ border-color: $bubble_borders_color;
+ border-style: solid;
+ border-width: 0 !important;
+ border-top-width: 1px !important;
+ box-shadow:none !important;
+
+ &:insensitive { @include button(insensitive);}
+ &:hover { @include button(hover);}
+ &:focus { @include button(focus);}
+ &:active { @include button(active);}
+
+ // radius is 2 pixel less to fit in bubble
+ &:first-child {
+ border-right-width: 1px !important;
+ border-radius: 0px 0px 0px $modal_radius - 2px;
+ }
+ &:last-child {
+ border-right-width: 0 !important;
+ border-radius: 0px 0px $modal_radius - 2px 0px;
+ }
+
+ &:first-child:last-child {
+ border-radius: 0px 0px $modal_radius - 2px $modal_radius - 2px;
+ }
+}
+
+// button styling
+%button {
+ border-radius: $base_border_radius;
+ border-width: 1px;
+ min-height: 22px;
+ padding: $base_padding * 0.5 $base_padding * 4;
+
+ @include button(normal);
+ &:focus { @include button(focus);}
+ &:hover { @include button(hover);}
+ &:insensitive { @include button(insensitive);}
+ &:active { @include button(active);}
+}
+
+
+// notification styling
+%notification_bubble {
+ border-radius:$base_border_radius + 2px;
+ padding: 0;
+ margin: $base_margin;
+
+ @include button(normal);
+
+ &:focus,
+ &:hover {
+ // margin-top: $base_margin - 1px;
+ // margin-bottom: $base_margin + 1px;
+ @include button(hover);
+ }
+
+ &:active {
+ @include button(active);
+ // margin: $base_margin;
+ }
+}
\ No newline at end of file
diff --git a/_drawing.scss b/_drawing.scss
index 8f4611c..b767528 100644
--- a/_drawing.scss
+++ b/_drawing.scss
@@ -2,25 +2,25 @@
// generic drawing of more complex things
-@function _widget_edge($c:$borders_edge) {
+@function draw_widget_edge($c:$borders_edge) {
// outer highlight "used" on most widgets
- @return 0 1px $c;
+ @return 0 1px $c;
}
// provide font size in rem, with px fallback
@mixin fontsize($size: 24, $base: 16) {
- font-size: round($size) + pt;
- //font-size: ($size / $base) * 1rem;
+ font-size: round($size) + pt;
+ //font-size: ($size / $base) * 1rem;
}
-@mixin _shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
+@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
//
// Helper function to stack up to 4 box-shadows;
//
- @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
- @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
- @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
- @else { box-shadow: $shadow1; }
+ @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
+ @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
+ @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
+ @else { box-shadow: $shadow1; }
}
// entries
@@ -31,63 +31,65 @@
//
// $t: entry type
// $fc: focus color
-// $edge: set to none to not draw the bottom edge or specify a color to not
-// use the default one
+// $edge: set to none to not draw the bottom edge or specify a color to not use the default one
//
// possible $t values:
// normal, focus, insensitive
//
- @if $t==normal {
- background-color: $base_color;
- border-color: $borders_color;
-
- }
- @if $t==focus {
- border-color: if($fc==$selected_bg_color,
- $selected_borders_color,
- darken($fc,35%));
- }
- @if $t==hover { }
- @if $t==insensitive {
- color: $insensitive_fg_color;
- border-color: $insensitive_bg_color;
- box-shadow: none;
- }
+ @if $t==normal {
+ background-color: $base_color;
+ border-color: $borders_color;
+
+ }
+ @if $t==focus {
+ border-color: if($fc==$selected_bg_color,
+ $selected_borders_color,
+ darken($fc,35%));
+ }
+ @if $t==hover { }
+ @if $t==insensitive {
+ color: $insensitive_fg_color;
+ border-color: $insensitive_bg_color;
+ box-shadow: none;
+ }
}
// buttons
-@function _border_color ($c) { @return darken($c,25%); } // colored buttons want
- // the border form the
- // base color
+@function draw_border_color ($c) {
+ //
+ // colored buttons want the border form the base color
+ //
+ @return if($variant == 'light', darken($c, 18%), darken($c, 4%));
+}
-@function _text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
+@function draw_text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
//
// calculate the color of text shadows
//
// $tc is the text color
// $bg is the background color
//
- $_lbg: lightness($bg)/100%;
- @if lightness($tc)<50% { @return transparentize(white,1-$_lbg/($_lbg*1.3)); }
- @else { @return transparentize(black,$_lbg*0.8); }
+ $lbg: lightness($bg)/100%;
+ @if lightness($tc)<50% { @return rgba(255,255,255,$lbg/($lbg*1.3)); }
+ @else { @return rgba(0,0,0,1-$lbg*0.8); }
}
-@function _button_hilight_color($c) {
+@function draw_button_hilight_color($c) {
//
// calculate the right top hilight color for buttons
//
// $c: base color;
//
- @if lightness($c)>90% { @return white; }
- @else if lightness($c)>80% { @return transparentize(white, 0.3); }
- @else if lightness($c)>50% { @return transparentize(white, 0.5); }
- @else if lightness($c)>40% { @return transparentize(white, 0.7); }
- @else { @return transparentize(white, 0.9); }
+ @if lightness($c)>90% { @return white; }
+ @else if lightness($c)>80% { @return rgba(255,255,255, 0.7); }
+ @else if lightness($c)>50% { @return rgba(255,255,255, 0.5); }
+ @else if lightness($c)>40% { @return rgba(255,255,255, 0.3); }
+ @else { @return rgba(255,255,255, 0.1); }
}
-@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
+@mixin draw_button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
//
// helper function for the text emboss effect
//
@@ -96,16 +98,16 @@
// TODO: this functions needs a way to deal with special cases
//
- $_shadow: _text_shadow_color($tc, $bg);
+ $shadow: draw_text_shadow_color($tc, $bg);
- @if lightness($tc)<50% {
- text-shadow: 0 1px $_shadow;
- icon-shadow: 0 1px $_shadow;
- }
- @else {
- text-shadow: 0 -1px $_shadow;
- icon-shadow: 0 -1px $_shadow;
- }
+ @if lightness($tc)<50% {
+ text-shadow: 0 1px $shadow;
+ icon-shadow: 0 1px $shadow;
+ }
+ @else {
+ text-shadow: 0 -1px $shadow;
+ icon-shadow: 0 -1px $shadow;
+ }
}
@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: $borders_edge) {
@@ -124,79 +126,75 @@
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
//
- $_hilight_color: _button_hilight_color($c);
- $_button_edge: if($edge == none, none, _widget_edge($edge));
- $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1)));
- $_button_shadow: 0 1px 2px transparentize($shadow_color, 0.03);
-
- @if $t==normal {
- //
- // normal button
- //
-
- color: $tc;
- background-color: $c;
- border-color: $borders_color;
- box-shadow: $_button_shadow;
- text-shadow: 0 1px black;
- icon-shadow: 0 1px black;
- }
- @if $t==focus {
- //
- // focused button
- //
- color: $tc;
- text-shadow: 0 1px black;
- icon-shadow: 0 1px black;
- box-shadow: inset 0px 0px 0px 2px $selected_bg_color;
- //border-color: $selected_bg_color;
- }
-
- @else if $t==hover {
- //
- // active osd button
- //
- color: $tc;
- border-color: $borders_color;
- background-color: $c;
- box-shadow: $_button_shadow;
- text-shadow: 0 1px black;
- icon-shadow: 0 1px black;
-
- }
- @else if $t==active {
- //
- // active osd button
- //
- color: $tc;
- border-color: $borders_color;
- background-color: $c;
- text-shadow: none;
- icon-shadow: none;
- box-shadow: none;
- }
- @else if $t==insensitive {
-
- color: $insensitive_fg_color;
- border-color: $insensitive_borders_color;
- background-color: $insensitive_bg_color;
- box-shadow: none;
- text-shadow: none;
- icon-shadow: none;
- }
- @else if $t==undecorated {
- //
- // reset
- //
- border-color: transparent;
- background-color: transparent;
- background-image: none;
-
- @include _shadows(inset 0 1px transparentize(white,1),
- $_blank_edge);
-
- text-shadow: none;
- icon-shadow: none;
- }
-}
-
+ $hilight_color: draw_button_hilight_color($c);
+ $button_edge: if($edge == none, none, draw_widget_edge($edge));
+ $blank_edge: if($edge == none, none, draw_widget_edge(transparentize($edge,1)));
+
+ // normal button
+ @if $t==normal {
+ color: $tc;
+ background-color: lighten($c, 3%) !important;
+ border-width: 1px;
+ border-style: solid;
+ border-color: draw_border_color($c);
+ @include draw_shadows(0 1px 1px 0 $shadow_color);
+ // box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
+ text-shadow: 0 1px $text_shadow_color;
+ icon-shadow: 0 1px $text_shadow_color;
+ }
+
+ // focused button
+ @if $t==focus {
+ color: $tc;
+ text-shadow: 0 1px $text_shadow_color;
+ icon-shadow: 0 1px $text_shadow_color;
+ box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.7);
+ //border-color: $selected_bg_color;
+ }
+
+ // hover osd button
+ @else if $t==hover {
+ color: $tc;
+ background-color: lighten($c, if($variant == 'light', 8%, 5%)) !important;
+ border-width: 1px;
+ border-style: solid;
+ border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)),
draw_border_color($c));
+ @include draw_shadows(0 1px 1px 0 $shadow_color);
+ text-shadow: 0 1px $text_shadow_color;
+ icon-shadow: 0 1px $text_shadow_color;
+ }
+
+ // active osd button
+ @else if $t==active {
+ color: $tc;
+ background-color: darken($c,3%) !important;
+ border-width: 1px;
+ border-style: solid;
+ border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
+ text-shadow: none;
+ icon-shadow: none;
+ box-shadow: none;
+ }
+
+ // insensitive button
+ @else if $t==insensitive {
+ color: $insensitive_fg_color;
+ border-width: 1px;
+ border-style: solid;
+ border-color: $insensitive_borders_color;
+ background-color: $insensitive_bg_color !important;
+ box-shadow: none;
+ text-shadow: none;
+ icon-shadow: none;
+ }
+
+ // reset
+ @else if $t==undecorated {
+ border-color: transparent;
+ background-color: transparent;
+ background-image: none;
+ @include draw_shadows(inset 0 1px rgba(255,255,255,0),$blank_edge);
+ text-shadow: none;
+ icon-shadow: none;
+ }
+}
\ No newline at end of file
diff --git a/_high-contrast-colors.scss b/_high-contrast-colors.scss
index cba0145..7101793 100644
--- a/_high-contrast-colors.scss
+++ b/_high-contrast-colors.scss
@@ -22,11 +22,10 @@ $destructive_color: darken(#ef2929,10%);
$osd_fg_color: #eeeeec;
$osd_bg_color: #2e3436;
-$osd_borders_color: transparentize(black, 0.3);
-$osd_outer_borders_color: transparentize(white, 0.9);
+$osd_borders_color: rgba(0,0,0, 0.7);
+$osd_outer_borders_color: rgba(255,255,255, 0.1);
-$tooltip_borders_color: $osd_outer_borders_color;
-$shadow_color: transparentize(black, 0.9);
+$shadow_color: rgba(0,0,0, 0.1);
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
diff --git a/widgets/_app-grid.scss b/widgets/_app-grid.scss
new file mode 100644
index 0000000..4576f8d
--- /dev/null
+++ b/widgets/_app-grid.scss
@@ -0,0 +1,209 @@
+/* App Grid */
+
+$app_icon_size: 96px;
+$app_icon_padding: 20px;
+
+// app icons
+.icon-grid {
+ spacing: 30px;
+ -shell-grid-horizontal-item-size: $app_icon_size + $app_icon_padding * 2;
+ -shell-grid-vertical-item-size: $app_icon_size + $app_icon_padding * 2;
+
+ .overview-icon {
+ icon-size: $app_icon_size;
+ }
+}
+
+//.app-display { spacing: 20px; }
+
+/* App Icons */
+
+$app_grid_fg_color: #fff;
+
+// Outline for low res icons
+.lowres-icon {
+ icon-shadow: 0 1px 2px rgba(0,0,0,0.3);
+}
+
+// Dropshadow for large icons
+.icon-dropshadow {
+ icon-shadow: 0 1px 2px rgba(0,0,0,0.4);
+}
+
+// Icon tiles in the app grid
+.app-well-app,
+.app-folder {
+
+ .overview-icon {
+ @extend %icon_tile;
+ color: $app_grid_fg_color !important;
+ }
+
+ &:hover,
+ &:selected {
+ .overview-icon {
+ background-color: transparentize($osd_bg_color,0.7);
+ color: $app_grid_fg_color;
+ }
+ }
+
+ &:hover .overview-icon,
+ &:focus .overview-icon,
+ &:selected .overview-icon {
+ background-color: transparentize($osd_fg_color,0.9);
+ color: $osd_fg_color;
+ }
+
+ &:focus {
+ .overview-icon {
+ background-color: transparentize($osd_fg_color,0.7 );
+ // border-color: $selected_bg_color;
+ color: $app_grid_fg_color;
+ }
+ }
+
+ &:drop {
+ .overview-icon {
+ background-color: transparentize($selected_bg_color,.15);
+ }
+ }
+
+ &:active,
+ &:checked {
+ .overview-icon {
+ background-color: transparentize(darken($osd_bg_color,10%), 0.5);
+ }
+ }
+}
+
+/* App Folders */
+.app-folder {
+ .overview-icon {
+ @extend %icon_tile;
+ }
+}
+
+//expanded folder
+.app-folder-popup {
+ -arrow-border-radius: 8px;
+ -arrow-background-color: transparentize(darken($osd_bg_color,10%), 0.5);
+ -arrow-base: 24px;
+ -arrow-rise: 11px;
+}
+
+.app-folder-popup-bin { padding: 5px; }
+.app-folder-icon {
+ padding: $base_padding;
+ spacing-rows: $base_spacing;
+ spacing-columns: $base_spacing;
+}
+
+
+// Running app indicator (also shown in dash)
+.app-well-app-running-dot {
+ height: 5px;
+ width: 5px;
+ border-radius:5px;
+ background-color: $osd_fg_color;
+ margin-bottom: 1px;
+}
+
+// Rename popup for app folders
+.rename-folder-popup {
+ .rename-folder-popup-item {
+ spacing: $base_spacing;
+ &:ltr, &:rtl { padding: 0, $base_padding * 2; }
+ }
+}
+
+// right-click app menu
+.app-menu,
+.app-well-menu {
+ max-width: 27.25em;
+}
+
+// App Grid pagination indicators
+.page-indicator {
+ padding: 15px 20px;
+
+ .page-indicator-icon {
+ width: 12px;
+ height: 12px;
+ background-color: transparent;
+ border: 2px solid rgba(255, 255, 255, 0.4);
+ border-radius: 12px;
+ }
+
+ &:hover .page-indicator-icon { border-color: white; }
+ &:active .page-indicator-icon { border: none; margin: 2px; background-color: white; }
+ &:checked .page-indicator-icon,
+ &:checked:active .page-indicator-icon { background-color: white;}
+}
+
+
+// Some hacks I don't even know
+.all-apps,
+.frequent-apps > StBoxLayout {
+ // horizontal padding to make sure scrollbars or dash don't overlap content
+ padding: 0px 88px 10px 88px;
+}
+
+.app-well-app > .overview-icon.overview-icon-with-label {
+ padding: 10px 8px 5px 8px;
+ spacing: $base_spacing;
+}
+
+// Label when no frequent apps
+.no-frequent-applications-label { @extend %status_text; }
+
+// shutdown and other actions in the grid
+.system-action-icon {
+ background-color: rgba(0,0,0,0.8);
+ color: #fff;
+ border-radius: 50%;
+ icon-size: $app_icon_size * 0.5;
+}
+
+/* Frequent | All toggle */
+
+// container
+.app-view-controls {
+ padding-bottom: 32px;
+}
+
+// buttons
+.app-view-control {
+ padding: 4px 32px;
+ margin: 0;
+ background-color: transparentize($osd_bg_color, 0.5);
+ border-width: 1px;
+ color: darken($osd_fg_color, 25%);
+
+ &:hover {
+ background-color: transparentize($osd_bg_color, 0.5) !important;
+ box-shadow:none !important;
+ color: darken($osd_fg_color, 25%);
+ }
+
+ &:active {
+ box-shadow: inset 0 -2px 0 0 $osd_fg_color;
+ background-color: transparentize($selected_bg_color, 0.5) !important;
+ font-weight: bold;
+ }
+
+ &:checked {
+ background-color: transparentize(lighten($osd_bg_color, 20%), 0.5);
+ color: $osd_fg_color;
+ box-shadow: none;
+ font-weight: bold;
+ }
+
+ &:first-child {
+ border-right-width: 0 !important;
+ border-radius: $base_border_radius 0 0 $base_border_radius;
+ }
+
+ &:last-child {
+ border-radius: 0 $base_border_radius $base_border_radius 0;
+ }
+}
\ No newline at end of file
diff --git a/widgets/_app-switcher.scss b/widgets/_app-switcher.scss
new file mode 100644
index 0000000..7fbc9da
--- /dev/null
+++ b/widgets/_app-switcher.scss
@@ -0,0 +1,55 @@
+/* App Switcher */
+
+.switcher-popup {
+ padding: 8px;
+ spacing: $base_spacing * 4;
+}
+
+// switcher onscreen panel
+.switcher-list {
+ @extend %osd_panel;
+
+ .item-box {
+ padding: 8px;
+ border-radius: $base_border_radius + 1px;
+ border: 1px solid transparent;
+
+ &:outlined {
+ border: 1px solid darken($borders_color,5%);
+ background-color: transparentize($osd_fg_color, 0.9);
+ box-shadow: inset 0 2px 2px 0 rgba(0,0,0,0.4);
+ }
+
+ &:selected {
+ background-color: transparentize($osd_fg_color, 0.9);
+ color: $osd_fg_color;
+ }
+ }
+
+ // window thumbnails
+ .thumbnail-box {
+ padding: 2px;
+ spacing: $base_spacing;
+ }
+
+ .thumbnail {
+ width: 256px;
+ }
+
+ .separator {
+ width: 1px;
+ background: $borders_color;
+ }
+
+ .switcher-list-item-container {
+ spacing: $base_spacing * 2;
+ }
+}
+
+.switcher-arrow {
+ border-color: rgba(0,0,0,0);
+ color: transparentize($fg_color,0.2);
+ &:highlighted {
+ color: $fg_color;
+ }
+}
\ No newline at end of file
diff --git a/widgets/_buttons.scss b/widgets/_buttons.scss
new file mode 100644
index 0000000..25d3471
--- /dev/null
+++ b/widgets/_buttons.scss
@@ -0,0 +1,5 @@
+/* Buttons */
+
+.button {
+ @extend %button; // that's it
+}
diff --git a/widgets/_calendar.scss b/widgets/_calendar.scss
new file mode 100644
index 0000000..6e86490
--- /dev/null
+++ b/widgets/_calendar.scss
@@ -0,0 +1,268 @@
+/* Date/Time Menu */
+
+// overall menu
+#calendarArea {
+ padding:0;
+ margin:0;
+}
+
+// Calendar menu side column
+.datemenu-calendar-column {
+ spacing: 0;
+ border: 0 solid $bubble_borders_color;
+ padding: $base_padding + $base_margin;
+ padding-bottom: 3em; // account for the notifications clear button
+ padding-top:0;
+
+ &:ltr { border-left-width: 1px; }
+ &:rtl { border-right-width: 1px; }
+
+
+ // today button (the date)
+ .datemenu-today-button {
+ padding: $base_padding * 1.5;
+ margin: $base_margin;
+ border: 1px solid transparent;
+
+ &:focus,
+ &:hover {
+ border-radius:$base_border_radius + 2px;
+ margin-top: $base_margin - 1px;
+ margin-bottom: $base_margin + 1px;
+ }
+
+ &:hover { @include button(hover);}
+ &:focus { @include button(focus);}
+
+ &:active {
+ @include button(active);
+ margin: $base_margin;
+ }
+
+ // weekday label
+ .day-label {
+ font-size: $base_font_size + 1pt;
+ font-weight: bold;
+ }
+
+ // date label
+ .date-label {
+ font-size: $base_font_size * 1.5;
+ font-weight: 1000;
+ }
+ }
+
+ // calendar
+ .calendar {
+ @extend %notification_bubble;
+ margin:$base_margin !important;
+ margin-bottom: $base_padding + $base_margin !important;
+ padding:$base_padding !important;
+
+ // more below for sub-elements
+ }
+
+ .datemenu-displays-section {
+ margin:0;
+ }
+
+ .datemenu-displays-box {
+ spacing: $base_spacing;
+ margin:0;
+
+ // world clocks and weather
+ .world-clocks-button,
+ .weather-button {
+ @extend %notification_bubble;
+ padding:$base_padding !important;
+ }
+ }
+}
+
+.events-section-title {
+ color: desaturate(darken($fg_color,40%), 10%);
+ font-weight: bold;
+ border-radius: 4px;
+ padding: .4em;
+}
+
+/* Calendar */
+.calendar {
+
+ // month
+ .calendar-month-label {
+ color: lighten($fg_color,5%);
+ font-weight: bold;
+ padding: 8px 0;
+ &:focus {}
+ }
+
+ // prev/next month icons
+ .calendar-change-month-back StIcon,
+ .calendar-change-month-forward StIcon {
+ icon-size: $base_icon_size;
+ }
+
+ .pager-button {
+ background-color: transparent;
+ height: 32px;
+ width: 32px;
+ border-radius: $base_border_radius;
+ &:hover, &:focus { background-color: lighten($hover_bg_color, 5%); }
+ &:active { background-color: $active_bg_color; }
+ }
+
+
+ $calendar_day_size: 32px;
+
+ .calendar-day-base {
+ font-size: 80%;
+ text-align: center;
+ width: $calendar_day_size;
+ height: $calendar_day_size;
+ padding: 0;
+ margin: 2px;
+ border-radius: $calendar_day_size * 0.5 + 2px;
+ border: 1px solid transparent; //avoid jumparound due to today
+ font-feature-settings: "tnum";
+ &:hover, &:focus { background-color: $hover_bg_color; }
+ &:active,&:selected {
+ color: lighten($fg_color,10%);
+ background-color: darken($bg_color,5%);
+ }
+
+ // day of week heading
+ &.calendar-day-heading {
+ color: lighten($fg_color,10%);
+ margin-top: 1em;
+ font-size: 70%;
+ }
+ }
+ .calendar-day { //border collapse hack - see calendar.js
+ border-width: 0;
+ }
+
+ .calendar-day-top {
+ border-top-width: 1px;
+ }
+
+ .calendar-day-left { border-left-width: 1px; }
+ .calendar-work-day {}
+ .calendar-nonwork-day {
+ color: $insensitive_fg_color;
+ }
+
+ // Today
+ .calendar-today {
+ font-weight: bold;
+ border: 1px solid transparent;
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+
+ &:hover,&:focus {
+ background-color:lighten($selected_bg_color, 3%);
+ color: $selected_fg_color;
+ }
+
+ &:active,&:selected {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ &:hover,&:focus {
+ background-color:lighten($selected_bg_color, 3%);
+ color: $selected_fg_color;
+ }
+ }
+
+ }
+ .calendar-day-with-events {
+ color: lighten($fg_color,10%);
+ font-weight: bold;
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
+ }
+
+ .calendar-other-month-day {
+ color: transparentize($fg_color ,0.5);
+ opacity: 0.5;
+ }
+
+ .calendar-week-number {
+ font-size: 70%;
+ font-weight: bold;
+ height: 1.8em;
+ width: 2.3em;
+ border-radius: 2px;
+ padding: 0.5em 0 0;
+ margin: 6px;
+ background-color: darken($bg_color, 2%);
+ color: lighten($fg_color, 5%);
+ }
+}
+
+
+/* Weather */
+.weather-box {
+ spacing: $base_spacing;
+ padding:$base_padding;
+
+ .weather-header {
+ color: desaturate(darken($fg_color,40%), 10%);
+ font-weight: bold;
+ &.location {
+ font-weight: normal;
+ font-size: $base_font_size - 1pt;
+ }
+ }
+
+ .weather-grid {
+ margin-top: $base_margin;
+ spacing-rows: $base_spacing;
+ spacing-columns: $base_spacing * 2;
+ }
+
+ .weather-forecast-icon {
+ icon-size: $base_icon_size * 2;
+ }
+
+ .weather-forecast-time {
+ color: darken($fg_color,30%);
+ font-feature-settings: "tnum";
+ font-size: $base_font_size - 2pt;
+ font-weight: normal;
+ }
+}
+
+/* World clocks */
+.world-clocks-grid {
+ padding:$base_padding;
+ spacing-rows: $base_spacing;
+ spacing-columns: $base_spacing * 2;
+
+ // title
+ .world-clocks-header {
+ color: desaturate(darken($fg_color,40%), 10%);
+ font-weight: bold;
+ }
+
+ // city label
+ .world-clocks-city {
+ color: $fg_color;
+ font-size: $base_font_size;
+ font-weight: normal;
+ }
+
+ // timezone time
+ .world-clocks-time {
+ font-weight: bold;
+ color: $fg_color;
+ font-feature-settings: "lnum";
+ font-size: $base_font_size;
+ text-align:right;
+ }
+
+ // timezone offset label
+ .world-clocks-timezone {
+ color: darken($fg_color,20%);
+ font-feature-settings: "tnum";
+ font-size: $base_font_size - 1pt;
+ }
+}
\ No newline at end of file
diff --git a/widgets/_check-box.scss b/widgets/_check-box.scss
new file mode 100644
index 0000000..a5b4b78
--- /dev/null
+++ b/widgets/_check-box.scss
@@ -0,0 +1,18 @@
+/* Check Boxes */
+
+// these are equal to the size of the SVG assets
+$check_height: 22px;
+$check_width: 24px;
+
+
+.check-box {
+ StBoxLayout { spacing: .8em; }
+ StBin {
+ width: $check_width;
+ height: $check_height;
+ background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
+ }
+ &:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
+ &:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
+ &:focus:checked StBin { background-image:
url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
+}
\ No newline at end of file
diff --git a/widgets/_corner-ripple.scss b/widgets/_corner-ripple.scss
new file mode 100644
index 0000000..4321a3f
--- /dev/null
+++ b/widgets/_corner-ripple.scss
@@ -0,0 +1,24 @@
+/* Activities Ripple */
+
+$ripple_size: 50px;
+
+.ripple-box {
+ background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
+ box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
+ // plus + 2px for the border (box-shadow)
+ width: $ripple_size + 2px;
+ height: $ripple_size + 2px;
+ border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve
+
+ // just a simple change to the border radius position
+ &:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
+}
+
+// Pointer location
+.ripple-pointer-location {
+ width: $ripple_size;
+ height: $ripple_size;
+ border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
+ background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
+ box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
+}
diff --git a/widgets/_dash.scss b/widgets/_dash.scss
new file mode 100644
index 0000000..354e98c
--- /dev/null
+++ b/widgets/_dash.scss
@@ -0,0 +1,84 @@
+/* Dash */
+
+$dash_placeholder_size: 32px;
+$dash_border_radius: $modal_radius * 1.5;
+
+#dash {
+ @extend %overview_panel;
+ font-size: $base_font_size - 2pt;
+ padding: 0;
+ padding-bottom: $base_padding + 4px;
+
+ //fixme: can't have non uniform borders :(
+ border-radius: 0 $dash_border_radius $dash_border_radius 0;
+ border-left-width: 0 !important;
+ &:rtl {
+ border-radius: $dash_border_radius 0 0 $dash_border_radius;
+ border-right-width: 0 !important;
+ }
+
+ .placeholder {
+ // background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
+ background-image:none;
+ background-size: contain;
+ height: $dash_placeholder_size;
+ }
+
+ .empty-dash-drop-target {
+ width: $dash_placeholder_size;
+ height: $dash_placeholder_size;
+ }
+}
+
+// Dash Items
+.dash-item-container > StWidget {
+ padding: $base_padding + 4px;
+ padding-bottom: 0;
+}
+
+// OSD Tooltip
+.dash-label {
+ background-color: transparentize($osd_bg_color,0.05);
+ border-radius: $base_border_radius + 2px;
+ border:none;
+ box-shadow:0 0 0 1px $osd_outer_borders_color;
+ color: $osd_fg_color;
+ padding: $base_padding $base_padding + 2px;
+ text-align: center;
+ margin-top: $base_margin + 4px;
+ -x-offset: $base_margin * 2; // distance from the dash edge
+}
+
+// Show apps button
+.show-apps {
+ background-color: transparent;
+ color: $osd_fg_color;
+
+ & .overview-icon {
+ @extend %icon_tile;
+ color: $osd_fg_color;
+ }
+
+ &:hover .overview-icon,
+ &:focus .overview-icon,
+ &:selected .overview-icon {
+ background-color: transparentize($osd_fg_color,0.9);
+ color: $osd_fg_color;
+ }
+
+ &:drop .overview-icon {
+ background-color: transparentize($selected_bg_color,.15);
+ }
+
+ &:active .overview-icon,
+ &:checked .overview-icon {
+ background-color: darken($osd_bg_color,10%);
+ }
+
+ &:checked .show-apps-icon,
+ &:focus .show-apps-icon {
+ color: $fg_color;
+ transition-duration: 100ms;
+ }
+}
+
diff --git a/widgets/_dialogs.scss b/widgets/_dialogs.scss
new file mode 100644
index 0000000..0c8591c
--- /dev/null
+++ b/widgets/_dialogs.scss
@@ -0,0 +1,280 @@
+/* Modal Dialogs */
+
+.modal-dialog {
+ border-radius: $modal_radius;
+ @extend %bubble_panel;
+
+ .modal-dialog-content-box {
+ padding: 24px;
+ }
+
+ .run-dialog-entry { width: 20em; margin-bottom: 6px; }
+ .run-dialog-error-box {
+ padding-top: 16px;
+ spacing: 6px;
+ }
+
+ .run-dialog-button-box { padding-top: 1em; }
+ .run-dialog-label {
+ @include fontsize($base_font_size + 1.1);
+ font-weight: normal;
+ color: $fg_color;
+ padding-bottom: .4em;
+ }
+}
+
+.mount-dialog-subject,
+.end-session-dialog-subject { //this should be a generic header class
+ @include fontsize($base_font_size * 1.3);
+}
+
+.modal-dialog-linked-button {
+ @extend %bubble_button;
+}
+
+/* Message Dialog */
+.message-dialog-main-layout {
+ padding: 12px 20px 0;
+ spacing: 12px;
+}
+
+.message-dialog-content {
+ max-width: 28em;
+ spacing: 20px;
+}
+
+.message-dialog-icon {
+ min-width: $base_icon_size * 3;
+ icon-size: $base_icon_size * 3;
+}
+
+.message-dialog-title {
+ font-weight: bold;
+}
+
+.message-dialog-subtitle {
+ color: $fg_color;
+ font-weight: bold;
+}
+
+/* ShellMountOperation Dialogs */
+.shell-mount-operation-icon {
+ icon-size: $base_icon_size * 3;
+}
+
+.mount-dialog {
+ spacing: 24px;
+
+ .message-dialog-title {
+ padding-top: 10px;
+ padding-left: 17px;
+ padding-bottom: 6px;
+ max-width: 34em;
+ }
+
+ .message-dialog-title:rtl {
+ padding-left: 0px;
+ padding-right: 17px;
+ }
+
+ .message-dialog-body {
+ padding-left: 17px;
+ width: 28em;
+ }
+
+ .message-dialog-body:rtl {
+ padding-left: 0px;
+ padding-right: 17px;
+ }
+}
+
+.mount-dialog-app-list {
+ max-height: 200px;
+ padding-top: 24px;
+ padding-left: 49px;
+ padding-right: 32px;
+}
+
+.mount-dialog-app-list:rtl {
+ padding-right: 49px;
+ padding-left: 32px;
+}
+
+.mount-dialog-app-list-item {
+ color: lighten($fg_color,10%);
+ &:hover { color: $fg_color; }
+ &:ltr { padding-right: 1em; }
+ &:rtl { padding-left: 1em; }
+}
+
+.mount-dialog-app-list-item-icon {
+ &:ltr { padding-right: 17px; }
+ &:rtl { padding-left: 17px; }
+}
+
+.mount-dialog-app-list-item-name {
+ font-size: 10pt;
+}
+
+
+/* Password or Authentication Dialog */
+
+.prompt-dialog {
+ @extend %bubble_panel;
+ //this is the width of the entire modal popup
+ width: 34em;
+
+ .message-dialog-main-layout { spacing: 24px; padding: 10px; }
+ .message-dialog-content { spacing: $base_spacing * 4; }
+ .message-dialog-title { color: lighten($fg_color,15%); }
+}
+
+.prompt-dialog-description:rtl {
+ text-align: right;
+}
+
+.prompt-dialog-password-box {
+ spacing: 1em;
+ padding-bottom: 1em;
+}
+
+.prompt-dialog-error-label {
+ font-size: 10pt;
+ color: $warning_color;
+ padding-bottom: 8px;
+}
+
+.prompt-dialog-info-label {
+ font-size: 10pt;
+ padding-bottom: 8px;
+}
+
+.hidden {
+ color: rgba(0,0,0,0);
+}
+
+.prompt-dialog-null-label {
+ font-size: 10pt;
+ padding-bottom: 8px;
+}
+
+.prompt-dialog-pim-box {
+ spacing: 1em;
+}
+
+.prompt-dialog-grid {
+ spacing-rows: 15px;
+ spacing-columns: 1em;
+}
+
+.prompt-dialog-keyfiles-box {
+ spacing: 1em;
+}
+
+.prompt-dialog-button.button {
+ padding: 8px;
+}
+
+.prompt-dialog-caps-lock-warning {
+ @extend .prompt-dialog-error-label;
+ padding-left: 6.2em;
+}
+
+
+/* Polkit Dialog */
+
+.polkit-dialog-user-layout {
+ padding-left: 10px;
+ spacing: 10px;
+ &:rtl {
+ padding-left: 0px;
+ padding-right: 10px;
+ }
+}
+
+.polkit-dialog-user-root-label {
+ color: $warning_color;
+}
+
+.polkit-dialog-user-icon {
+ border-radius: 99px;
+ background-size: contain;
+ width: 48px;
+ height: 48px;
+}
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+ @extend %bubble_panel;
+ spacing: 30px;
+}
+
+.audio-selection-content {
+ spacing: 20px;
+ padding: 24px;
+}
+
+.audio-selection-title {
+ font-weight: bold;
+ text-align: center;
+}
+
+.audio-selection-box {
+ spacing: 20px;
+}
+
+.audio-selection-device {
+ border: 1px solid $bubble_borders_color;
+ border-radius: 12px;
+ &:hover,&:focus { background-color: $hover_bg_color; }
+ &:active {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ }
+}
+
+.audio-selection-device-box {
+ padding: 20px;
+ spacing: 20px;
+}
+
+.audio-selection-device-icon {
+ icon-size: $base_icon_size * 4;
+}
+
+/* Access Dialog */
+.access-dialog {
+ @extend %bubble_panel;
+ spacing: 30px;
+}
+
+/* Geolocation Dialog */
+.geolocation-dialog {
+ @extend %bubble_panel;
+ spacing: 30px;
+}
+
+/* Extension Dialog */
+.extension-dialog {
+ @extend %bubble_panel;
+ .message-dialog-main-layout { spacing: 24px; padding: 10px; }
+ .message-dialog-title { font-weight: normal; color: $fg_color; }
+}
+
+/* Inhibit-Shortcuts Dialog */
+.inhibit-shortcuts-dialog {
+ @extend %bubble_panel;
+ spacing: 30px;
+}
+
+/* Network Agent Dialog */
+
+.network-dialog-secret-table {
+ spacing-rows: 15px;
+ spacing-columns: 1em;
+}
+
+.keyring-dialog-control-table {
+ spacing-rows: 15px;
+ spacing-columns: 1em;
+}
\ No newline at end of file
diff --git a/widgets/_end-session-dialog.scss b/widgets/_end-session-dialog.scss
new file mode 100644
index 0000000..19aa993
--- /dev/null
+++ b/widgets/_end-session-dialog.scss
@@ -0,0 +1,80 @@
+/* End Session Dialog */
+
+$end_session_dialog_width: 28em;
+
+.end-session-dialog {
+ spacing: $base_spacing;
+ border: 1px solid $bubble_borders_color;
+}
+
+.end-session-dialog-list {
+ padding-top: 20px;
+}
+
+.end-session-dialog-layout {
+ padding-left: 17px;
+ &:rtl { padding-right: 17px; }
+}
+
+.end-session-dialog-description {
+ width: $end_session_dialog_width;
+ padding-bottom: 10px;
+ &:rtl {
+ text-align: right;
+ }
+}
+
+.end-session-dialog-warning {
+ width: $end_session_dialog_width;
+ color: $warning_color;
+ padding-top: 6px;
+ &:rtl {
+ text-align: right;
+ }
+}
+
+// user profile picture
+.end-session-dialog-logout-icon {
+ border-radius: 99px;
+ width: $base_icon_size * 3;
+ height: $base_icon_size * 3;
+ background-size: contain;
+}
+
+.end-session-dialog-shutdown-icon {
+ color: $fg_color;
+ width: $base_icon_size * 3;
+ height: $base_icon_size * 3;
+}
+
+.end-session-dialog-inhibitor-layout {
+ spacing: $base_spacing * 4;
+ max-height: 200px;
+ padding-right: 65px;
+ padding-left: 65px;
+}
+
+.end-session-dialog-session-list,
+.end-session-dialog-app-list {
+ spacing: 1em;
+}
+
+.end-session-dialog-list-header {
+ font-weight: bold;
+ &:rtl { text-align: right; }
+}
+
+.end-session-dialog-app-list-item,
+.end-session-dialog-session-list-item {
+ spacing: 1em;
+}
+
+.end-session-dialog-app-list-item-name,
+.end-session-dialog-session-list-item-name {
+ font-weight: bold;
+}
+
+.end-session-dialog-app-list-item-description {
+ color: darken($fg_color,5%);
+ font-size: 10pt;
+}
\ No newline at end of file
diff --git a/widgets/_entries.scss b/widgets/_entries.scss
new file mode 100644
index 0000000..7c10558
--- /dev/null
+++ b/widgets/_entries.scss
@@ -0,0 +1,23 @@
+/* Entries */
+
+StEntry {
+ border-radius: $base_border_radius;
+ padding: 4px;
+ border-width: 1px;
+ color: $fg_color;
+ @include entry(normal);
+ //&:hover { @include entry(hover);}
+ &:focus { @include entry(focus,$fc:transparentize($fg_color,0.5));}
+ &:insensitive { @include entry(insensitive);}
+ selection-background-color: $selected_bg_color;
+ selected-color: $selected_fg_color;
+ StIcon.capslock-warning {
+ icon-size: 16px;
+ warning-color: $warning_color;
+ padding: 0 4px;
+ }
+ StIcon.peek-password {
+ icon-size: $base_icon_size;
+ padding: 0 4px;
+ }
+}
\ No newline at end of file
diff --git a/widgets/_hotplug.scss b/widgets/_hotplug.scss
new file mode 100644
index 0000000..04e4185
--- /dev/null
+++ b/widgets/_hotplug.scss
@@ -0,0 +1,46 @@
+// hotplug
+
+.hotplug-transient-box {
+ spacing: 6px;
+ padding: 2px 72px 2px 12px;
+}
+
+.hotplug-notification-item {
+ @extend %bubble_button;
+ border: none; box-shadow: none;
+ padding: 2px 10px;
+ &:focus { padding: 1px 71px 1px 11px; }
+}
+
+.hotplug-notification-item-icon {
+ icon-size: 24px;
+ padding: 2px 5px;
+}
+
+.hotplug-resident-box { spacing: $base_spacing * 2; }
+
+.hotplug-resident-mount {
+ spacing: $base_spacing * 2;
+ border-radius: 4px;
+ &:hover { background-color: $hover_bg_color; }
+}
+
+.hotplug-resident-mount-label {
+ color: inherit;
+ padding-left: 6px;
+}
+
+.hotplug-resident-mount-icon {
+ icon-size: 24px;
+ padding-left: 6px;
+}
+
+.hotplug-resident-eject-icon {
+ icon-size: 16px;
+}
+
+.hotplug-resident-eject-button {
+ padding: 7px;
+ border-radius: 5px;
+ color: pink;
+}
\ No newline at end of file
diff --git a/widgets/_ibus-popup.scss b/widgets/_ibus-popup.scss
new file mode 100644
index 0000000..e8fee85
--- /dev/null
+++ b/widgets/_ibus-popup.scss
@@ -0,0 +1,30 @@
+// IBus Candidate Popup
+.candidate-popup-content {
+ padding: 0.5em;
+ spacing: 0.3em;
+}
+
+.candidate-index {
+ padding: 0 0.5em 0 0;
+ color: darken($fg_color,10%);
+}
+
+.candidate-box {
+ padding: 0.3em 0.5em 0.3em 0.5em;
+ border-radius: $base_border_radius;
+ &:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
+}
+
+.candidate-page-button-box {
+ height: 2em;
+ .vertical & { padding-top: 0.5em; }
+ .horizontal & { padding-left: 0.5em; }
+}
+
+.candidate-page-button {
+ padding: 4px;
+}
+
+.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius;
border-right-width: 0; }
+.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px; }
+.candidate-page-button-icon { icon-size: 1em; }
\ No newline at end of file
diff --git a/widgets/_keyboard.scss b/widgets/_keyboard.scss
new file mode 100644
index 0000000..5cd9caf
--- /dev/null
+++ b/widgets/_keyboard.scss
@@ -0,0 +1,125 @@
+/* On-screen Keyboard */
+
+$key_size: 1.2em;
+$key_border_radius: $base_border_radius + 3px;
+$key_bg_color: $bg_color;
+// $default_key_bg_color: darken($key_bg_color, 4%);
+$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));
+
+
+// draw keys using button function
+%keyboard_key {
+ @include button(normal, $c:$key_bg_color);
+
+ &:focus { @include button(focus);}
+ &:hover, &:checked { @include button(hover, $c: $key_bg_color);}
+ &:active { @include button(active, $c: $key_bg_color); }
+}
+
+#keyboard {
+ background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)),
0.1);
+ box-shadow: inset 0 1px 0 0 $osd_outer_borders_color !important;
+
+ .page-indicator {
+ padding: $base_padding;
+
+ .page-indicator-icon {
+ width: 6px;
+ height: 6px;
+ &:checked {
+ background-color:red;
+ }
+ }
+ }
+}
+
+// the container for individual keys
+.key-container {
+ padding: $base_margin;
+ spacing: $base_margin;
+}
+
+// the keys
+.keyboard-key {
+ @extend %keyboard_key;
+ font-size: $base_font_size + 5pt;
+ min-height: $key_size;
+ min-width: $key_size;
+
+ border-radius: $key_border_radius;
+
+ &:grayed { //FIXMEy
+ background-color: darken($bg_color, 3%);
+ color: $osd_fg_color;
+ border-color: $osd_borders_color;
+ }
+
+ // non-character keys
+ &.default-key {
+
+ // size of the icon asset
+ background-size: 24px;
+
+ @include button(normal, $c:$default_key_bg_color);
+ &:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
+ &:active { @include button(active, $c: $default_key_bg_color);}
+ box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1) !important; // drawing override because of a visual
bug
+ }
+
+ // enter key is suggested-action
+ &.enter-key {
+ background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
+
+ @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
+ &:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
+ &:active {@include button(active, $c: darken($selected_bg_color, 2%));}
+ box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1) !important; // drawing override because of a visual
bug
+ }
+
+ // key assets
+ &.shift-key-lowercase {background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");}
+ &.shift-key-uppercase {background-image:
url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");}
+ &.shift-key-uppercase:latched {background-image:
url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");}
+ &.hide-key {background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");}
+ &.layout-key {background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");}
+}
+
+// long press on a key popup
+.keyboard-subkeys {
+ color: $osd_fg_color;
+ -arrow-border-radius: $modal_radius;
+ -arrow-background-color: $osd_bg_color;
+ -arrow-border-width: 1px;
+ -arrow-border-color: lighten($osd_bg_color, 9%);
+ -arrow-base: 20px;
+ -arrow-rise: 10px;
+ -boxpointer-gap: $base_spacing;
+
+ .keyboard-key {
+ @extend %keyboard_key;
+ border-radius:$base_border_radius;
+ }
+}
+
+// emoji
+.emoji-page {
+ .keyboard-key {
+ background-color: transparent;
+ border: none;
+ color: initial;
+ }
+}
+
+.emoji-panel {
+ .keyboard-key:latched {
+ border-color: lighten($selected_bg_color, 5%);
+ background-color: $selected_bg_color;
+ }
+}
+
+// suggestions
+.word-suggestions {
+ font-size: $base_font_size + 3pt;
+ spacing: 12px;
+ min-height: 20pt;
+}
\ No newline at end of file
diff --git a/widgets/_login-dialog.scss b/widgets/_login-dialog.scss
new file mode 100644
index 0000000..8902802
--- /dev/null
+++ b/widgets/_login-dialog.scss
@@ -0,0 +1,154 @@
+/* Login Dialog */
+
+.login-dialog-banner-view {
+ padding-top: 24px;
+ max-width: 23em;
+}
+
+.login-dialog {
+ //reset
+ border: none;
+ background-color: transparent;
+
+ $_gdm_bg: lighten(#2e3436, 19%);
+
+ StEntry {
+ @extend %search_entry;
+ border-radius: $base_border_radius;
+ @if $variant=='dark' {
+ $_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
+ background-color: $_gdm_entry_bg;
+ border-color: $_gdm_entry_bg;
+ color: $osd_fg_color;
+ }
+ }
+
+ .modal-dialog-button-box { spacing: 3px; }
+ .modal-dialog-button {
+ padding: 4px 18px;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+ background-color: $_gdm_bg;
+ border-color: $_gdm_bg;
+ color: $fg_color;
+
+ $_hover_c: lighten($_gdm_bg, 5%);
+ &:hover, &:focus {
+ background-color: $_hover_c;
+ border-color: $_hover_c;
+ }
+ &:active {
+ $_active_c: darken($_gdm_bg, 5%);
+ box-shadow: none;
+ background-color: $_active_c;
+ border-color: $_active_c;
+ }
+ &:insensitive {
+ @include button(insensitive);
+ border-color: darken($_gdm_bg, 5%);
+ background-color: darken($_gdm_bg, 5%);
+ color: transparentize($fg_color, 0.3);
+ }
+ &:default {
+ @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
+ border-color: $selected_bg_color;
+ &:hover, &:focus {
+ @include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
+ $_def_hover_c: lighten($selected_bg_color, 5%);
+ background-color: $_def_hover_c;
+ border-color: $_def_hover_c;
+ }
+ &:active {
+ @include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
+ $_def_active_c: darken($selected_bg_color, 5%);
+ background-color: $_def_active_c;
+ border-color: $_def_active_c;
+ }
+ &:insensitive {
+ @include button(insensitive);
+ border-color: darken($selected_bg_color, 10%);
+ background-color: darken($selected_bg_color, 10%);
+ color: transparentize($selected_fg_color, 0.3);
+ }
+ }
+ }
+}
+
+.login-dialog-logo-bin { padding: 24px 0px; }
+.login-dialog-banner { color: darken($osd_fg_color,10%); }
+.login-dialog-button-box { spacing: 5px; }
+.login-dialog-message-warning { color: $warning_color; }
+.login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
+.login-dialog-user-selection-box { padding: 100px 0px; }
+.login-dialog-not-listed-label {
+ padding-left: 2px;
+ .login-dialog-not-listed-button:focus &,
+ .login-dialog-not-listed-button:hover & {
+ color: $osd_fg_color;
+ }
+}
+
+.login-dialog-not-listed-label {
+ font-size: 90%;
+ font-weight: bold;
+ color: darken($osd_fg_color,30%);
+ padding-top: 1em;
+}
+
+.login-dialog-user-list-view { -st-vfade-offset: 1em; }
+.login-dialog-user-list {
+ spacing: 12px;
+ width: 23em;
+ &:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color:
$selected_fg_color; }
+ &:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
+}
+
+.login-dialog-user-list-item {
+ border-radius: 5px;
+ padding: 6px;
+ color: darken($osd_fg_color,30%);
+ &:ltr .user-widget { padding-right: 1em; }
+ &:rtl .user-widget { padding-left: 1em; }
+ .login-dialog-timed-login-indicator {
+ height: 2px;
+ margin-top: 6px;
+ background-color: $osd_fg_color;
+ }
+ &:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
+}
+
+.login-dialog-username,
+.user-widget-label {
+ color: $osd_fg_color;
+ font-size: 120%;
+ font-weight: bold;
+ text-align: left;
+ padding-left: 15px;
+}
+
+.user-widget-label {
+ &:ltr { padding-left: 14px; }
+ &:rtl { padding-right: 14px; }
+}
+
+.login-dialog-prompt-layout {
+ padding-top: 24px;
+ padding-bottom: 12px;
+ spacing: $base_spacing * 2;
+ width: 23em;
+}
+
+.login-dialog-prompt-label {
+ color: darken($osd_fg_color, 20%);
+ font-size: 110%;
+ padding-top: 1em;
+}
+
+.login-dialog-session-list-button StIcon {
+ icon-size: 1.25em;
+}
+
+.login-dialog-session-list-button {
+ color: darken($osd_fg_color,30%);
+ &:hover,&:focus { color: $osd_fg_color; }
+ &:active { color: darken($osd_fg_color, 50%); }
+}
\ No newline at end of file
diff --git a/widgets/_looking-glass.scss b/widgets/_looking-glass.scss
new file mode 100644
index 0000000..f065812
--- /dev/null
+++ b/widgets/_looking-glass.scss
@@ -0,0 +1,97 @@
+/* Looking Glass */
+
+// Dialog
+#LookingGlassDialog {
+ background-color: $osd_bg_color;
+ spacing: $base_spacing;
+ padding: 4px;
+ border: 2px solid transparentize($osd_fg_color, 0.8);
+ border-top-width:0;
+ border-radius: 0 0 $base_border_radius $base_border_radius;
+
+ & > #Toolbar {
+ border: none;
+ border-radius: $base_border_radius;
+ background-color: darken($osd_bg_color, 10%);
+ }
+
+ .labels { spacing: $base_spacing; }
+ .notebook-tab {
+ -natural-hpadding: $base_padding * 2;
+ -minimum-hpadding: 6px;
+ font-weight: bold;
+ color: $fg_color;
+ transition-duration: 100ms;
+ padding-left: .3em;
+ padding-right: .3em;
+ &:hover {
+ color: white;
+ text-shadow: black 0px 2px 2px;
+ }
+ &:selected {
+ border-bottom-width: 2px;
+ border-color: lighten($selected_bg_color,5%);
+ color: white;
+ text-shadow: black 0px 2px 2px;
+ }
+ }
+ StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
+ StBoxLayout#ResultsArea { spacing: $base_spacing; }
+}
+
+.lg-dialog {
+ StEntry {
+ selection-background-color: #bbbbbb;
+ selected-color: $osd_bg_color;
+ }
+ .shell-link {
+ color: #999999;
+ &:hover { color: #dddddd; }
+ }
+}
+
+.lg-completions-text {
+ font-size: .9em;
+ font-style: italic;
+}
+
+.lg-obj-inspector-title {
+ spacing: $base_spacing;
+}
+
+.lg-obj-inspector-button {
+ border: 1px solid gray;
+ padding: 4px;
+ border-radius: $base_border_radius;
+ &:hover { border: 1px solid #ffffff; }
+}
+
+// Extensions
+#lookingGlassExtensions { padding: 4px; }
+
+.lg-extensions-list {
+ padding: 4px;
+ spacing: 6px;
+}
+
+.lg-extension {
+ border: 1px solid $osd_borders_color;
+ border-radius: $base_border_radius;
+ padding: 4px;
+}
+
+.lg-extension-name {
+ font-weight: bold;
+}
+
+.lg-extension-meta {
+ spacing: 6px;
+}
+
+// Inspector
+#LookingGlassPropertyInspector {
+ background: $osd_bg_color;
+ border: 1px solid $osd_borders_color;
+ border-radius: $base_border_radius;
+ padding: 6px;
+}
\ No newline at end of file
diff --git a/widgets/_message-list.scss b/widgets/_message-list.scss
new file mode 100644
index 0000000..4317c4e
--- /dev/null
+++ b/widgets/_message-list.scss
@@ -0,0 +1,145 @@
+/* Message List */
+// a.k.a. notifications in the menu
+
+// main list
+.message-list {
+ width: 31.5em;
+ padding: 0 $base_padding * 2;
+}
+
+.message-list-sections {
+ margin:0;
+ spacing: $base_spacing;
+}
+
+.message-list-section,
+.message-list-section-list {
+ spacing: $base_spacing;
+}
+
+.message-list-section-list {
+ &:ltr {padding:0;}
+ &:rtl {padding:0;}
+}
+
+// clear button
+.message-list-clear-button {
+ margin:$base_margin;
+ .button {
+ @extend %button;
+ }
+}
+
+// message bubbles
+.message {
+ @extend %notification_bubble;
+
+ // title
+ .message-title {
+ color: $fg_color;
+ font-weight: bold;
+ margin-bottom:4px;
+ }
+
+ // content
+ .message-content {
+ color: darken($fg_color, 10%);
+ padding: $base_padding 0;
+ margin:$base_margin * 2;
+ &:ltr {
+ margin-left: $base_margin;
+ padding-right:$base_padding;
+ }
+ &:rtl {
+ margin-right: $base_margin;
+ padding-left:$base_padding;
+ }
+ }
+
+ // close button
+ .message-close-button {
+ color: lighten($fg_color, 15%);
+ &:hover { color: darken($fg_color, 10%);}
+ }
+
+ // icon container
+ .message-icon-bin {
+ // padding: $base_padding;
+ margin:$base_padding 0;
+
+ &:rtl {
+ // padding: $base_padding;
+ }
+
+ // icon size and color
+ > StIcon {
+ color: $fg_color;
+ icon-size: $base_icon_size * 2; // 32px
+ -st-icon-style: symbolic;
+
+ padding:0;
+ margin:$base_padding;
+ }
+
+ // fallback
+ > .fallback-window-icon {
+ width: $base_icon_size;
+ height: $base_icon_size;
+ }
+ }
+
+ // secondary container in title box
+ .message-secondary-bin {
+ padding: 0;
+
+ // notification time stamp
+ > .event-time {
+ color: transparentize($fg_color, 0.5);
+ font-size: 80%;
+ text-align: right;
+ margin: 0 $base_margin * 2;
+ /* HACK: the label should be baseline-aligned with a 1em label, fake this with some
bottom padding */
+ padding-bottom: $base_padding;
+ }
+ }
+
+}
+
+/* Media Controls */
+.message-media-control {
+ padding: $base_padding * 2 $base_padding * 4;
+ color: darken($fg_color, 15%);
+
+ // uses $hover_bg_color since the media controls are in a notification_bubble
+ &:hover {
+ background-color: lighten($hover_bg_color, 5%);
+ color: $fg_color;
+ }
+
+ &:active {
+ background-color: darken($hover_bg_color, 2%);
+ color: $fg_color;
+ }
+
+ &:insensitive { color: darken($fg_color,40%); }
+
+ // fix border-radius for last button on hover
+ &:last-child:ltr { &:hover {border-radius: 0 $base_border_radius+2 $base_border_radius+2 0;} }
+ &:last-child:rtl { &:hover {border-radius: $base_border_radius+2 0 0 $base_border_radius+2;} }
+}
+
+// album-art
+.media-message-cover-icon {
+ icon-size: $base_icon_size * 2 !important; // 48px
+ border-radius: $base_border_radius;
+
+ // when there is no artwork
+ &.fallback {
+ color: darken($fg_color, 17%);
+ background-color: $bg_color;
+ border: 1px solid transparent;
+ border-radius: $base_border_radius;
+ icon-size: $base_icon_size * 2 !important;
+ padding: $base_padding * 2;
+ }
+}
\ No newline at end of file
diff --git a/widgets/_misc.scss b/widgets/_misc.scss
new file mode 100644
index 0000000..f905de0
--- /dev/null
+++ b/widgets/_misc.scss
@@ -0,0 +1,55 @@
+// Links/URLs
+.shell-link {
+ color: $link_color;
+ &:hover { color: lighten($link_color,10%); }
+}
+
+.url-highlighter { link-color: $link_color; }
+
+// Rubberband for select-area screenshots
+.select-area-rubberband {
+ background-color: transparentize($selected_bg_color,0.7);
+ border: 1px solid $selected_bg_color;
+}
+
+// Pointer accessibility notifications
+.pie-timer {
+ width: 60px;
+ height: 60px;
+ -pie-border-width: 3px;
+ -pie-border-color: $selected_bg_color;
+ -pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
+}
+
+// Screen zoom/Magnifier
+.magnifier-zoom-region {
+ border: 2px solid $selected_bg_color;
+ &.full-screen { border-width: 0; }
+}
+
+// User icon
+.user-icon {
+ background-size: contain;
+ color: $osd_fg_color;
+ border-radius: 99px;
+ &:hover {
+ color: lighten($osd_fg_color,30%);
+ }
+}
+
+// Input Source Switcher
+.input-source-switcher-symbol {
+ font-size: 34pt;
+ width: 96px;
+ height: 96px;
+}
+
+// Window cycler highlight
+.cycler-highlight {
+ border: 5px solid $selected_bg_color;
+}
+
+
+.headline { font-size: 110%; }
+.lightbox { background-color: black; }
+.flashspot { background-color: white; }
diff --git a/widgets/_network-dialog.scss b/widgets/_network-dialog.scss
new file mode 100644
index 0000000..5b3aa63
--- /dev/null
+++ b/widgets/_network-dialog.scss
@@ -0,0 +1,57 @@
+/* Network Dialogs */
+.nm-dialog {
+ @extend %bubble_panel;
+ max-height: 34em;
+ min-height: 31em;
+ min-width: 32em;
+}
+
+.nm-dialog-content {
+ spacing: 20px;
+ padding: 24px;
+}
+
+.nm-dialog-airplane-box { spacing: 12px; }
+
+.nm-dialog-airplane-headline {
+ font-weight: bold;
+ text-align: center;
+}
+
+.nm-dialog-airplane-text { color: $fg_color; }
+
+// header
+.nm-dialog-header {
+ font-weight: bold;
+}
+.nm-dialog-header-icon {
+ icon-size: $base_icon_size * 2;
+}
+.nm-dialog-header-hbox { spacing: 10px; }
+
+// list of networks
+.nm-dialog-scroll-view {
+ border: 1px solid $borders_color;
+ padding:0;
+ background-color: darken($bg_color, 3%);
+}
+
+// list item
+.nm-dialog-item {
+ font-size: $base_font_size;
+ border-bottom: 1px solid $borders_color;
+ padding: $base_padding * 2;
+ spacing: 0px;
+ &:selected {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ }
+}
+
+// icons in list
+.nm-dialog-icon { icon-size: $base_icon_size; }
+.nm-dialog-icons { spacing: $base_spacing * 2; }
+
+// no networks
+.no-networks-label { color: $insensitive_fg_color; }
+.no-networks-box { spacing: $base_padding; }
\ No newline at end of file
diff --git a/widgets/_notifications.scss b/widgets/_notifications.scss
new file mode 100644
index 0000000..e132c2d
--- /dev/null
+++ b/widgets/_notifications.scss
@@ -0,0 +1,100 @@
+/* Notifications & Mesage Tray */
+
+$notification_banner_height: 64px;
+$notification_banner_width: 34em;
+
+// Banner notifications
+.notification-banner {
+ min-height: $notification_banner_height;
+ width: $notification_banner_width;
+ font-size: $base_font_size;
+ margin: $base_margin;
+ border-radius: $modal_radius;
+
+ .message-title { color: $fg_color }
+ .message-content { color: $fg_color; }
+
+ &:hover { background: $bg_color; }
+ &, &:focus, &:active {
+ background-color: $bg_color;
+ .message-title { color: $fg_color }
+ .message-content { color: $fg_color; }
+ }
+
+ // icon
+ .message-icon-bin > StIcon {
+ icon-size: $base_icon_size * 2;
+ color: $fg_color;
+ }
+
+ // entries
+ StEntry { @extend %bubble_entry; }
+
+ .notification-icon {
+ padding: 5px;
+ }
+
+ .notification-content {
+ padding: 5px;
+ spacing: 5px;
+ }
+
+ .secondary-icon { icon-size: $base_icon_size; }
+
+ .notification-actions {
+ padding-top: 0;
+ color: $fg_color;
+ border-top: 1px solid $bubble_borders_color;
+ spacing: 0;
+ }
+
+ .notification-button {
+ @extend %bubble_button;
+ min-height: $notification_banner_height * 0.5;
+ padding: $base_padding !important;
+ border-top-width: 0 !important;
+
+ &:focus { box-shadow: none; }
+ }
+}
+
+// counter
+.summary-source-counter {
+ font-size: $base_font_size - 1pt;
+ font-weight: bold;
+ height: 1.6em;
+ width: 1.6em;
+ -shell-counter-overlap-x: 3px;
+ -shell-counter-overlap-y: 3px;
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ border: 2px solid $fg_color;
+ box-shadow: 0 2px 2px rgba(0,0,0,0.5);
+ border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
+}
+
+.secondary-icon { icon-size: $base_icon_size; }
+
+// chat bubbles
+.chat-body { spacing: 5px; }
+.chat-response { margin: 5px; }
+.chat-log-message { color: darken($fg_color,10%); }
+.chat-new-group { padding-top: 1em; }
+.chat-received {
+ padding-left: 4px;
+ &:rtl { padding-left: 0px; padding-right: 4px; }
+}
+
+.chat-sent {
+ padding-left: 18pt;
+ color: lighten($fg_color, 15%);
+ &:rtl { padding-left: 0; padding-right: 18pt; }
+}
+
+.chat-meta-message {
+ padding-left: 4px;
+ font-size: 9pt;
+ font-weight: bold;
+ color: lighten($fg_color,18%);
+ &:rtl { padding-left: 0; padding-right: 4px; }
+}
\ No newline at end of file
diff --git a/widgets/_osd.scss b/widgets/_osd.scss
new file mode 100644
index 0000000..ad2d1d1
--- /dev/null
+++ b/widgets/_osd.scss
@@ -0,0 +1,37 @@
+/* OSD */
+.osd-window {
+ @extend %osd_panel;
+ text-align: center;
+ font-weight: bold;
+ spacing: 1em;
+ margin: 32px;
+ min-width: 64px;
+ min-height: 64px;
+
+ .osd-monitor-label { font-size: 3em; }
+ .level {
+ height: 0.6em;
+ -barlevel-height: 0.6em;
+ -barlevel-background-color: transparentize($fg_color, if($variant=='light', 0.2, 0.9));
+ -barlevel-active-background-color: $osd_fg_color;
+ -barlevel-overdrive-color: $destructive_color;
+ -barlevel-overdrive-separator-width: 0.2em;
+ }
+}
+
+/* Pad OSD */
+.pad-osd-window {
+ padding: 32px;
+ background-color: transparentize(#000, 0.2);
+
+ .pad-osd-title-box { spacing: 12px; }
+ .pad-osd-title-menu-box { spacing: 6px; }
+}
+
+.combo-box-label {
+ width: 15em;
+}
+
+.resize-popup {
+ @extend %osd_panel;
+}
\ No newline at end of file
diff --git a/widgets/_overview.scss b/widgets/_overview.scss
new file mode 100644
index 0000000..b48bd05
--- /dev/null
+++ b/widgets/_overview.scss
@@ -0,0 +1,10 @@
+/* OVERVIEW */
+
+#overview {
+ spacing: 24px;
+ background-color: transparent;
+}
+
+.overview-controls {
+ padding-bottom: 32px;
+}
\ No newline at end of file
diff --git a/widgets/_panel.scss b/widgets/_panel.scss
new file mode 100644
index 0000000..ba8e667
--- /dev/null
+++ b/widgets/_panel.scss
@@ -0,0 +1,106 @@
+/* Top Bar */
+// a.k.a. the panel
+
+$panel_corner_radius: $base_border_radius+1;
+$panel_bg_color: if($variant == 'light', rgba(0,0,0,0.9), #000);
+$panel_fg_color: if($variant == 'light', darken($bg_color, 15%), darken($fg_color, 10%));
+$panel_height: 1.86em;
+
+
+#panel {
+ background-color: $panel_bg_color;
+ font-weight: bold;
+ height: $panel_height;
+ font-feature-settings: "tnum";
+
+ // transparent panel on lock & login screens
+ &.unlock-screen,
+ &.login-screen,
+ &.lock-screen {
+ background-color: transparent;
+
+ .panel-corner {
+ -panel-corner-radius: 0;
+ -panel-corner-background-color: transparent;
+ -panel-corner-border-color: transparent;
+ }
+ }
+
+ // spacing between activities, app menu and such
+ #panelLeft, #panelCenter {
+ spacing: $base_spacing;
+ }
+
+ // the rounded outset corners
+ .panel-corner {
+ -panel-corner-radius: $panel_corner_radius;
+ -panel-corner-background-color: $panel_bg_color;
+ -panel-corner-border-width: 2px;
+ -panel-corner-border-color: transparent;
+
+ &:active, &:overview, &:focus {
+ -panel-corner-border-color: lighten($selected_bg_color,5%);
+ }
+ }
+
+ // panel menus
+ .panel-button {
+ font-weight: bold;
+ color: $panel_fg_color;
+ -natural-hpadding: $base_padding * 2;
+ -minimum-hpadding: $base_padding;
+
+ &:hover {
+ color: lighten($panel_fg_color, 20%);
+ }
+
+ &:active, &:overview, &:focus, &:checked {
+ background-color: $panel_bg_color; // Trick due to St limitations. It needs a background to draw a
box-shadow
+ box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
+
+ color: lighten($panel_fg_color, 20%);
+ }
+
+ // status area icons
+ .system-status-icon {
+ icon-size: $base_icon_size;
+ padding: $base_padding - 1px;
+ }
+
+ // app menu icon
+ .app-menu-icon {
+ margin-left: $base_margin;
+ margin-right: $base_margin;
+ -st-icon-style: symbolic;
+ // dimensions of the icon are hardcoded
+ }
+
+ // lock & login screen styles
+ .unlock-screen &,
+ .login-screen &,
+ .lock-screen & {
+ color: lighten($fg_color, 10%);
+ &:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
+ }
+ }
+
+ .panel-status-indicators-box,
+ .panel-status-menu-box {
+ spacing: 2px;
+ }
+
+ // spacing between power icon and (optional) percentage label
+ .power-status.panel-status-indicators-box {
+ spacing: 0;
+ }
+
+ // indicator for active
+ .screencast-indicator,
+ .remote-access-indicator { color: $warning_color; }
+}
+
+// App Menu
+#appMenu {
+ spacing: $base_spacing;
+ .label-shadow { color: transparent; }
+}
\ No newline at end of file
diff --git a/widgets/_popovers.scss b/widgets/_popovers.scss
new file mode 100644
index 0000000..9cf6b10
--- /dev/null
+++ b/widgets/_popovers.scss
@@ -0,0 +1,123 @@
+/* Popovers/Menus */
+
+$popover_arrow_height: 12px;
+
+//.the popover itself
+.popup-menu-boxpointer,
+.candidate-popup-boxpointer {
+ -arrow-border-radius: $base_border_radius+4;
+ -arrow-background-color: $bg_color;
+ -arrow-border-width: 1px;
+ -arrow-border-color: $borders_color;
+ -arrow-base: $popover_arrow_height * 2;
+ -arrow-rise: $popover_arrow_height;
+ -arrow-box-shadow: 0 1px 3px rgba(0,0,0,0.5); // dreaming bugzilla #689995
+}
+
+// container of the popover menu
+.popup-menu {
+ min-width: 15em;
+ color: $fg_color;
+
+ //.popup-status-menu-item { font-weight: normal; color: pink; } //dunno what that is
+ &.panel-menu {
+ -boxpointer-gap: $base_margin; // distance from the panel
+ margin-bottom: 1.75em;
+ }
+}
+
+.popup-menu-content {
+ padding: $base_padding * 2 + $base_margin 0;
+}
+
+// menu items
+.popup-menu-item {
+ spacing: $base_padding;
+ padding: $base_padding;
+
+ &:ltr { padding-right:1.75em; padding-left: 0; }
+ &:rtl { padding-right: 0; padding-left:1.75em; }
+
+ &:checked {
+ background-color: lighten($bg_color, 2%);
+ box-shadow: none;
+ }
+
+ &.selected {
+ background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
+ color: $fg_color;
+ }
+
+ &:active {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ }
+
+ &:insensitive { color: transparentize($fg_color,0.5);}
+}
+
+// all icons and other graphical elements
+.popup-inactive-menu-item {
+ color: $fg_color;
+
+ &:insensitive { color: transparentize($fg_color,0.5); }
+}
+
+// symbolic icons in popover
+.popup-menu-arrow,
+.popup-menu-icon { icon-size: $base_icon_size; }
+
+// popover submenus
+.popup-sub-menu {
+ background-color: darken($bg_color, 3%);
+ box-shadow: none;
+ border-top: 1px solid transparentize($borders_color, 0.2);
+ border-bottom: 1px solid transparentize($borders_color, 0.2);
+
+ .popup-menu-item:hover {background-color: darken($bg_color, 7%);}
+}
+
+// container for radio and check boxes
+.popup-menu-ornament {
+ text-align: right;
+ width: 1.2em;
+}
+
+// separator
+.popup-separator-menu-item {
+ //-margin-horizontal: 24px;
+ height: 1px; //not really the whole box
+ margin: 6px 64px;
+ background-color: lighten($borders_color, 2%);
+ border: none !important;
+}
+
+// desktop background menu
+.background-menu {
+ -boxpointer-gap: $base_margin;
+ -arrow-rise: 0px; // hide the beak on the menu
+}
+
+// system status menu
+.aggregate-menu {
+ min-width: 21em;
+
+ // lock screen, shutdown, etc. buttons
+ .popup-menu-icon {
+ padding:0;
+ margin: 0 $base_margin;
+ -st-icon-style: symbolic;
+ }
+
+ .popup-sub-menu .popup-menu-item > :first-child {
+ // account for icons in submenus with padding
+ &:ltr {
+ padding-left: $base_padding + $base_margin * 2;
+ margin-left: $base_icon_size;
+ }
+ &:rtl {
+ padding-right: $base_padding + $base_margin * 2; ;
+ margin-right: $base_icon_size;
+ }
+ }
+}
\ No newline at end of file
diff --git a/widgets/_screen-shield.scss b/widgets/_screen-shield.scss
new file mode 100644
index 0000000..0f8a8be
--- /dev/null
+++ b/widgets/_screen-shield.scss
@@ -0,0 +1,83 @@
+/* Screen Shield */
+
+$_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
+
+.screen-shield-arrows {
+ padding-bottom: 3em;
+}
+
+.screen-shield-arrows Gjs_Arrow {
+ color: white;
+ width: 80px;
+ height: 48px;
+ -arrow-thickness: 12px;
+ -arrow-shadow: $_screenshield_shadow;
+}
+
+.screen-shield-clock {
+ color: white;
+ text-shadow: $_screenshield_shadow;
+ font-weight: bold;
+ text-align: center;
+ padding-bottom: 1.5em;
+}
+
+.screen-shield-clock-time {
+ font-size: 72pt;
+ text-shadow: $_screenshield_shadow;
+ font-feature-settings: "tnum";
+}
+
+.screen-shield-clock-date {
+ font-size: 28pt;
+ font-weight: normal;
+}
+
+.screen-shield-notifications-container {
+ spacing: 6px;
+ width: 30em;
+ background-color: transparent;
+ max-height: 500px;
+ .summary-notification-stack-scrollview {
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+ .notification,
+ .screen-shield-notification-source {
+ padding: 12px 6px;
+ border: 1px solid $osd_outer_borders_color;
+ background-color: transparentize($osd_bg_color,0.5);
+ color: $osd_fg_color;
+ border-radius: 4px;
+ }
+ .notification { margin-right: 15px; } //compensate for space allocated to the scrollbar
+}
+
+
+.screen-shield-notification-label {
+ font-weight: bold;
+ padding: 0px 0px 0px 12px;
+}
+
+.screen-shield-notification-count-text { padding: 0px 0px 0px 12px; }
+
+#panel.lock-screen { background-color: transparentize($osd_bg_color, 0.5); }
+
+.screen-shield-background { //just the shadow, really
+ background: black;
+ box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
+}
+
+#lockDialogGroup {
+ background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png);
+ background-repeat: repeat;
+}
+
+#screenShieldNotifications {
+ StButton#vhandle, StButton#hhandle {
+ background-color: transparentize($bg_color,0.7);
+ &:hover, &:focus { background-color: transparentize($bg_color,0.5); }
+ &:active { background-color: transparentize($selected_bg_color,0.5); }
+ }
+}
\ No newline at end of file
diff --git a/widgets/_scrollbars.scss b/widgets/_scrollbars.scss
new file mode 100644
index 0000000..640c532
--- /dev/null
+++ b/widgets/_scrollbars.scss
@@ -0,0 +1,29 @@
+/* Scrollbars */
+
+StScrollView {
+ &.vfade { -st-vfade-offset: 68px; }
+ &.hfade { -st-hfade-offset: 68px; }
+}
+
+StScrollBar {
+ padding: 0;
+
+ StScrollView & {
+ min-width: 14px;
+ min-height: 14px;
+ }
+
+ StBin#trough {
+ border-radius: 0;
+ background-color: transparent;
+ }
+
+ StButton#vhandle, StButton#hhandle {
+ border-radius: 8px;
+ background-color: mix($fg_color, $bg_color, 60%);
+ //border: 3px solid transparent; //would be nice to margin or at least to transparent
+ margin: 3px;
+ &:hover { background-color: mix($fg_color, $bg_color, 80%); }
+ &:active { background-color: $selected_bg_color; }
+ }
+}
\ No newline at end of file
diff --git a/widgets/_search-entry.scss b/widgets/_search-entry.scss
new file mode 100644
index 0000000..5ecba46
--- /dev/null
+++ b/widgets/_search-entry.scss
@@ -0,0 +1,33 @@
+// Search entry
+
+$search_entry_width: 320px;
+
+%search_entry,
+.search-entry {
+ width: $search_entry_width;
+ padding: 7px 9px;
+ border-radius: 18px;
+ color: transparentize($fg_color,0.3);
+ background-color: $bg_color;
+ border-color: $borders_color;
+
+ &:hover {
+ background-color: $hover_bg_color;
+ border-color: $hover_borders_color;
+ color: $hover_fg_color;
+ }
+
+ &:focus {
+ padding: 6px 8px; // 1px less to account for wider border
+ border-width: 2px;
+ color: $fg_color;
+ border-color: $selected_bg_color;
+ box-shadow: inset 0 1px 2px 1px rgba(0,0,0,0.2);
+ }
+
+ .search-entry-icon {
+ icon-size: $base_icon_size;
+ padding: 0 4px;
+ color: inherit;
+ }
+}
\ No newline at end of file
diff --git a/widgets/_search-results.scss b/widgets/_search-results.scss
new file mode 100644
index 0000000..dd3f28c
--- /dev/null
+++ b/widgets/_search-results.scss
@@ -0,0 +1,160 @@
+/* Search */
+$overview_search_container_width: 1024px;
+
+
+%search_result_bubble {
+ background-color: transparentize(lighten($osd_bg_color, 5%), 0.2);
+ border-radius: $modal_radius + 3px;
+ border: 1px solid $osd_outer_borders_color;
+ box-shadow: 0 2px 4px 0 $shadow_color;
+ text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
+ color: $osd_fg_color;
+ padding: $base_padding * 3;
+ margin: $base_margin;
+}
+
+// search overview container
+#searchResultsContent {
+ max-width: $overview_search_container_width;
+}
+
+// search results sections "the boxes"
+.search-section {
+ @extend %search_result_bubble;
+ spacing:0;
+ margin-top:0;
+ margin-bottom:0;
+
+ // hide separator
+ &:first-child .search-section-separator,
+ &:last-child .search-section-separator {
+ background-color: transparent;
+ }
+
+ // separator
+ .search-section-separator {
+ // margin-top: $base_padding * 2;
+ // height: 1px;
+ // background-color: $osd_outer_borders_color;
+ height: 0px;
+ background-color: transparent;
+ }
+
+ // content
+ .search-section-content {
+ spacing: 0;
+ }
+}
+
+
+// "no results" text
+.search-statustext {
+ @extend %status_text;
+}
+
+// Search results with icons
+.grid-search-result {
+ > .overview-icon {
+ @extend %icon_tile;
+ color: $osd_fg_color;
+ }
+
+ > .overview-icon.overview-icon-with-label {
+ padding: 10px 8px 5px 8px;
+ spacing: $base_spacing;
+ }
+
+ &:hover,
+ &:focus,
+ &:selected {
+ .overview-icon {
+ background-color: transparentize($osd_bg_color,0.8);
+ color: $osd_fg_color;
+ }
+ }
+
+ &:drop .overview-icon {
+ background-color: transparentize($selected_bg_color,.15);
+ }
+
+ &:active .overview-icon,
+ &:checked .overview-icon {
+ background-color: transparentize(darken($osd_bg_color,10%), 0.5);
+ }
+}
+
+// search result provider
+.search-provider-icon {
+ @extend %icon_tile;
+
+ padding: 0;
+ spacing: 0;
+ margin-right: $base_margin * 2;
+
+ &:focus,
+ &:selected,
+ &:hover {
+ background-color: transparentize($osd_fg_color,.9);
+ transition-duration: 200ms;
+ }
+
+ &:active,
+ &:checked {
+ background-color: transparentize(darken($osd_bg_color,10%),.1);
+ }
+
+ // content
+ .list-search-provider-content {
+ spacing: $base_spacing * 2;
+
+ // provider labels
+ .list-search-provider-details {
+ width: 120px;
+ margin-top: 0;
+ color: darken($osd_fg_color, 8%);
+ // font-weight: bold;
+ }
+ }
+}
+
+// search results list
+.list-search-results {
+ spacing: $base_spacing;
+}
+
+// search result listitem
+.list-search-result {
+ @extend %icon_tile;
+ spacing: 0;
+ padding: $base_padding;
+ color: $osd_fg_color;
+
+ &:focus,
+ &:selected,
+ &:hover {
+ background-color: transparentize($osd_fg_color,.9);
+ transition-duration: 200ms;
+ }
+ &:active,
+ &:checked {
+ background-color: transparentize(darken($osd_bg_color,10%),.1);
+ }
+
+ // content
+ .list-search-result-content {
+ spacing: 0;
+ }
+
+ // list item title
+ .list-search-result-title {
+ color: $osd_fg_color;
+ spacing: $base_spacing * 2;
+ padding-right: $base_padding;
+ // font-weight: bold;
+ }
+
+ // list item description
+ .list-search-result-description {
+ color: darken($osd_fg_color, 30%);
+ }
+}
\ No newline at end of file
diff --git a/widgets/_slider.scss b/widgets/_slider.scss
new file mode 100644
index 0000000..4b84ad6
--- /dev/null
+++ b/widgets/_slider.scss
@@ -0,0 +1,27 @@
+/* Slider */
+
+$slider_size: 15px;
+
+.slider {
+ height: $slider_size;
+ // slider trough
+ -barlevel-height: 3px; // has to be an odd number
+ -barlevel-background-color: $borders_color; //background of the trough
+ -barlevel-border-width: 1px;
+ -barlevel-border-color: $borders_color; // trough border color
+ // fill style
+ -barlevel-active-background-color: $selected_bg_color; //active trough fill
+ -barlevel-active-border-color: if($variant == 'light', darken($selected_bg_color, 4%),
lighten($selected_bg_color, 2%)); //active trough border
+ // overfill style (red in this case)
+ -barlevel-overdrive-color: $destructive_color;
+ -barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%),
lighten($destructive_color, 2%)); //trough border when red;
+ -barlevel-overdrive-separator-width:1px;
+ // slider hander
+ -slider-handle-radius: $slider_size * 0.5; // half the size of the size
+ -slider-handle-border-width: 1px;
+ -slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
+
+ color: if($variant == 'light', lighten($bg_color, 10%), $fg_color);
+ &:hover { color: $hover_bg_color; }
+ &:active { color: $active_bg_color; }
+}
\ No newline at end of file
diff --git a/widgets/_switches.scss b/widgets/_switches.scss
new file mode 100644
index 0000000..51dc478
--- /dev/null
+++ b/widgets/_switches.scss
@@ -0,0 +1,16 @@
+/* Switches */
+
+// these are equal to the size of the SVG assets
+$switch_height: 22px;
+$switch_width: 46px;
+
+.toggle-switch {
+ color: $fg_color;
+ height: $switch_height;
+ width: $switch_width;
+ background-size: contain;
+ background-image: if($variant == 'light',
url("resource:///org/gnome/shell/theme/toggle-off.svg"),url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
+ &:checked {
+ background-image: if($variant == 'light',
url("resource:///org/gnome/shell/theme/toggle-on.svg"),url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
+ }
+}
\ No newline at end of file
diff --git a/widgets/_tiled-previews.scss b/widgets/_tiled-previews.scss
new file mode 100644
index 0000000..f4b8f54
--- /dev/null
+++ b/widgets/_tiled-previews.scss
@@ -0,0 +1,19 @@
+
+/* Tiled window previews */
+$tile_corner_radius: $base_border_radius + 1px;
+.tile-preview {
+ background-color: transparentize($selected_bg_color,0.5);
+ border: 1px solid $selected_bg_color;
+}
+
+.tile-preview-left.on-primary {
+ border-radius: $tile_corner_radius 0 0 0;
+}
+
+.tile-preview-right.on-primary {
+ border-radius: 0 $tile_corner_radius 0 0;
+}
+
+.tile-preview-left.tile-preview-right.on-primary {
+ border-radius: $tile_corner_radius $tile_corner_radius 0 0;
+}
\ No newline at end of file
diff --git a/widgets/_window-picker.scss b/widgets/_window-picker.scss
new file mode 100644
index 0000000..5c9d565
--- /dev/null
+++ b/widgets/_window-picker.scss
@@ -0,0 +1,66 @@
+/* Window Picker */
+
+$window_picker_spacing: 48px;
+$window_picker_padding: 64px;
+
+$window_thumbnail_border_color:transparentize($selected_fg_color, 0.65);
+
+$window_close_button_size: 24px;
+$window_close_button_padding: 3px;
+
+
+// Window picker
+.window-picker {
+ // Space between window thumbnails
+ -horizontal-spacing: $window_picker_spacing;
+ -vertical-spacing: $window_picker_spacing;
+ // Padding for container around window thumbnails
+ padding: $window_picker_padding;
+
+ &.external-monitor { padding: $window_picker_padding; }
+}
+
+// Borders on window thumbnails
+.window-clone-border {
+ border: 6px solid $window_thumbnail_border_color;
+ border-radius: $base_border_radius + 2px;
+ // For window decorations with round corners we can't match
+ // the exact shape when the window is scaled. So apply a shadow
+ // to fix that case
+ box-shadow: inset 0 0 0 1px transparentize($borders_color, 0.8);
+}
+
+// Window titles
+.window-caption {
+ spacing: 24px;
+ color: $selected_fg_color;
+ background-color: rgba(0,0,0,0.5);
+ border:1px solid rgba(0,0,0,0.6);
+ border-radius: 8px;
+ margin-top: 24px;
+ padding: 4px 12px;
+ font-size: $base_font_size + 1pt;
+ font-weight: bold;
+}
+
+// Close button
+.window-close {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ border: none;
+ border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
+ padding: $window_close_button_padding;
+ height: $window_close_button_size;
+ width: $window_close_button_size;
+ box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
+
+ -shell-close-overlap: $window_close_button_size * 0.5;
+
+ &:hover {
+ background-color: lighten($selected_bg_color, 5%);
+ }
+
+ &:active {
+ background-color: darken($selected_bg_color, 5%);
+ }
+}
\ No newline at end of file
diff --git a/widgets/_workspace-switcher.scss b/widgets/_workspace-switcher.scss
new file mode 100644
index 0000000..cf5e6af
--- /dev/null
+++ b/widgets/_workspace-switcher.scss
@@ -0,0 +1,70 @@
+/* Workspace Switcher */
+.workspace-switcher-group {
+ padding: $base_padding * 2;
+}
+
+.workspace-switcher-container {
+ @extend %osd_panel;
+ box-shadow: 0 2px 10px 2px rgba(0,0,0,0.2);
+}
+
+.workspace-switcher {
+ background: transparent;
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ spacing: $base_spacing * 2;
+
+ .ws-switcher-box {
+ // background: transparent;
+ background: transparent;
+ height: 50px;
+ background-size: 32px;
+ border: 1px solid transparentize($osd_fg_color,0.9);
+ border-radius: $base_border_radius + 3px;
+ }
+
+ // active workspace in the switcher
+ .ws-switcher-active-up,
+ .ws-switcher-active-down,
+ .ws-switcher-active-left,
+ .ws-switcher-active-right {
+ background-color: $selected_bg_color;
+ border: 1px solid if($variant=='light', darken($selected_bg_color, 8%),
lighten($selected_bg_color, 5%));
+ color: $selected_fg_color;
+ }
+}
+
+/* Workspace pager */
+
+// thumbnails in overview
+.workspace-thumbnails {
+ @extend %overview_panel;
+ visible-width: 32px; //amount visible before hover
+ spacing: $base_spacing;
+ padding: $base_padding;
+
+ //fixme: can't have non uniform borders :(
+ border-top-left-radius:0 !important;
+ border-bottom-left-radius:0 !important;
+ border-right-width: 0 !important;
+ &:rtl {
+ border-radius: 0 $modal_radius $modal_radius 0;
+ border-left-width: 0 !important;
+ }
+
+ // drag and drop indicator
+ .placeholder {
+ background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
+ background-size: contain;
+ height: 24px;
+ }
+}
+
+// selected indicator
+.workspace-thumbnail-indicator {
+ border: 3px solid $selected_bg_color;
+ border-radius: 3px;
+ padding: 0px;
+ // background-color: transparentize($selected_bg_color, 0.9);
+}
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]