This commit is contained in:
vinceliuice
2024-04-29 02:02:45 +08:00
parent 4ab34d51f7
commit f5f1b81e85
19 changed files with 134 additions and 175 deletions

View File

@@ -511,7 +511,7 @@ theme_tweaks() {
if [[ "$compact" = "true" ]]; then if [[ "$compact" = "true" ]]; then
compact_size compact_size
fi fi
if [[ "$colorscheme" = "true" ]] ; then if [[ "$colorscheme" = "true" ]] ; then
color_schemes color_schemes
fi fi
@@ -534,7 +534,7 @@ theme_tweaks() {
} }
uninstall_link() { uninstall_link() {
rm -rf "${HOME}/.config/gtk-4.0/"{assets,windows-assets,gtk.css,gtk-dark.css} rm -rf "${HOME}/.config/gtk-4.0/"{assets,windows-assets,gtk.css,gtk-dark.css,gtk-Light.css,gtk-Dark.css}
} }
link_libadwaita() { link_libadwaita() {
@@ -558,6 +558,15 @@ link_libadwaita() {
} }
install_libadwaita() { install_libadwaita() {
local dest="${1}"
local name="${2}"
local theme="${3}"
local color="${4}"
local size="${5}"
local scheme="${6}"
theme_tweaks
rm -rf "${HOME}/.config/gtk-4.0/"{assets,gtk.css,gtk-dark.css} rm -rf "${HOME}/.config/gtk-4.0/"{assets,gtk.css,gtk-dark.css}
echo -e "\nInstalling theme into '${HOME}/.config/gtk-4.0' for libadwaita..." echo -e "\nInstalling theme into '${HOME}/.config/gtk-4.0' for libadwaita..."
@@ -565,7 +574,12 @@ install_libadwaita() {
mkdir -p "${HOME}/.config/gtk-4.0" mkdir -p "${HOME}/.config/gtk-4.0"
cp -r "${SRC_DIR}/assets/gtk/assets" "${HOME}/.config/gtk-4.0" cp -r "${SRC_DIR}/assets/gtk/assets" "${HOME}/.config/gtk-4.0"
cp -r "${SRC_DIR}/assets/gtk/symbolics/"*'.svg' "${HOME}/.config/gtk-4.0/assets" cp -r "${SRC_DIR}/assets/gtk/symbolics/"*'.svg' "${HOME}/.config/gtk-4.0/assets"
sassc $SASSC_OPT "${SRC_DIR}/main/libadwaita/libadwaita.scss" "${HOME}/.config/gtk-4.0/gtk.css"
if [[ "$colorscheme" = "true" || "$blackness" = "true" ]] ; then
sassc $SASSC_OPT "${SRC_DIR}/main/libadwaita/libadwaita${color}.scss" "${HOME}/.config/gtk-4.0/gtk.css"
else
sassc $SASSC_OPT "${SRC_DIR}/main/libadwaita/libadwaita-Light.scss" "${HOME}/.config/gtk-4.0/gtk.css"
fi
} }
link_theme() { link_theme() {
@@ -580,6 +594,18 @@ link_theme() {
done done
} }
libadwaita_theme() {
for theme in "${themes[@]}"; do
for color in "${lcolors[@]}"; do
for size in "${sizes[@]}"; do
for scheme in "${schemes[@]}"; do
install_libadwaita "${dest:-$DEST_DIR}" "${name:-$THEME_NAME}" "$theme" "$color" "$size" "$scheme"
done
done
done
done
}
clean() { clean() {
local dest="${1}" local dest="${1}"
local name="${2}" local name="${2}"
@@ -663,15 +689,18 @@ uninstall_theme() {
if [[ "$uninstall" == 'true' ]]; then if [[ "$uninstall" == 'true' ]]; then
if [[ "$libadwaita" == 'true' ]]; then if [[ "$libadwaita" == 'true' ]]; then
echo -e "\nUninstall ${HOME}/.config/gtk-4.0 links ..." echo -e "\nUninstall libadwaita theme from ${HOME}/.config/gtk-4.0 ..."
uninstall_link uninstall_link
else else
echo && uninstall_theme && uninstall_link echo && uninstall_theme && uninstall_link
fi fi
else else
install_package && tweaks_temp && gnome_shell_version && install_theme install_package && tweaks_temp
if [[ "$libadwaita" == 'true' ]]; then if [[ "$libadwaita" == 'true' ]]; then
uninstall_link && install_libadwaita uninstall_link && libadwaita_theme
else
gnome_shell_version && install_theme
fi fi
fi fi

View File

@@ -0,0 +1,12 @@
$variant: 'dark';
$topbar: 'dark';
@import '../../sass/colors';
@import '../../sass/libadwaita/palette';
@import '../../sass/libadwaita/functions';
@import '../../sass/libadwaita/variables';
@import '../../sass/libadwaita/colors';
@import '../../sass/libadwaita/drawing';
@import '../../sass/libadwaita/common';
@import '../../sass/libadwaita/defaults';
@import '../../sass/libadwaita/compat-colors';

View File

@@ -0,0 +1,12 @@
$variant: 'light';
$topbar: 'light';
@import '../../sass/colors';
@import '../../sass/libadwaita/palette';
@import '../../sass/libadwaita/functions';
@import '../../sass/libadwaita/variables';
@import '../../sass/libadwaita/colors';
@import '../../sass/libadwaita/drawing';
@import '../../sass/libadwaita/common';
@import '../../sass/libadwaita/defaults';
@import '../../sass/libadwaita/compat-colors';

View File

@@ -1,6 +1,5 @@
$contrast: 'normal';
$variant: 'light'; $variant: 'light';
$topbar: 'light'; $topbar: 'dark';
@import '../../sass/colors'; @import '../../sass/colors';
@import '../../sass/libadwaita/palette'; @import '../../sass/libadwaita/palette';

View File

@@ -133,6 +133,8 @@ $scrim-inverse: rgba($white, 0.1);
$titlebar: if($topbar == 'dark', background(f), background(c)); $titlebar: if($topbar == 'dark', background(f), background(c));
$titlebar-backdrop: if($topbar == 'dark', background(g), background(b)); $titlebar-backdrop: if($topbar == 'dark', background(g), background(b));
$titlebar-primary: if($topbar == 'dark' and $theme == 'grey' and $variant == 'light', lighten($primary, 15%), $primary); $titlebar-primary: if($topbar == 'dark' and $theme == 'grey' and $variant == 'light', lighten($primary, 15%), $primary);
$sidebar: if($topbar == 'dark' and $variant == 'light', $titlebar, $base-alt);
$sidebar-backdrop: if($topbar == 'dark' and $variant == 'light', $titlebar-backdrop, $background);
$popover: if($variant == 'light', background(a), background(g)); $popover: if($variant == 'light', background(a), background(g));
$panel-solid: if($topbar == 'dark', background(e), background(c)); // for Unity panel which doesn't allow translucent colors $panel-solid: if($topbar == 'dark', background(e), background(c)); // for Unity panel which doesn't allow translucent colors
$panel: rgba($panel-solid, $panel_opacity); $panel: rgba($panel-solid, $panel_opacity);

View File

@@ -380,9 +380,6 @@ toolbarview.undershoot-bottom scrolledwindow {
// Sidebar // Sidebar
.unfolded stacksidebar.sidebar { border: none; } .unfolded stacksidebar.sidebar { border: none; }
$sidebar: if($topbar == 'dark' and $variant == 'light', $titlebar, $base-alt);
$sidebar-backdrop: if($topbar == 'dark' and $variant == 'light', $titlebar-backdrop, $background);
.sidebar-pane { .sidebar-pane {
background-color: $sidebar; background-color: $sidebar;
color: on($sidebar); color: on($sidebar);

View File

@@ -8,76 +8,80 @@
// These are the colors apps are can override. We define the defaults here and // These are the colors apps are can override. We define the defaults here and
// define variables for them in _colors.scss // define variables for them in _colors.scss
// // The main accent color and the matching text value @if $theme != 'default' {
// @define-color accent_bg_color #{$primary}; // The main accent color and the matching text value
// @define-color accent_fg_color #{on($primary)}; @define-color accent_bg_color #{$primary};
// @define-color accent_color #{$primary}; @define-color accent_fg_color #{on($primary)};
@define-color accent_color #{$primary};
}
// // destructive-action buttons // destructive-action buttons
// @define-color destructive_bg_color #{if($variant == 'dark', "@red_4", "@red_3")}; @define-color destructive_bg_color #{$destructive};
// @define-color destructive_fg_color white; @define-color destructive_fg_color #{on($destructive)};
// @define-color destructive_color #{if($variant == 'dark', #ff7b63, "@red_4")}; @define-color destructive_color #{$destructive};
// // Levelbars, entries, labels and infobars. These don't need text colors // Levelbars, entries, labels and infobars. These don't need text colors
// @define-color success_bg_color #{if($variant == 'dark', "@green_5", "@green_4")}; @define-color success_bg_color #{$success};
// @define-color success_fg_color white; @define-color success_fg_color #{on($success)};
// @define-color success_color #{if($variant == 'dark', "@green_1", "#1b8553")}; @define-color success_color #{$success};
// @define-color warning_bg_color #{if($variant == 'dark', #cd9309, "@yellow_5")}; @define-color warning_bg_color #{$warning};
// @define-color warning_fg_color #{transparentize(black, .2)}; @define-color warning_fg_color #{on($warning)};
// @define-color warning_color #{if($variant == 'dark', "@yellow_2", #9c6e03)}; @define-color warning_color #{$warning};
// @define-color error_bg_color #{if($variant == 'dark', "@red_4", "@red_3")}; @define-color error_bg_color #{$error};
// @define-color error_fg_color white; @define-color error_fg_color #{on($error)};
// @define-color error_color #{if($variant == 'dark', #ff7b63, "@red_4")}; @define-color error_color #{$error};
// // Window @if $colorscheme != 'default' or $blackness == 'true' {
// @define-color window_bg_color #{if($variant == 'light', #fafafa, #242424)}; // Window
// @define-color window_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color window_bg_color #{$background};
@define-color window_fg_color #{$text};
// // Views - e.g. text view or tree view // Views - e.g. text view or tree view
// @define-color view_bg_color #{if($variant == 'light', #ffffff, #1e1e1e)}; @define-color view_bg_color #{$base};
// @define-color view_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color view_fg_color #{$text};
// // Header bar, search bar, tab bar // Header bar, search bar, tab bar
// @define-color headerbar_bg_color #{if($variant == 'light', #ffffff, #303030)}; @define-color headerbar_bg_color #{$titlebar-backdrop};
// @define-color headerbar_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color headerbar_fg_color #{$titlebar-text};
// @define-color headerbar_border_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color headerbar_border_color #{$border};
// @define-color headerbar_backdrop_color @window_bg_color; @define-color headerbar_backdrop_color #{$titlebar};
// @define-color headerbar_shade_color #{if($variant == 'light', transparentize(black, .88), transparentize(black, .64))}; @define-color headerbar_shade_color #{if($variant == 'light', transparentize(black, .88), transparentize(black, .64))};
// @define-color headerbar_darker_shade_color #{if($variant == 'light', transparentize(black, .88), transparentize(black, .1))}; @define-color headerbar_darker_shade_color #{$window-border};
// // Split pane views // Split pane views
// @define-color sidebar_bg_color #{if($variant == 'light', #ebebeb, #303030)}; @define-color sidebar_bg_color #{$sidebar};
// @define-color sidebar_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color sidebar_fg_color #{on($sidebar)};
// @define-color sidebar_backdrop_color #{if($variant == 'light', #f2f2f2, #2a2a2a)}; @define-color sidebar_backdrop_color #{$sidebar-backdrop};
// @define-color sidebar_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))}; @define-color sidebar_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))};
// @define-color sidebar_border_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))}; @define-color sidebar_border_color #{transparentize(on($sidebar), .92)};
// @define-color secondary_sidebar_bg_color #{if($variant == 'light', #f3f3f3, #2a2a2a)}; @define-color secondary_sidebar_bg_color #{$base};
// @define-color secondary_sidebar_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color secondary_sidebar_fg_color #{$text};
// @define-color secondary_sidebar_backdrop_color #{if($variant == 'light', #f6f6f6, #272727)}; @define-color secondary_sidebar_backdrop_color #{$background};
// @define-color secondary_sidebar_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))}; @define-color secondary_sidebar_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))};
// @define-color secondary_sidebar_border_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))}; @define-color secondary_sidebar_border_color #{$border};
// // Cards, boxed lists // Cards, boxed lists
// @define-color card_bg_color #{if($variant == 'light', #ffffff, transparentize(white, .92))}; @define-color card_bg_color #{if($variant == 'light', $base, $fill)};
// @define-color card_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color card_fg_color #{$text};
// @define-color card_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))}; @define-color card_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))};
// // Dialogs // Dialogs
// @define-color dialog_bg_color #{if($variant == 'light', #fafafa, #383838)}; @define-color dialog_bg_color #{$base-alt};
// @define-color dialog_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color dialog_fg_color #{$text};
// // Popovers // Popovers
// @define-color popover_bg_color #{if($variant == 'light', #ffffff, #383838)}; @define-color popover_bg_color #{$popover};
// @define-color popover_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color popover_fg_color #{$text};
// @define-color popover_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))}; @define-color popover_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))};
// // Thumbnails // Thumbnails
// @define-color thumbnail_bg_color #{if($variant == 'light', #ffffff, #383838)}; @define-color thumbnail_bg_color #{$surface};
// @define-color thumbnail_fg_color #{if($variant == 'light', transparentize(black, .2), white)}; @define-color thumbnail_fg_color #{$text};
// // Miscellaneous // Miscellaneous
// @define-color shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))}; @define-color shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .75))};
// @define-color scrollbar_outline_color #{if($variant == 'light', white, transparentize(black, .5))}; @define-color scrollbar_outline_color #{if($variant == 'light', white, transparentize(black, .5))};
}

View File

@@ -374,14 +374,6 @@
background: $color; background: $color;
} }
@if $contrast == 'high' {
> border {
min-width: 1px;
min-height: 1px;
background: $border_color;
}
}
> shadow { > shadow {
min-width: 56px; min-width: 56px;
min-height: 56px; min-height: 56px;

View File

@@ -1,3 +0,0 @@
$variant: 'dark';
@import 'defaults';

View File

@@ -1,3 +0,0 @@
$variant: 'light';
@import 'defaults';

View File

@@ -52,22 +52,13 @@ colorswatch {
} }
} }
@if $contrast == 'high' {
> overlay {
box-shadow: inset 0 0 0 1px gtkalpha($view_fg_color, .5);
}
}
&.dark > overlay { &.dark > overlay {
color: white; color: white;
} }
&.light > overlay { &.light > overlay {
color: transparentize(black, .25); color: transparentize(black, .25);
box-shadow: inset 0 0 0 1px gtkalpha($view_fg_color, 0.1);
@if $contrast != 'high' {
box-shadow: inset 0 0 0 1px gtkalpha($view_fg_color, 0.1);
}
} }
&:drop(active) { &:drop(active) {

View File

@@ -102,13 +102,6 @@ combobox {
iconview { iconview {
@extend %view; @extend %view;
@if $contrast == 'high' {
&:selected {
box-shadow: inset 0 0 0 1px $border_color;
}
}
@include focus-ring(); @include focus-ring();
&:drop(active) { &:drop(active) {
@@ -179,7 +172,7 @@ statusbar {
// To be used for opaque elements overlaid atop the selected row // To be used for opaque elements overlaid atop the selected row
$treeview_selection_opaque: gtkmix(currentColor, $view_bg_color, 10%); $treeview_selection_opaque: gtkmix(currentColor, $view_bg_color, 10%);
$treeview_borders_opaque: gtkmix(currentColor, $view_bg_color, if($contrast == 'high', 40%, 20%)); $treeview_borders_opaque: gtkmix(currentColor, $view_bg_color, 20%);
treeview.view { treeview.view {
@extend columnview; @extend columnview;

View File

@@ -33,14 +33,6 @@ popover.emoji-picker emoji {
&:active { &:active {
background: $active_color; background: $active_color;
} }
@if $contrast == 'high' {
&:focus,
&:hover,
&:active {
box-shadow: inset 0 0 0 1px $border_color;
}
}
} }
popover.emoji-picker scrolledwindow.view { popover.emoji-picker scrolledwindow.view {
@@ -80,12 +72,4 @@ emoji-completion-row {
&:active { &:active {
background-color: $active_color; // matching buttons background-color: $active_color; // matching buttons
} }
@if $contrast == 'high' {
&:focus,
&:hover,
&:active {
box-shadow: inset 0 0 0 1px $border_color;
}
}
} }

View File

@@ -59,12 +59,12 @@ entry {
} }
> image { // icons inside the entry > image { // icons inside the entry
opacity: if($contrast == 'high', .85, .7); opacity: .7;
&:hover { opacity: 1; } &:hover { opacity: 1; }
&:active { &:active {
opacity: if($contrast == 'high', .9, .8); opacity: .8;
} }
&.left { margin-right: 6px; } &.left { margin-right: 6px; }

View File

@@ -84,10 +84,6 @@ levelbar {
&.empty { &.empty {
background-color: $trough_color; background-color: $trough_color;
@if $contrast == "high" {
box-shadow: inset 0 0 0 1px $border_color;
}
} }
} }
} }

View File

@@ -1,16 +1,12 @@
$_slider_border_color: transparentize(black, if($contrast == 'high', .65, .9)); $_slider_border_color: transparentize(black, .9);
%scale_trough { %scale_trough {
border-radius: 99px; border-radius: $circular_radius;
background-color: $trough_color; background-color: $trough_color;
@if $contrast == "high" {
box-shadow: inset 0 0 0 1px $border_color;
}
} }
%scale_highlight { %scale_highlight {
border-radius: 99px; border-radius: $circular_radius;
background-color: $fill_color; background-color: $fill_color;
color: $fill_text_color; color: $fill_text_color;
} }
@@ -81,7 +77,7 @@ scale {
> trough > slider { > trough > slider {
box-shadow: 0 0 0 1px $_slider_border_color, 0 2px 4px transparent; box-shadow: 0 0 0 1px $_slider_border_color, 0 2px 4px transparent;
outline-color: transparentize(black, if($contrast == 'high', .5, .8)); outline-color: transparentize(black, .8);
} }
} }

View File

@@ -16,7 +16,7 @@ spinbutton {
box-shadow: none; box-shadow: none;
border-style: solid; border-style: solid;
border-color: gtkalpha(currentColor, if($contrast == 'high', .5, .1)); border-color: gtkalpha(currentColor, .1);
} }
&:not(.vertical) { &:not(.vertical) {

View File

@@ -50,14 +50,6 @@ tabbar {
tab { tab {
transition: background 150ms ease-in-out; transition: background 150ms ease-in-out;
@if $contrast == 'high' {
&:hover,
&:active,
&:selected {
box-shadow: inset 0 0 0 1px $border_color;
}
}
&:selected { &:selected {
background-color: $selected_color; background-color: $selected_color;
@@ -72,10 +64,6 @@ tabbar {
tabbox.single-tab tab { tabbox.single-tab tab {
&, &:hover, &:active { &, &:hover, &:active {
background: none; background: none;
@if $contrast == 'high' {
box-shadow: none;
}
} }
} }
@@ -136,11 +124,6 @@ dnd tab {
0 1px 3px 1px transparentize(black, .93), 0 1px 3px 1px transparentize(black, .93),
0 2px 6px 2px transparentize(black, .97); 0 2px 6px 2px transparentize(black, .97);
@if $contrast == 'high' {
outline: 1px solid $border_color;
outline-offset: -1px;
}
margin: 25px; margin: 25px;
} }
@@ -209,22 +192,11 @@ tabthumbnail {
background: none; background: none;
color: inherit; color: inherit;
@if $contrast == 'high' {
box-shadow: 0 0 0 1px transparentize(black, 0.5),
0 1px 3px 1px transparentize(black, .93),
0 2px 6px 2px transparentize(black, .97);
}
} }
&.pinned .card { &.pinned .card {
background-color: $thumbnail_bg_color; background-color: $thumbnail_bg_color;
color: $thumbnail_fg_color; color: $thumbnail_fg_color;
@if $contrast == 'high' {
outline: 1px solid $window_outline_color;
outline-offset: -1px;
}
} }
.icon-title-box { .icon-title-box {
@@ -243,10 +215,6 @@ tabthumbnail {
min-width: 24px; min-width: 24px;
min-height: 24px; min-height: 24px;
@if $contrast == 'high' {
box-shadow: 0 0 0 1px currentColor;
}
&:hover { &:hover {
background-color: gtkalpha(gtkmix($thumbnail_bg_color, currentColor, 90%), .75); background-color: gtkalpha(gtkmix($thumbnail_bg_color, currentColor, 90%), .75);
} }

View File

@@ -54,10 +54,6 @@ gridview > child {
&:selected { &:selected {
background-color: $view_selected_color; background-color: $view_selected_color;
@if $contrast == 'high' {
box-shadow: inset 0 0 0 1px $border_color;
}
} }
} }
@@ -71,10 +67,4 @@ gridview > child.activatable {
&:active { background-color: $view_selected_active_color; } &:active { background-color: $view_selected_active_color; }
} }
@if $contrast == 'high' {
&:hover, &:active {
box-shadow: inset 0 0 0 1px $border_color;
}
}
} }