WhiteSur-gtk-theme/src/sass/gtk/apps/_gnome-40.0.scss
vinceliuice e6cb4f04af update
2023-06-09 00:39:28 +08:00

1119 lines
23 KiB
SCSS

//
// Nautilus
//
$nautilus_header_image: image($header_bg);
$nautilus_header_borders_image: image($header_border);
$nautilus_borders_color: if($variant=='light', darken(rgba($dark_sidebar_bg, 1), 12%), $header_border);
$flap_sidebar_size: 240px;
@if $nautilus_style == 'stable' {
$nautilus_header_image: linear-gradient(90deg, $dark_sidebar_bg $flap_sidebar_size,
$nautilus_borders_color $flap_sidebar_size,
$nautilus_borders_color ($flap_sidebar_size + 1px),
$base_color ($flap_sidebar_size + 1px));
$nautilus_header_borders_image: linear-gradient(90deg, transparent $flap_sidebar_size,
$header_border $flap_sidebar_size);
}
@if $nautilus_style == 'glassy' {
$nautilus_header_image: linear-gradient(90deg, $dark_sidebar_bg ($flap_sidebar_size / 2),
$dark_header_bg 40%);
$nautilus_header_borders_image: linear-gradient(90deg, rgba($header_border, 0) (($flap_sidebar_size / 2) - 40px),
$header_border 40%);
}
.nautilus-window {
@if $nautilus_style == 'stable' or $nautilus_style == 'glassy' {
&.background.csd {
background-color: transparent;
headerbar {
background-color: transparent;
border: none;
background-image: $nautilus_header_image;
border-image: $nautilus_header_borders_image 0 0 1 / 0px 0px 1px stretch;
}
}
}
@if $nautilus_style == 'stable' {
headerbar {
box.start > box {
margin-left: 144px;
}
entry.search {
margin-left: $container_padding;
}
}
}
flap.unfolded {
> placessidebar.background {
background: none;
list.navigation-sidebar {
background-color: $dark_sidebar_bg;
}
}
> separator.horizontal {
background-color: $header_border;
}
}
flap.folded {
> placessidebar {
border-right: 1px solid $header_border;
}
}
tabbar:not(.inline) {
.box {
@if $monterey == 'false' {
background-color: mix(black, $base_color, 6%);
} @else {
background-color: $base_color;
}
}
}
.nautilus-grid-view.view {
child.activatable {
border-radius: $bt_radius;
@extend %row_activatable;
}
}
.nautilus-list-view.view {
padding: 0;
margin: 0;
border-spacing: 0;
listview.view {
padding: 0;
margin: 0;
border-spacing: 0;
> row.activatable {
padding: 0;
margin: 0;
border-radius: $bt_radius;
@extend %row_activatable;
}
}
}
// Floating Bar
.floating-bar {
padding: 2px;
background-color: $selected_bg_color;
color: $selected_fg_color;
border-radius: $wm_radius - $container_padding;
margin: $container_padding;
box-shadow: $shadow_5;
> button.circular.flat {
border-radius: $circular_radius;
min-height: 24px;
min-width: 24px;
padding: 0;
-gtk-icon-shadow: none;
@extend %selected-button;
}
}
}
#NautilusViewCell {
clamp box {
margin: 0;
border-spacing: 0;
}
}
#NautilusQueryEditor { // search entry
padding: 1px $container_padding;
border-spacing: 0;
> * { margin: 0; }
#NautilusQueryEditorTag {
@extend .entry-tag;
> button {
margin: 0;
}
}
> menubutton > button {
min-width: 16px;
min-height: 16px;
margin: 0;
-gtk-icon-size: 12px;
padding: 0 4px;
}
}
#NautilusPathBar {
background-color: $fill_color;
border-radius: $bt_radius;
margin: $container_padding 0 $container_padding $container_padding;
#NautilusPathButton {
margin: 0 $container_padding / 2;
border-radius: $bt_radius;
&.current-dir {
color: $header_fg;
&:hover, &:active {
background: none;
box-shadow: none;
}
}
&:first-child { margin-left: 0; }
}
> menubutton {
margin-top: 0;
margin-bottom: 0;
}
}
// Extensions
window.nightthemeswitcher headerbar {
background: $header_bg;
color: $header_fg;
}
//
// Gnome Control Center
//
window.background.csd {
> contents {
> leaflet.unfolded > box {
> headerbar {
@extend %side_headerbar_left;
}
> searchbar {
@extend %side_searchbar;
}
> stack > widget > box > widget > headerbar,
> stack > widget > overlay > leaflet.folded > box > headerbar {
@extend %side_headerbar_right;
}
> scrolledwindow > viewport > widget > stack {
> list.navigation-sidebar {
background-color: rgba($dark_sidebar_bg, 1);
> separator {
background-color: transparent;
margin: 0;
min-height: 0;
}
}
> box > list.navigation-sidebar { background-color: rgba($dark_sidebar_bg, 1); }
}
> stack.background { background-color: $base_color; }
}
preferencesgroup > box {
button.background-preview-button {
padding: $container_padding / 2;
outline: 2px solid transparent;
outline-offset: 0;
border-radius: $bt_radius + $container_padding / 2;
&, &:hover, &:active, &:checked {
background: none;
border: none;
box-shadow: none;
}
&:hover {
outline-color: $alt_disabled_fg_color;
}
&:active {
outline-color: $alt_fg_color;
}
&:checked {
outline-color: $selected_bg_color;
}
}
flowbox.background-flowbox > flowboxchild {
outline: 2px solid transparent;
outline-offset: 0;
border-radius: $bt_radius + 3px;
padding: 3px;
&:hover {
outline-color: $alt_disabled_fg_color;
}
&:active {
outline-color: $alt_fg_color;
}
&:selected {
outline-color: $selected_bg_color;
background-color: transparent;
}
}
}
}
}
//
// Gnome Calendar / Gnome Contacts
//
window.background {
> contents > toastoverlay > leaflet {
> box {
background-color: $base_color;
> headerbar {
&, &:backdrop {
background: none;
border: none;
}
}
+ separator {
@extend %side_separator;
+ box {
background-color: $dark_sidebar_bg;
}
}
> .view, list:not(.boxed-list) {
background-color: transparent;
}
list > row textview {
padding: $container_padding;
border-left: 1px solid $borders_color;
&, & > text {
background: none;
}
}
}
.current-week {
background-color: $fill_color;
}
button.circular.day {
border: none;
box-shadow: none;
@extend %flat_button;
}
datechooser navigator > button.flat.pill {
padding: 0 $container_padding * 2;
min-height: $menuitem_size;
min-width: $menuitem_size;
}
}
&.maximized, &.tiled {
> contents > toastoverlay > leaflet {
> box {
> headerbar {
&, &:backdrop {
background: none;
border: none;
}
}
}
}
}
}
menubutton.flat.popup.sources-button {
margin: 0;
> button {
margin: 0;
border-radius: 0;
padding: 0 $container_padding * 2;
.title {
font-size: small;
font-weight: normal;
}
.title, .subtitle {
padding: 2px 0 2px $container_padding;
}
image.calendar-color-image {
-gtk-icon-size: 8px;
}
}
}
// Contacts
.contacts-editor-address {
> entry.flat {
&:not(:last-child) {
box-shadow: inset 0 -1px $borders_color;
}
&:first-child {
border-radius: $bt_radius $bt_radius 0 0;
}
&:last-child {
border-radius: 0 0 $bt_radius $bt_radius;
}
}
}
//
// Calculator
//
.history-view { background-color: $base_color; }
.card {
&.display-container {
border: 1px solid $borders_color;
.small & {
border-radius: 0;
&.display-container {
border-width: 0 0 1px 0;
}
}
}
#displayitem {
border-top: 1px solid $borders_color;
}
}
//
// Gnome Weather
//
@define-color weather_temp_chart_fill_color #{rgba($warning_color, 0.5)};
@define-color weather_temp_chart_stroke_color #{darken($warning_color, 10%)};
@define-color weather_thermometer_warm_color #{$theme_color_yellow};
@define-color weather_thermometer_cold_color #{$theme_color_blue};
$weather_thermometer_high_color: $theme_color_yellow;
$weather_thermometer_low_color: $theme_color_blue;
$weather_forecast_color: #ae7b03;
#places-label {
font-weight: bold;
}
#temperature-label {
font-size: 32pt;
font-weight: 900;
margin-left: 9px;
}
#conditions-grid *:backdrop {
color: $alt_fg_color;
}
.content-view.cell {
font-weight: bold;
}
#locationEntry {
margin: $container_padding;
}
.weather-popover {
margin-top: $container_padding;
}
.forecast-card {
transition: border-radius 100ms ease-out;
border-radius: $bt_radius;
}
.forecast-card separator {
background-color: $borders_color;
}
#daily-forecast-box {
> separator:last-child {
background-color: transparent;
min-width: 0;
}
}
#conditions-grid,
#attributionGrid {
margin-left: $container_padding * 3;
margin-right: $container_padding * 3;
}
#weather-page .small .forecast-card {
margin-left: 0;
margin-right: 0;
border-radius: 0;
border-width: 1px 0;
}
.forecast-temperature-label {
font-weight: bold;
color: $weather_forecast_color;
}
WeatherThermometer {
margin-bottom: $container_padding * 2;
}
WeatherThermometer > label.high {
font-weight: bold;
color: $weather_thermometer_high_color;
}
WeatherThermometer > label.low {
font-weight: bold;
color: $weather_thermometer_low_color;
}
.forecast-button {
margin: 0 $container_padding * 2;
> button.image-button {
min-height: 28px;
min-width: 28px;
padding: 0;
border-radius: $circular_radius;
}
}
.forecast-graphic {
margin: $container_padding * 3;
}
button.osd.circular > image {
padding: 0;
}
scrolledwindow.inline list,
scrolledwindow.inline listview {
background: none;
color: inherit;
}
scrolledwindow.inline undershoot.top {
box-shadow: inset 0 1px $borders_color;
}
.search-view {
background-color: $primary_color;
color: $light_fg_color;
}
.search-view menubutton button:focus:focus-visible {
outline-color: rgba(white, 0.3);
}
image.circular {
min-width: $medium_size;
min-height: $medium_size;
padding: 0;
border-radius: $circular_radius;
}
//
// Gnome Software
//
.details-page {
margin: $container_padding * 4 0px;
}
.installed-overlay-box {
font-size: smaller;
background-color: $primary_color;
border-radius: 0;
color: $light_fg_color;
text-shadow: 0 1px 0 rgba(black, 0.2);
}
screenshot-carousel box.frame {
border-width: 1px 0;
border-radius: 0;
}
screenshot-carousel button,
.featured-carousel button {
margin: $container_padding * 2;
}
.screenshot-image-main .image1,
.screenshot-image-main .image2 {
margin-top: $container_padding;
margin-bottom: $container_padding * 2;
margin-left: $container_padding;
margin-right: $container_padding;
}
.app-tile-label {
font-size: 105%;
}
.review-textbox {
padding: $container_padding;
}
.origin-rounded-box {
background-color: $divider_color;
border-radius: $circular_radius;
padding: $container_padding - 2px;
}
.origin-beta {
color: $warning_color;
}
.origin-button > button {
padding: $container_padding / 2 $container_padding * 1.5;
}
flowboxchild.card {
padding: 0;
border: none;
box-shadow: none;
background: none;
}
button.card.category-tile {
padding: $container_padding * 3.5;
border: none;
border-radius: $bt_radius;
min-width: 140px;
font-weight: 900;
font-size: larger;
&.category-tile-iconless {
padding: $container_padding * 1.5 $container_padding * 2.5;
min-width: 130px;
font-size: 105%;
font-weight: normal;
}
// Styling for specific category buttons.
&.category-create {
background: linear-gradient(180deg, #ce8cd7 0%, #2861c6 100%);
color: white;
&:hover {
background: linear-gradient(180deg, shade(#ce8cd7, 1.07) 0%, shade(#2861c6, 1.1) 100%);
color: white;
}
&:active {
background: linear-gradient(180deg, shade(#ce8cd7, .95) 0%, shade(#2861c6, .95) 100%);
color: white;
}
}
&.category-develop {
background: #5e5c64;
color: white;
&:hover {
background: shade(#5e5c64, 1.2);
color: white;
}
&:active {
background-color: shade(#5e5c64, .95);
color: white;
}
}
&.category-learn {
background: linear-gradient(180deg, #2ec27e 30%, #27a66c 100%);
color: white;
&:hover {
background: linear-gradient(180deg, shade(#2ec27e, 1.06) 30%, shade(#27a66c, 1.06) 100%);
color: white;
}
&:active {
background: linear-gradient(180deg, shade(#2ec27e, .95) 30%, shade(#27a66c, .95) 100%);
color: white;
}
}
&.category-play {
background: linear-gradient(75deg, #f9e2a7 0%, #eb5ec3 50%, #6d53e0 100%);
color: #393484;
&:hover {
background: linear-gradient(75deg, shade(#f9e2a7, 1.07) 0%, shade(#eb5ec3, 1.07) 50%, shade(#6d53e0, 1.07) 100%);
color: #393484;
}
&:active {
background: linear-gradient(75deg, shade(#f9e2a7, .97) 0%, shade(#eb5ec3, .95) 50%, shade(#6d53e0, 1.07) 100%);
color: #393484;
}
}
&.category-socialize {
background: linear-gradient(90deg, #ef4e9b 0%, #f77466 100%);
color: $alt_fg_color;
&:hover {
background: linear-gradient(90deg, shade(#ef4e9b, 1.08) 0%, shade(#f77466, 1.08) 100%);
}
&:active {
background: linear-gradient(90deg, shade(#ef4e9b, .95) 0%, shade(#f77466, .95) 100%);
}
}
&.category-work {
padding: 1px; /* FIXME: work around https://gitlab.gnome.org/GNOME/gtk/-/issues/4324 */
color: #1c71d8;
background-color:#fdf8d7;
background-image: linear-gradient($borders_color 1px, transparent 1px),
linear-gradient(90deg, $borders_color 1px, transparent 1px);
background-size: 10px 10px, 10px 10px;
background-position: -1px -4px, center -1px;
&:hover {
color: #1c71d8;
background-color: lighten(#fdf8d7, 5%);
background-image: linear-gradient($borders_color 1px, transparent 1px),
linear-gradient(90deg, $borders_color 1px, transparent 1px);
}
&:active {
color: #1c71d8;
background-color: darken(#fdf8d7, 5%);
background-image: linear-gradient($borders_color 1px, transparent 1px),
linear-gradient(90deg, $borders_color 1px, transparent 1px);
}
}
}
clamp.medium .category-tile:not(.category-tile-iconless),
clamp.large .category-tile:not(.category-tile-iconless) {
font-size: larger;
}
// The rest of the featured-tile CSS is loaded at runtime in gs-feature-tile.c
.featured-tile {
all: unset;
padding: 0;
box-shadow: none;
color: $fg_color;
label.title-1 {
margin-top: $container_padding;
margin-bottom: $container_padding;
}
&.narrow label.title-1 {
font-size: 16pt;
}
}
.application-details-infobar {
&, &.info {
background-color: $fill_color;
color: $fg_color;
border: 1px solid $borders_color;
}
&.warning {
background-color: $warning_color;
color: $light_fg_color;
border: 1px solid $divider_color;
}
}
@keyframes install-progress-unknown-move {
0% { background-position: 0%; }
50% { background-position: 100%; }
100% { background-position: 0%; }
}
.application-details-description .button {
padding-left: $container_padding * 4;
padding-right: $container_padding * 4;
}
.install-progress {
background-image: linear-gradient(to top, $primary_color 2px, gtkalpha($primary_color, 0) 2px);
background-repeat: no-repeat;
background-position: 0 bottom;
background-size: 0;
transition: none;
}
.install-progress:dir(rtl) { background-position: 100% bottom; }
.review-row > * {
margin: $container_padding * 2;
}
.review-row button { font-size: smaller; }
.review-row .vote-buttons button {
margin-right: -1px;
}
// this is the separator between yes and no vote buttons, gtk+ 3.20 only
.review-row .vote-buttons button:not(:first-child) {
border-image: linear-gradient(to top, $borders_color, $borders_color) 0 0 0 1 / 5px 0 5px 1px;
}
.review-row .vote-buttons button:hover,
.review-row .vote-buttons button:active,
.review-row .vote-buttons button:hover + button,
.review-row .vote-buttons button:active + button {
border-image: none;
}
review-bar {
color: $disabled_fg_color;
background-image: none;
background-color: $track_color;
}
.review-histogram star-image {
color: $disabled_fg_color;
}
.version-arrow-label {
font-size: x-small;
}
.overview-more-button {
font-size: smaller;
padding: 0 $container_padding * 2 + 4px;
}
.app-row-origin-text {
font-size: smaller;
}
.app-listbox-header {
padding: $container_padding;
border-bottom: 1px solid $borders_color;
}
.image-list {
background-color: transparent;
}
box.star {
background-color: transparent;
background-image: none;
}
button.star {
outline-offset: 0;
background-color: transparent;
background-image: none;
border-image: none;
border-radius: 0;
border-width: 0;
padding: 0;
box-shadow: none;
outline-offset: -1px;
}
star-image {
color: $theme_color_yellow;
}
.dimmer-label {
opacity: 0.25;
}
.update-failed-details {
font-family: Monospace;
font-size: smaller;
padding: $container_padding * 2 + 4px;
}
.upgrade-banner {
padding: 0px;
border-radius: $bt_radius;
border: none;
}
.upgrade-banner-background {
background: linear-gradient(to bottom, $success_color, $suggested_color);
color: white;
}
.upgrade-buttons #button_upgrades_install {
padding-left: $container_padding * 2 + 4px;
padding-right: $container_padding * 2 + 4px;
}
scrolledwindow.list-page > viewport > clamp > box {
margin: $container_padding * 4 $container_padding * 2;
border-spacing: $container_padding * 4;
}
.update-preferences preferencesgroup > box > box {
margin-top: $container_padding * 3;
}
.section > label:not(:first-child) { margin-top: $container_padding; }
.section > box:not(:first-child) { margin-top: $container_padding * 2; }
clamp.status-page {
margin: $container_padding * 6 $container_padding * 2;
}
clamp.status-page .iconbox {
min-height: 128px;
min-width: 128px;
}
clamp.status-page .icon {
color: $disabled_fg_color;
min-height: 32px;
min-width: 32px;
}
clamp.status-page .icon:not(:last-child) {
margin-bottom: $container_padding * 6;
}
clamp.status-page .title:not(:last-child) {
margin-bottom: $container_padding * 2;
}
app-context-bar {
.context-tile {
border: 1px solid $borders_color;
background-color: transparent;
border-radius: 0;
padding: $container_padding * 4 $container_padding * 2 $container_padding * 3.5 $container_padding * 2;
outline-offset: 5px;
transition-property: outline, outline-offset, background-image;
border-bottom: none;
border-right: none;
&:hover {
background-image: none;
background-color: $divider_color;
}
&.keyboard-activating,
&:active {
background-color: $track_color;
}
&:focus:focus-visible {
outline-offset: -1px;
}
}
&.horizontal box:first-child .context-tile:first-child,
&.vertical .context-tile:first-child {
border-left: none;
}
&.horizontal .context-tile,
&.vertical box:first-child .context-tile {
border-top: none;
}
> box:not(:first-child) > button.flat {
border-radius: 0;
&:last-child {
border-radius: 0 $bt_radius $bt_radius 0;
}
}
> box:first-child > button.flat {
border-radius: 0;
&:first-child {
border-radius: $bt_radius 0 0 $bt_radius;
}
}
> box > button.flat {
border-left-color: $borders_color;
}
}
carousel.card {
border: none;
background-color: $fill_color;
}
.context-tile-lozenge {
min-height: 28px;
min-width: 28px;
padding: $container_padding;
font-size: 18px;
font-weight: bold;
border-radius: $circular_radius;
&.large {
font-size: 24px;
padding: 16px;
min-width: 24px; /* 60px minus the left and right padding */
min-height: 24px; /* 60px minus the top and bottom padding */
}
&.wide-image image {
margin-top: -28px;
margin-bottom: -28px;
}
image { -gtk-icon-style: symbolic; }
&.grey {
color: $fg_color;
background-color: $divider_color;
}
&.green, &.details-rating-0 {
color: darken($theme_color_green, 15%);
background-color: rgba($theme_color_green, 0.15);
}
&.blue,
&.details-rating-5 {
color: $theme_color_blue;
background-color: rgba($theme_color_blue, 0.15);
}
&.yellow, &.details-rating-12 {
color: darken($theme_color_yellow, 15%);
background-color: rgba($theme_color_yellow, 0.15);
}
&.details-rating-15 {
color: $theme_color_orange;
background-color: rgba($theme_color_orange, .15);
}
&.red, &.details-rating-18 {
color: darken($theme_color_red, 15%);
background-color: rgba($theme_color_red, 0.15);
}
}
.eol-red {
font-weight: bold;
color: $error_color;
}
window.narrow .app-title {
font-size: 16pt;
}
window.narrow .app-developer {
font-size: small;
}
.install-progress-label {
font-size: smaller;
font-feature-settings: "tnum";
}
scrolledwindow.fake-adw-status-page > viewport > box { margin: $container_padding * 6 $container_padding * 2; }
scrolledwindow.fake-adw-status-page > viewport > box > clamp:not(:last-child) > box { margin-bottom: $container_padding * 6; }
scrolledwindow.fake-adw-status-page > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: $container_padding * 6; }
scrolledwindow.fake-adw-status-page > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: $container_padding * 2; }
statuspage.icon-dropshadow image.icon {
-gtk-icon-shadow: 0 1px 12px rgba(0,0,0,0.05),
0 -1px rgba(0,0,0,0.05),
1px 0 rgba(0,0,0,0.1),
0 1px rgba(0,0,0,0.3),
-1px 0 rgba(0,0,0,0.1);
}
window.info scrollbar.vertical {
margin-top: 48px;
background: none;
box-shadow: none;
}
window.info scrollbar.vertical trough {
margin-top: 0;
}
// GsAppRow
row.app > box.header {
margin-left: $container_padding * 2;
margin-right: $container_padding * 2;
}
row.app > box.header {
border-spacing: $container_padding * 2;
}
row.app > box.header > image {
margin-top: $container_padding * 2;
margin-bottom: $container_padding * 2;
}
row.app label.warning {
color: $warning_color;
}
// GtkSpinner
// Ensure the spinner is hidden before the animation is triggered.
@keyframes pre-delay {
from { opacity: 0; }
to { opacity: 0; }
}
@keyframes fade-in {
from { filter: opacity(0%); }
}
/* Give a fade-in animation to spinners. */
spinner.fade-in:checked {
animation: pre-delay 0.5s linear 1, fade-in 1s linear 1, spin 1s linear infinite;
animation-delay: 0s, 0.5s, 0.5s;
}
//
// Misc (other)
//
#desktopwindow.background {
background-color: transparent;
background-image: none;
}