Added possible future script to change themes thoroughly. Fixed progressbars inside views. Improved colorswatches, disabled sliders and switches. Reduced scale width.

This commit is contained in:
eudaimon 2024-07-29 18:15:27 +02:00
parent dc386894ff
commit 7a8e3d04df
2 changed files with 71 additions and 19 deletions

14
change_theme.py Normal file
View file

@ -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
'''

View file

@ -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 */