diff --git a/change_theme.py b/change_theme.py new file mode 100644 index 0000000..1f285db --- /dev/null +++ b/change_theme.py @@ -0,0 +1,14 @@ +#!/usr/bin/python3 +#-*- coding: utf-8-*- + + +''' +It might hold the program, at some point... +The idea is to do the following: +- List all available themes and let the user chose one +- Either: create new gtk theme with all the appropriate changes, or edit this one. + - Editing/new theme means: changing the link to the appropriate css for gtk3/4, editing the gtk2 to match accordingly, creating a qt5 and qt6 color scheme, an xfce4 theme, maybe a kde plasma color scheme, or any other file with a template system (file, color format, location of destination, either locally in this theme, or some other user directory) + +This is too complex to program in BASH, so python will be the alternative +''' + diff --git a/gtk-4.0/common/common.css b/gtk-4.0/common/common.css index 7e3ce94..7f88db6 100644 --- a/gtk-4.0/common/common.css +++ b/gtk-4.0/common/common.css @@ -480,7 +480,7 @@ slider:disabled { } scale slider { - margin: -0.3em; + margin: -0.5em; } /* progressbar and levelbar */ @@ -503,9 +503,9 @@ scrollbar { -trough { +trough, .trough { background-color: alpha(@window_fg_color, 0.1); - /*border: 1px solid alpha(@window_fg_color, 0.2);*/ + /*border: 1px solid alpha(@window_fg_color, 0.2);*/ /*not, because it would look too similar to buttons, etc*/ border-radius: 9999px; margin: 0; } @@ -517,20 +517,47 @@ scale.horizontal > trough, progressbar.horizontal > trough, levelbar.horizontal min-height: 0.5em; } -progress, highlight, block.filled { +progress, highlight, .progressbar { background-color: @accent_color; border-radius: 9999px; + color: @accent_fg_color; } + +.view.progressbar:selected, .view.progressbar:focus, +.view.trough:selected, .view.trough:focus { + box-shadow: inset 0 0 0 1px alpha(currentColor, 0.5); +} + +.view.progressbar:selected, .view.progressbar:focus { + background-color: @accent_bg_color; + box-shadow: inset 0 0 0 1px alpha(currentColor, 0.5); +} + progress:disabled, highlight:disabled, block.filled:disabled, block.filled.high:disabled, block.filled.low:disabled { background-color: @disabled_fg_color; } +.progressbar:disabled { + background-color: alpha(@disabled_fg_color, 0.5); +} + + +block.filled { +background-color: @accent_bg_color; +color: @accent_fg_color; +border-radius: 9999px; +box-shadow: inset 0 0 0 1px alpha(currentColor, 0.5); +} + + block.filled.high { - background-color: @success_color; + background-color: @success_bg_color; + color: @success_fg_color; } block.filled.low { - background-color: @warning_color; + background-color: @warning_bg_color; + color: @success_fg_color; } /* entry progress in each gtk file because they conflict */ @@ -708,16 +735,24 @@ statusbar label { /* color swatch */ -colorswatch.light:hover > overlay, colorswatch.light:focus > overlay { -box-shadow: inset 0 0 0 1px alpha(black, 0.5); -} -colorswatch.dark:hover > overlay, colorswatch.dark:focus > overlay { -box-shadow: inset 0 0 0 1px alpha(white, 0.5); -} -colorswatch:not(.dark):not(.light):hover > overlay, colorswatch:not(.dark):not(.light):focus > overlay { -box-shadow: inset 0 0 0 1px alpha(@accent_color, 0.5); + +colorswatch > overlay { + border: 1px dashed alpha(currentColor, 0.5); } +colorswatch.dark > overlay { + color: white; +} + +colorswatch.light > overlay{ + color: black; +} + +colorswatch:hover > overlay, +colorswatch:focus > overlay { + border-style: solid; + box-shadow: inset 0 0 0 1px alpha(currentColor, 0.5); +} /* arrow */ arrow.right { @@ -1027,9 +1062,9 @@ toast, toast label { /* override libadwaita */ border: none; } -/* frame */ +/* frame gtk3 */ -.frame, border, notebook { border: 1px solid alpha(currentColor,0.15); } +.frame, border, notebook { border: 1px solid alpha(currentColor,0.15); } frame > border, .frame {padding: 0px;} /*for libreoffice to avoid undershoots in many places */ /* no double frames for libreoffice, nor undershoots in many places */ @@ -1062,7 +1097,7 @@ frame > label { margin: 4px; } border-color: mix(@window_bg_color, @window_fg_color, 0.1); } - +/* awf-gtk4 shows frame elements withoud child border (unlike awf-gtk3). With this code, no border is shown! How about other GTK4 apps, what do they do with frame borders? */ /* toast */ /* see also .osd */ @@ -1103,9 +1138,12 @@ padding: 1em; spinner { -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); animation: spin-no-spin 0.5s alternate infinite; - animation-timing-function: steps(5, start); + animation-timing-function: steps(10, start); } -spinner:checked {animation: spin 1s linear infinite;} +spinner:checked { + animation: spin 1s linear infinite; + animation-timing-function: steps(20, start); + } /* tooltip */