-
Notifications
You must be signed in to change notification settings - Fork 52
Conversation
This commit brings up initial support for GNOME Shell 43 and 42 theming. Additions in this commit: * Shell theme generation from preset variables * Custom preferences group in Theming section (non-functional atm) * Not much else Snippets of code are based on code from `material-you-theme` GNOME extension licensed under the terms of the GNU GPLv3 license.
LFG!!! 🚀 🚀 🚀 (I love the meme'ness of this PR) |
Amazing 😎🎉🚀 Thank you very much! |
that is fucking awesome and i love it 🥳 also: what extension did you use to move the notification panel to the right? |
I think this can be done using Just Perfection |
Signed-off-by: tfuxu <73042332+tfuxu@users.noreply.github.com>
Signed-off-by: tfuxu <73042332+tfuxu@users.noreply.github.com>
Why exactly it can't run in flatpak? |
|
can't be fixed with flatseal? |
Unfortunately, it seems that when Flatpak moved from using DConf for overrides to keyfiles, they disallowed accessing host DConf, so we can't fix this with Flatseal (or overrides more generally speaking). |
Full commit changelog: * refactored `main_window` module * removed 'GNOME Shell' option from `AppTypeDialog` widget * changed Shell theming section design, now it's a single `ExpandRow` widget in `PreferencesGroup` parent with an `ActionRow` with a button to 'Custom Shell Colors' window as a child * splitted most widget groups in `main_window` module into an external modules * disabled `get_default_wallpaper` function in `main_window` module * updated POTFILES
Quick summary of a commit b48add9 |
Alright, now the UI looks a bit drunk, we now have the colors and theming section, we should do something with this later |
@0xMRTT |
Is there a planned way to get around this? |
Well, I will need to come up with something eventually, because Flatpak users are our biggest demographic, but currently I have no idea how to make it work. |
Maybe system bus access can help? Can't test myself rn |
You might be onto something, maybe not with system bus, because DConf holds its D-bus calls in session bus, but if it actually allows accessing host DConf that way, we might be able to make use of it here. |
Created a github-account just to make this comment :)... I really want to try this out, but I can't get the right version of Gradience or so it seems. I installed gradience-git with yay in Arch and then followed the steps above, but no luck. I don't see the 'Theming' menu nor the 'enable shell theming switch'. Can someone help me out and do a step by step how to get this version so I can try out the shell theming? I am not new to Linux but not a rockstar either... |
* remove old `flatpak_gsettings` module
* replace common.run_command function with subprocess.GradienceSubprocess in `gnome` module functions
@UserrX You need to build Gradience manually from source if you want it installed directly on your system (and not as a Flatpak package). To do that, clone repository, checkout to git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
git fetch
git checkout shell-theming
git submodule update --init --recursive If you installed If not, type this: pip install -r requirements.txt and: sudo pacman -S meson ninja blueprint-compiler python-gobject libsoup libadwaita Finally, you need to setup build directory and use ninja to "compile" Gradience: meson setup builddir
meson configure builddir -Dprefix=/usr/local
sudo ninja -C builddir install |
Thank you so much for writing the steps out @tfuxu! That worked great ánd helped me to understand a bit better what is going on. |
No problem, glad I could help. We might merge this PR today (if I finish adding frontend code for checks), or tomorrow, so pretty soon you'll be able to use |
Would you mind telling me what I have to do when the merge happens? |
I never used To uninstall manually installed Gradience, go to
|
I'll restore them before 0.8.0, but I would like to have them for now removed while setting custom panel color isn't working properly.
Okay, everything that was planned for this PR is implemented, and most of the issues have been fixed, so I think we should be ready for merge. |
Yes! |
@0xMRTT Remember to add submodules fetching to |
Yes. I think this causes an issue at the moment. I removed with the command you suggested, but I'm having issues with installing from gradience-git. Actually Gnome Builder doesn't work either. There is a pygobject dependency error. I've followed the steps you laid out above, skipping the checkout, thinking that would give me a working install again. Everything seems to install fine, but Gradience won't load. |
Description
THE SHELL THEMING IS REAL!!!
This is it, Shell theming finally comes to Gradience. This means that we only need to add support to additional 420 frameworks and terminal emulators for a "complete GNOME themeing beauty" (sic).
But in all seriousness, this PR brings up shell theming support for GNOME Shell versions 43 and 42. It is WIP, but can be tested already with a majority of available presets (
excluding light presetsLight presets support was significantly improved in commit 7e9ac2c and can be tested as well).This PR also introduces a new concept of Theme Engines and improves designs of Theming tab and Preferences window, to make them more readable and expandable.
To-do list:
Make SCSS compilation multi-threaded(We don't need that, aslibsass
is pretty quick at compiling)System-wide theming(Reconsidered for the future releases)Screenshots
Full desktop view with a theme that goes hard
OSD widgets properly themed!? No way!
Nice
Fixes #618 and GradienceTeam/Plugins#11
Type of change
Changelog
GradienceOptionRow
widget is now more flexiblesettings_schema
topreset_schema
and moved tofrontend/schemas
subdirGradienceAppTypeDialog
viewShellTheme
with available manipulation functionsTesting
How to test the changes
Clone this repo with
--recurse-submodules
flag:git clone --recurse-submodules https://github.com/GradienceTeam/Gradience.git
and switch branches to get into this PR:git checkout shell-theming
Make sure you have
User Themes
GNOME extension installed (and enabled!), which you should as it is an built-in plugin, but check it nonetheless.Load a preset you want to generate a theme from. Click on
Theming
tab in main window, choose inPreset Variant
row which color variant is your preset and clickApply
button in Shell Engine.OpenNot needed as of commit 6493453User Themes
extension settings and check (or recheck)gradience-shell
theme.