roundabout,
created on Saturday, 6 March 2021, 23:35:50 (1615073750),
received on Sunday, 11 May 2025, 13:22:59 (1746969779)
Author identity: nana-4 <hnmaigo@gmail.com>
74c4706cf0f2eedf44ec98e3cb49ccfd21c2f527
src/gnome-shell/meson.build
@@ -21,6 +21,13 @@ gnome_shell_scss_depend_files = files([
'../_color-palette.scss',
'../_colors.scss',
'../_variables.scss',
'sass/components/base/_base.scss',
'sass/components/base/_button.scss',
'sass/components/base/_check-box.scss',
'sass/components/base/_entry.scss',
'sass/components/base/_scrollbar.scss',
'sass/components/base/_slider.scss',
'sass/components/base/_switch.scss',
'sass/components/dialog/_dialog.scss',
'sass/components/dialog/_network-dialog.scss',
'sass/components/gdm/_login-dialog.scss',
@@ -48,13 +55,6 @@ gnome_shell_scss_depend_files = files([
'sass/components/overview/_workspace-switcher.scss',
'sass/components/panel/_panel.scss',
'sass/components/panel/_ripple-box.scss',
'sass/components/_base.scss',
'sass/components/_button.scss',
'sass/components/_check-box.scss',
'sass/components/_entry.scss',
'sass/components/_scrollbar.scss',
'sass/components/_slider.scss',
'sass/components/_switch.scss',
'sass/_components.scss',
'sass/_drawing.scss',
'sass/_extensions.scss',
src/gnome-shell/sass/_components.scss
@@ -5,13 +5,13 @@
//
// Primary components
@import 'components/base';
@import 'components/entry';
@import 'components/button';
@import 'components/check-box';
@import 'components/switch';
@import 'components/slider';
@import 'components/scrollbar';
@import 'components/base/base';
@import 'components/base/entry';
@import 'components/base/button';
@import 'components/base/check-box';
@import 'components/base/switch';
@import 'components/base/slider';
@import 'components/base/scrollbar';
// Popovers
@import 'components/menu/menu';
@import 'components/menu/calendar';
src/gnome-shell/sass/components/_base.scss
@@ -1,58 +0,0 @@
/* Copyright 2009, 2015 Red Hat, Inc.
*
* Portions adapted from Mx's data/style/default.css
* Copyright 2009 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
*/
// Stage
stage {
color: $on-surface;
@if $version >= 3.36 {
font-size: 1em;
} @else {
@include type(body2);
font-family: $font-family;
}
}
// Links
.shell-link {
transition-duration: $duration;
border-radius: $corner-radius;
color: $primary;
&:hover {
background-color: overlay("hover", $primary);
color: $primary;
}
&:active {
transition-duration: $duration-ripple;
background-color: overlay("pressed", $primary);
color: $primary;
}
}
// Outline for low res icons
.lowres-icon {
icon-shadow: none;
}
// Dropshadow for large icons
.icon-dropshadow {
icon-shadow: none;
}
src/gnome-shell/sass/components/_button.scss
@@ -1,48 +0,0 @@
/* Buttons */
%button,
.button {
min-height: $medium-size;
min-width: 64px - 8px * 2;
padding: 0 8px;
border: 0;
border-radius: $corner-radius;
@include type(button);
@include button(flat-normal);
&:focus {
@include button(flat-focus);
}
&:hover {
@include button(flat-hover);
}
&:active {
@include button(flat-active);
}
&:insensitive {
@include button(flat-insensitive);
}
}
// buttons in dialogs and notifications
%bubble_button {
@extend %button;
margin: $container-padding;
margin-right: 0;
&:first-child,
&:last-child,
&:first-child:last-child {
border-radius: $corner-radius;
}
&:last-child,
&:first-child:last-child {
margin-right: $container-padding;
border-right-width: 0;
}
}
src/gnome-shell/sass/components/_check-box.scss
@@ -1,50 +0,0 @@
/* Check Boxes */
.check-box {
StBoxLayout {
spacing: 8px;
}
StBin {
transition-duration: $duration;
width: 24px;
height: 24px;
padding: ($medium-size - 24px) / 2;
border-radius: $medium-size / 2;
}
StBin,
&:focus StBin {
background-image: url("assets/checkbox-off.svg");
}
&:focus StBin {
background-color: overlay("focus", $on-surface);
}
&:hover StBin {
background-color: overlay("hover", $on-surface);
}
&:active StBin {
transition-duration: $duration-ripple;
background-color: overlay("pressed", $on-surface);
}
&:checked StBin,
&:checked:focus StBin {
background-image: url("assets/checkbox.svg");
}
&:checked:focus StBin {
background-color: overlay("focus", $primary);
}
&:checked:hover StBin {
background-color: overlay("hover", $primary);
}
&:checked:active StBin {
background-color: overlay("pressed", $primary);
}
}
src/gnome-shell/sass/components/_entry.scss
@@ -1,51 +0,0 @@
/* Entries */
%entry,
StEntry {
min-height: $medium-size;
padding: 0 8px;
border-width: 0;
border-radius: $corner-radius $corner-radius 0 0;
color: $on-surface;
selection-background-color: $overlay-selected;
selected-color: $on-surface;
@include type(body1);
@include entry(normal);
&:hover {
@include entry(hover);
}
&:focus {
@include entry(focus);
@if $version == 3.34 {
border: 0;
}
}
&:insensitive {
@include entry(insensitive);
}
StIcon.capslock-warning {
icon-size: 16px;
padding: 0 4px;
warning-color: $warning;
}
StIcon.peek-password {
icon-size: 16px;
padding: 0 4px;
color: hint($on-surface);
&:hover {
color: $on-surface;
}
}
StLabel.hint-text {
margin-left: 2px;
color: hint($on-surface);
}
}
src/gnome-shell/sass/components/_scrollbar.scss
@@ -1,58 +0,0 @@
/* Scrollbars */
StScrollView {
&.vfade { -st-vfade-offset: 32px; }
&.hfade { -st-hfade-offset: 32px; }
}
StScrollBar {
padding: 0;
StScrollView & {
min-width: 16px;
min-height: 16px;
}
StBin#trough {
margin: 4px;
border-radius: (8px / 2);
background-color: disabled-stroke($on-surface);
}
StButton#vhandle,
StButton#hhandle {
transition-duration: $duration;
margin: 4px;
// would be nice to margin or at least to transparent
// border: 4px solid transparent;
border-radius: (8px / 2);
background-color: scrollbar-thumb($on-surface);
&:hover {
background-color: scrollbar-thumb($on-surface, "hover");
}
&:active {
background-color: scrollbar-thumb($on-surface, "pressed");
}
}
}
%scrollbar-on-dark {
StBin#trough {
background-color: disabled-stroke($on-dark);
}
StButton#vhandle,
StButton#hhandle {
background-color: scrollbar-thumb($on-dark);
&:hover {
background-color: scrollbar-thumb($on-dark, "hover");
}
&:active {
background-color: scrollbar-thumb($on-dark, "pressed");
}
}
}
src/gnome-shell/sass/components/_slider.scss
@@ -1,42 +0,0 @@
/* Slider */
$handle-size: 12px;
.slider {
height: 20px;
@if $version >= 3.30 {
// slider trough
-barlevel-height: 2px;
-barlevel-border-width: 0;
-barlevel-border-color: transparent;
-barlevel-background-color: stroke($on-surface);
// fill style
-barlevel-active-border-color: transparent;
-barlevel-active-background-color: $primary;
// overfill style
-barlevel-overdrive-color: $error;
-barlevel-overdrive-border-color: transparent;
-barlevel-overdrive-separator-width: 2px;
} @else {
// slider trough
-slider-height: 2px;
-slider-border-width: 0;
-slider-border-color: transparent;
-slider-background-color: stroke($on-surface);
// fill style
-slider-active-border-color: transparent;
-slider-active-background-color: $primary;
}
// slider handle
-slider-handle-radius: $handle-size / 2;
-slider-handle-border-width: 0;
-slider-handle-border-color: transparent;
&,
&:hover,
&:active {
color: $primary;
}
}
src/gnome-shell/sass/components/_switch.scss
@@ -1,13 +0,0 @@
/* Switches */
.toggle-switch {
color: inherit;
width: 40px;
height: 20px;
background-size: contain;
background-image: url("assets/toggle-off.svg");
&:checked {
background-image: url("assets/toggle-on.svg");
}
}
src/gnome-shell/sass/components/base/_base.scss
@@ -0,0 +1,58 @@
/* Copyright 2009, 2015 Red Hat, Inc.
*
* Portions adapted from Mx's data/style/default.css
* Copyright 2009 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
*/
// Stage
stage {
color: $on-surface;
@if $version >= 3.36 {
font-size: 1em;
} @else {
@include type(body2);
font-family: $font-family;
}
}
// Links
.shell-link {
transition-duration: $duration;
border-radius: $corner-radius;
color: $primary;
&:hover {
background-color: overlay("hover", $primary);
color: $primary;
}
&:active {
transition-duration: $duration-ripple;
background-color: overlay("pressed", $primary);
color: $primary;
}
}
// Outline for low res icons
.lowres-icon {
icon-shadow: none;
}
// Dropshadow for large icons
.icon-dropshadow {
icon-shadow: none;
}
src/gnome-shell/sass/components/base/_button.scss
@@ -0,0 +1,48 @@
/* Buttons */
%button,
.button {
min-height: $medium-size;
min-width: 64px - 8px * 2;
padding: 0 8px;
border: 0;
border-radius: $corner-radius;
@include type(button);
@include button(flat-normal);
&:focus {
@include button(flat-focus);
}
&:hover {
@include button(flat-hover);
}
&:active {
@include button(flat-active);
}
&:insensitive {
@include button(flat-insensitive);
}
}
// buttons in dialogs and notifications
%bubble_button {
@extend %button;
margin: $container-padding;
margin-right: 0;
&:first-child,
&:last-child,
&:first-child:last-child {
border-radius: $corner-radius;
}
&:last-child,
&:first-child:last-child {
margin-right: $container-padding;
border-right-width: 0;
}
}
src/gnome-shell/sass/components/base/_check-box.scss
@@ -0,0 +1,50 @@
/* Check Boxes */
.check-box {
StBoxLayout {
spacing: 8px;
}
StBin {
transition-duration: $duration;
width: 24px;
height: 24px;
padding: ($medium-size - 24px) / 2;
border-radius: $medium-size / 2;
}
StBin,
&:focus StBin {
background-image: url("assets/checkbox-off.svg");
}
&:focus StBin {
background-color: overlay("focus", $on-surface);
}
&:hover StBin {
background-color: overlay("hover", $on-surface);
}
&:active StBin {
transition-duration: $duration-ripple;
background-color: overlay("pressed", $on-surface);
}
&:checked StBin,
&:checked:focus StBin {
background-image: url("assets/checkbox.svg");
}
&:checked:focus StBin {
background-color: overlay("focus", $primary);
}
&:checked:hover StBin {
background-color: overlay("hover", $primary);
}
&:checked:active StBin {
background-color: overlay("pressed", $primary);
}
}
src/gnome-shell/sass/components/base/_entry.scss
@@ -0,0 +1,51 @@
/* Entries */
%entry,
StEntry {
min-height: $medium-size;
padding: 0 8px;
border-width: 0;
border-radius: $corner-radius $corner-radius 0 0;
color: $on-surface;
selection-background-color: $overlay-selected;
selected-color: $on-surface;
@include type(body1);
@include entry(normal);
&:hover {
@include entry(hover);
}
&:focus {
@include entry(focus);
@if $version == 3.34 {
border: 0;
}
}
&:insensitive {
@include entry(insensitive);
}
StIcon.capslock-warning {
icon-size: 16px;
padding: 0 4px;
warning-color: $warning;
}
StIcon.peek-password {
icon-size: 16px;
padding: 0 4px;
color: hint($on-surface);
&:hover {
color: $on-surface;
}
}
StLabel.hint-text {
margin-left: 2px;
color: hint($on-surface);
}
}
src/gnome-shell/sass/components/base/_scrollbar.scss
@@ -0,0 +1,58 @@
/* Scrollbars */
StScrollView {
&.vfade { -st-vfade-offset: 32px; }
&.hfade { -st-hfade-offset: 32px; }
}
StScrollBar {
padding: 0;
StScrollView & {
min-width: 16px;
min-height: 16px;
}
StBin#trough {
margin: 4px;
border-radius: (8px / 2);
background-color: disabled-stroke($on-surface);
}
StButton#vhandle,
StButton#hhandle {
transition-duration: $duration;
margin: 4px;
// would be nice to margin or at least to transparent
// border: 4px solid transparent;
border-radius: (8px / 2);
background-color: scrollbar-thumb($on-surface);
&:hover {
background-color: scrollbar-thumb($on-surface, "hover");
}
&:active {
background-color: scrollbar-thumb($on-surface, "pressed");
}
}
}
%scrollbar-on-dark {
StBin#trough {
background-color: disabled-stroke($on-dark);
}
StButton#vhandle,
StButton#hhandle {
background-color: scrollbar-thumb($on-dark);
&:hover {
background-color: scrollbar-thumb($on-dark, "hover");
}
&:active {
background-color: scrollbar-thumb($on-dark, "pressed");
}
}
}
src/gnome-shell/sass/components/base/_slider.scss
@@ -0,0 +1,42 @@
/* Slider */
$handle-size: 12px;
.slider {
height: 20px;
@if $version >= 3.30 {
// slider trough
-barlevel-height: 2px;
-barlevel-border-width: 0;
-barlevel-border-color: transparent;
-barlevel-background-color: stroke($on-surface);
// fill style
-barlevel-active-border-color: transparent;
-barlevel-active-background-color: $primary;
// overfill style
-barlevel-overdrive-color: $error;
-barlevel-overdrive-border-color: transparent;
-barlevel-overdrive-separator-width: 2px;
} @else {
// slider trough
-slider-height: 2px;
-slider-border-width: 0;
-slider-border-color: transparent;
-slider-background-color: stroke($on-surface);
// fill style
-slider-active-border-color: transparent;
-slider-active-background-color: $primary;
}
// slider handle
-slider-handle-radius: $handle-size / 2;
-slider-handle-border-width: 0;
-slider-handle-border-color: transparent;
&,
&:hover,
&:active {
color: $primary;
}
}
src/gnome-shell/sass/components/base/_switch.scss
@@ -0,0 +1,13 @@
/* Switches */
.toggle-switch {
color: inherit;
width: 40px;
height: 20px;
background-size: contain;
background-image: url("assets/toggle-off.svg");
&:checked {
background-image: url("assets/toggle-on.svg");
}
}