Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.

⚠️ Shell Engine Roadmap (see for list of bugs) #763

Open
5 of 12 tasks
tfuxu opened this issue May 4, 2023 · 58 comments
Open
5 of 12 tasks

⚠️ Shell Engine Roadmap (see for list of bugs) #763

tfuxu opened this issue May 4, 2023 · 58 comments

Comments

@tfuxu
Copy link
Member

tfuxu commented May 4, 2023

Feature description

The list below shows features that needs to be implemented to make Shell Engine fully "feature-complete". Items in "Issues" list should be all checked out before 0.8.0 release.

Roadmap:

  • Add explanations for custom Shell colors
  • Implement panel theming
  • Theme export option (allow user to choose Shell version for which to generate the theme)
  • Automatic theme variant detection (implement after preset format redesign)
  • Revert to previous theme option (requires backup functionality implemented)
  • System-wide theming (required to theme lock screen and GDM)
  • Theme other colorable Shell assets

Issues:

  • Fix Quick Settings menu not being themed in GNOME 44
  • Fix date text color in Today's calendar widget using the same variable as foreground color for accent-colored elements
  • Fix icons in Quick Settings items not using foreground color for accent-colored elements
  • Adapt on-board keyboard to support custom themes

Additional Context

There is a Nightly Flatpak Repo available here for trying and reporting bugs of the upcoming Gradience version

Did you read the Code of Conduct?

@tfuxu tfuxu added enhancement New feature or request feature-request labels May 4, 2023
@tfuxu tfuxu modified the milestone: 0.8.0 May 4, 2023
@V-Mann-Nick
Copy link

V-Mann-Nick commented May 8, 2023

Thank you very much for the awesome work. I'm already using the shell engine and it looks really great. I really only noticed one minor thing: the dropdown in the quick settings have default color.

Screenshot

image

@tfuxu
Copy link
Member Author

tfuxu commented May 8, 2023

Thank you for your kind words! The issue you described here is the first item in issues list, I'll try to fix it as soon as I have some free time this week.

@V-Mann-Nick
Copy link

Perfect. Appreciate it a lot. Sorry for my redundant comment.

@0xMRTT
Copy link
Member

0xMRTT commented May 14, 2023

Shell doesn't support @var_name so a function for converting each @var_name to the hex/rgb value is needed since @ vars are LibAdwaita only

@tfuxu
Copy link
Member Author

tfuxu commented May 14, 2023

Shell doesn't support @var_name so a function for converting each @var_name to the hex/rgb value is needed since @ vars are LibAdwaita only

Fixed in 1a5b1f4. We already have a function to handle that, it was just buggy.

@daudix daudix pinned this issue Jul 10, 2023
@daudix daudix changed the title Shell Engine Roadmap Shell Engine Roadmap (bugs are listed here) Jul 10, 2023
@daudix daudix changed the title Shell Engine Roadmap (bugs are listed here) ⚠️ Shell Engine Roadmap (see for list of bugs) Jul 10, 2023
@sidevesh
Copy link

@tfuxu Can we add touch keyboard keys to this ? The keyboard background allready uses the theme colors, only the keys need to be adapted.
image

@0xMRTT
Copy link
Member

0xMRTT commented Jul 12, 2023

@sidevesh yes it should be possible

https://gitlab.gnome.org/GNOME/gnome-shell-sass/-/blob/master/widgets/_keyboard.scss#L33

@tfuxu
Copy link
Member Author

tfuxu commented Jul 12, 2023

@tfuxu Can we add touch keyboard keys to this ? The keyboard background allready uses the theme colors, only the keys need to be adapted. image

Sure, we can add it to the list

@0xMRTT
Copy link
Member

0xMRTT commented Jul 12, 2023

got it, it's already possible :)

@0xMRTT
Copy link
Member

0xMRTT commented Jul 12, 2023

image

$key_bg_color = darken($osd_fg_color, 70%); and osd_fg_color can be set here:

image

I agree that it looks a wrong but the idea is here :). It will require a bit more customization for having the background

@0xMRTT
Copy link
Member

0xMRTT commented Jul 12, 2023

without any tweaks, just by using the Catpuccin Mocha preset I got :

image

⚠️ you need to use nightly for having the Shell theming feature

@tfuxu
Copy link
Member Author

tfuxu commented Jul 12, 2023

Great, first one off the list ☑️

@0xMRTT
Copy link
Member

0xMRTT commented Jul 12, 2023

@tfuxu I'm going to fix them soon. (this one wasn't an issue ... It was just available but unused by @sidevesh)

@sidevesh
Copy link

@0xMRTT I don't see where I can add these options, I see osd_fg_color already there in that list but not key_bg_color, and I don't see how I can add it

@0xMRTT
Copy link
Member

0xMRTT commented Jul 13, 2023

@sidevesh That's because there isn't key_bg_color osd_fg_color do the job. Have a look at the catpuccin Mocha theme!

@sidevesh
Copy link

sidevesh commented Aug 1, 2023

Screenshot from 2023-07-31 19-48-51
Found another issue that started happening recently, the sidebar in Geary seems to not get its color updated anymore,
not sure if this happened due to updates to the app or adw-gtk3 theme (Geary is still using gtk3)

@sidevesh
Copy link

sidevesh commented Aug 2, 2023

I couldn't test with newest commits since the arch aur gradience-git package is broken currently and does not build anymore

@0xMRTT
Copy link
Member

0xMRTT commented Aug 15, 2023

QS Menu issue has been fixed!

@sidevesh
Copy link

Looks like gradience is completed borked now :(
I can regenerate the gtk.css from Material You shell extension but then applying from Gradience deletes it again.
No idea how this happened.

@Reinachan
Copy link

Some accent colours make the quick settings look a bit off.

Notice the dark line on the active pills with dropdowns. It ends up oversaturated and looks almost like it's too wide?
screenshot of quick settings, themed

This is how the default colours are. As you can see, that line doesn't stick out as much here.
screenshot of quick settings, default

I'm using the 0.8.0-beta1 from flathub. Colours are:

Both backgrounds: #0d0d0d
All foregrounds: #ffffff
Accent: #ff8686

@inthreedee
Copy link

The sidebar color issue with Geary that was mentioned by @sidevesh above (#763 (comment)) appears to be an upstream adw-gtk3 v4.9 issue, as downgrading to adw-gtk3 v4.8 fixes it. I've reported it here: lassekongo83/adw-gtk3#240

@0xMRTT
Copy link
Member

0xMRTT commented Sep 10, 2023

@inthreedee This issue is part of the new Libadwaita 1.4 widgets (sidebar and secondary sidebar). You can configure this vars with Gradience nightly

image

@0xMRTT 0xMRTT closed this as completed Sep 10, 2023
@0xMRTT 0xMRTT reopened this Sep 10, 2023
@ParaSpl01t
Copy link

ParaSpl01t commented Dec 11, 2023

Is shell theming available in GNOME 45.2 right now?
I'm using gradience-git 0.8.0.beta1.r96.gab70ed87-1 from aur
Everything works using pretty purple theme except shell gnome shell quick settings.

EDIT: I missed the APPLY button under Shell Engine option in theming tab. everything works now.

@manan-gup
Copy link

Hi, I've installed the 0.8.0-beta1-36b91fe flatpak nightly package. I tried applying the shell theme using the apply button in the shell engine section but nothing happened. Tried logging out too to no avail. Can I do anything to troubleshoot this?

@daudix
Copy link
Member

daudix commented Dec 18, 2023

@manan-gup do you have "User Themes" extension installed and enabled?

@manan-gup
Copy link

Yes I do. Should I disable it?

@daudix
Copy link
Member

daudix commented Dec 18, 2023

Nope. Could you check if there are theme with gradience in the name available? If there are one select it

@manan-gup
Copy link

image
This is what I'm getting. The Sweet* themes have been manually installed.

@daudix
Copy link
Member

daudix commented Dec 18, 2023

Hm, odd. Are you sure that you press the right apply button? (you need to press apply that are located in the shell theming section)

@manan-gup
Copy link

image
Yes, I pressed this one.

@daudix
Copy link
Member

daudix commented Dec 18, 2023

Alright, can you launch it from terminal with flatpak run com.github.GradienceTeam.Gradience.Devel and send the output here please

@manan-gup
Copy link

manan-gup commented Dec 18, 2023

Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/gradience/frontend/widgets/shell_theming_group.py", line 113, in on_apply_button_clicked
    user_themes_available = is_shell_ext_installed(ShellTheme().THEME_EXT_NAME)
                                                   ^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/gradience/backend/theming/shell.py", line 59, in __init__
    self._detect_shell_version()
  File "/app/lib/python3.11/site-packages/gradience/backend/theming/shell.py", line 326, in _detect_shell_version
    raise UnsupportedShellVersion(
gradience.backend.exceptions.UnsupportedShellVersion: GNOME Shell version 45 is not supported. (Supported versions: 42, 43, 44)

Oh, my bad. I didn't know that Gnome 45 is not supported.
It would be nice to get this message in the UI as well.

@daudix
Copy link
Member

daudix commented Dec 18, 2023

@manan-gup
Copy link

manan-gup commented Dec 18, 2023

Hm, it should be, try this build: https://github.com/GradienceTeam/Gradience/actions/runs/7214048889/artifacts/1115721706

It worked with this build. Thanks!

@daudix
Copy link
Member

daudix commented Dec 18, 2023

You're welcome ^^

@CaragC
Copy link

CaragC commented Jan 7, 2024

Using this build, when clicking the apply button next to "Shell Theming Options", nothing happens. The console prints out the following when running flatpak run com.github.GradienceTeam.Gradience.Devel

[Gradience] DEBUG: Spawning: ['flatpak-spawn', '--host', 'gnome-shell', '--version']

** (gradience:2): WARNING **: 15:59:06.037: Failed to load shared library 'libportal.so.1' referenced by the typelib: /app/lib/libportal.so.1: undefined symbol: g_once_init_leave_pointer
/app/lib/python3.11/site-packages/gradience/backend/globals.py:98: Warning: cannot retrieve class for invalid (unclassed) type 'void'
  portal = Xdp.Portal()
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/gradience/frontend/widgets/shell_theming_group.py", line 113, in on_apply_button_clicked
    user_themes_available = is_shell_ext_installed(ShellTheme().THEME_EXT_NAME)
                                                   ^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/gradience/backend/theming/shell.py", line 75, in __init__
    settings_retriever = FlatpakGSettings if is_sandboxed() else GSettingsSetting
                                             ^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/gradience/backend/globals.py", line 98, in is_sandboxed
    portal = Xdp.Portal()
             ^^^^^^^^^^^^
TypeError: could not get a reference to type class

Is there anyway to fix this?

@daudix
Copy link
Member

daudix commented Jan 7, 2024

@CaragC do you have User Themes extension installed? it is needed for the shell theming to work

@CaragC
Copy link

CaragC commented Jan 7, 2024

Yes it is installed and does not show any Gradience themes. The second theme I installed myself.
image

@daudix
Copy link
Member

daudix commented Jan 7, 2024

Hm, that's weird, can you try the latest build? https://nightly.link/GradienceTeam/Gradience/workflows/build/main

@CaragC
Copy link

CaragC commented Jan 7, 2024

This still gives the same error as before, also the same error is given when clicking "Reset Theme"

[Gradience] DEBUG: Spawning: ['flatpak-spawn', '--host', 'gnome-shell', '--version']

** (gradience:2): WARNING **: 18:35:31.542: Failed to load shared library 'libportal.so.1' referenced by the typelib: /app/lib/libportal.so.1: undefined symbol: g_once_init_leave_pointer
/app/lib/python3.11/site-packages/gradience/backend/globals.py:98: Warning: cannot retrieve class for invalid (unclassed) type 'void'
  portal = Xdp.Portal()
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/gradience/frontend/widgets/shell_theming_group.py", line 113, in on_apply_button_clicked
    user_themes_available = is_shell_ext_installed(ShellTheme().THEME_EXT_NAME)
                                                   ^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/gradience/backend/theming/shell.py", line 75, in __init__
    settings_retriever = FlatpakGSettings if is_sandboxed() else GSettingsSetting
                                             ^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/gradience/backend/globals.py", line 98, in is_sandboxed
    portal = Xdp.Portal()
             ^^^^^^^^^^^^
TypeError: could not get a reference to type class

@manan-gup
Copy link

manan-gup commented Jan 8, 2024

Failed to load shared library 'libportal.so.1'

Do you have the xdg-desktop-portal and libportal packages installed?

@CaragC
Copy link

CaragC commented Jan 8, 2024

Both of the packages are installed

@sidevesh
Copy link

sidevesh commented Feb 9, 2024

Another issue with Geary after fixing the earlier issue by adding the Adw 1.4 colors to the theme json,
image
this happens when window is not in foreground,
I can't figure out which backdrop or otherwise color maps to this #303030 color.

EDIT: Earlier this color was #FFF but after a log out and login after applying the theme it turned #303030.

@sidevesh
Copy link

Any idea about the above issue @daudix ?

@daudix
Copy link
Member

daudix commented Feb 26, 2024

I've no idea, the version from main has some issues with sidebar theming, you can try beta1 which appears to not have these

@drannex42
Copy link

Gnome 46 support hasn't been added, adding this so others can find it: #871

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Status: In Progress
Development

No branches or pull requests