-
-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Autotheming - Discussion [edit] #29
Comments
You are welcome! and thanks ❤️
I have received similar requests about alphas for border and shadows as well. I had removed their override.
Cool! That would do it for now. I will include the toggle in the next update. Also, since you are using auto-theme, it would be great to get some feedback. As in, which option are you using (color, dark, light with default or alt) and any suggestions to improve on it. Thank you for reporting! |
Awesome! That's the kind of feedback I was looking for. I get what you are saying. A little about how it works: After the palette is generated, there is bit of a circus trying to find good color candidates. Initially, I only worked with the color theme and later added Dark and Light options. I thought of a simple scheme: a) Select darker colors for the backgrounds and b) colorful colors for the Accent and highlight. When I implemented it, contrast between colors turned out to be a big issue. The background, foreground must be contrasting to a bare min else readability issue. But also contrast between, menu and submenu, bg and highlights, accent and highlights etc and for some reason I decided to find different colors for the Bar and Menus so twice the trouble. I keep filtering and rejecting colors until there is enough contrast and that might have messed it a bit. For the Accent, I think of it as the cherry on the cake or lipstick on the face if you will :) So, I tried to pick most colorful, bright option and also preferably one that is closer to red (if available). I still feel it should be a color that stands out (doesn't have to be red though) but yes, it should also be something that is pleasant for the user. Manual override option for accent is added in AutoTheming so one can choose a favorite color. I will also look into improving the auto option. This is especially relevant since I am also working on extending this accent color to the entire shell (as an option). [In fact, there will be options to apply accent, menu styles to the shell allover and extend the accent to Gtk/Flatpak]. Looking forward: One more thing I would like to know is about difference between background colors for the Bar and Menu. Do you prefer same, or similar colors for them or Bar should have different style. It can be subjective, some might go with candybar for e.g., but any thoughts are welcome. Share the background links if possible. I will look into it. Thank you for the feedback!! |
I understand, as I thought, this is very hard work. It is almost impossible to find a perfect solution of course.
That's a good way to describe :) Actually at first I used accent color manual override like you said, but it does not always fit and gets boring. I also think, I have figured out what bothers me :
That would be awesome, but then again too much contrast might be too distracting for global accent color :) It would be more awesome if you could add a toned down version of current accent color.
Yes, exactly what i meant, thanks.
I prefer same or similar colors but I agree that candybar users would like different style. I actually always use blurred transparent bar so it mostly looks like a tone darker version of prominent color. I have deleted those wallpapers, but I found them again, a few of them missing but critical ones you are asking for are there:
Thanks for your hard work! |
I'm using dark default. Like already mentioned, "color" is too unpredictable, and "alt" seems to produce almost exclusively blackish background (but I'm nor sure what the exact goal of "alt" is, it's not very descriptive).
I prefer the bar and menu to have a similar color. I think that's about how dark default works now. I have a question about how autotheme works. Is the "neon glow" color automatically updated also? I noticed at one time that it wasn't, but I'm not sure if it was because of a bug, or it was never meant to be updated. But if not, why? In fact, I think it might be useful to document in the GUI what options are or are not affected by autotheming. Because right now, I'm not even sure.
I know it's slightly off-topic, but how do you plan to style Flatpak? I looked into it some time ago, and there just doesn't seem to be a good way. So I stopped even bothering about trying to style my desktop with anything other than the default Adwaita. |
Thank you for the feedback!
It seemed to work very well for many backgrounds and okayish for most others in my test images. But turns out it can be a disaster for yet others. The main reason is, the palette itself is way off and secondly, the algorithm trying to make everything stand out against each other (Menu/Submenu BG, highlights, accent etc). Anyway, I am rewriting it already. I managed to get much better palette, at least for my existing test images as well as the ones shared above. If you guys have any more images to add to my test suit, please share links. I use parameters to guide color selection. I start with what I expect to be reasonable and then tune based on how it works on the test images. Having diverse set of images helps to reduce over-fitting.
I thought of describing Alt somewhere but wasn't sure if anyone reads it 😄 . The option itself was not so deliberate. I was selecting the color for highlights and I could prefer lighter or darker one and that decision would many times cascade into different BG colors as well. So, I just added it as an option called 'Alt' :)
Yes, but maybe not entirely. Neon glow color is basically the border color. Autotheme does update the border color, so yes. But currently, it does not care about neon On/Off while selecting the color. The thing is neon only works well if color itself has neon like shade, the background is mostly opaque and dark.
Yes, in the new version, I am adding a note in the AutoTheming section. Because it will now only update the colors. Meaning, the alpha values, type of bar, On/Off for neon, border, shadow, wmax bar etc. will all be kept as per user settings.
True, it can be finicky. For now, I am only trying to extend the accent color and mainly just add overrides to provide flatpak apps access to Gtk configs. Thanks for the discussion guys, I will share something soon here. |
Update:
I am working here. It is yet to be finalized but ready to check out. I have tested on Gnome 45. Also ported to Gnome 46 and currently in test, maybe will do tomorrow. Feel free to try it out (or wait for a day or two if you wish). Thank you! |
Hope we will also get these enhancement for Gnome 42? |
@0Raik, @Alan-Kuan, @Plyply99, @Ancairon, @JxJxxJxJ Hello folks, tagging you based on our previous interaction about this extension. Feel free to unsubscribe to the issue, if you wish. TLDR of the above discussion:
Thank you! |
Are you abandoning Gnome 42 compatibility? |
Hi @neuromorph. I tried your Open Bar 2.0 on Gnome 46, and it worked great. |
Hi @Alan-Kuan @in4matix Thanks. |
Thank you for trying out and for your feedback!!
Yep, I had turned On for my tests in VMs and I finalize the defaults as well as disabling in the end. But you are right, it needs fixing for you guys to test. I have turned off, Shell, Gtk, Flatpak and also Dash/Dock is on Default theme by default.
I think you mean the Dash. In the Dash/Dock Style , select 'Keep Default Theme'. I have kept it as default now, as mentioned above. Also, there is a setting for icon size which had a lower default value (increased now) and can be set from there.
That's a miss, since disable isn't yet finalized. I have fixed it. All cleanup will be included before releasing as required for Gnome review as well. However, both very valid points about defaults and disable. It was my bad, fixed in the latest commits. Thanks for pointing out! I will check the other items soon, wanted to get these up for anyone looking to install. |
Okay, I didn't know that the app bar in overview is the dash, and I though dash/dock style is only for dash-to-dock for some reason, so I didn't touch anything, there. 😉 Thanks. |
Hi @neuromorph. I tried latest version and the problem of small icon in dash-to-panel was fixed. |
Cool, good to know!
Changing the light/dark mode will apply the autotheme as selected in settings. This can change the colors if the wallpaper has light/dark variants or if different theme is selected for each mode. Please elaborate on what exact customization you are referring to. cheers |
The switch did update the theme according to the setting in the "Auto Theming" section. |
@Alan-Kuan
Thanks, good to know!
Just for fun :) Gtk CSS:
The gtk css gets written many times. Everytime the accent color changes (including every autotheme apply) or when any other Gtk settings change. Also, the file or its content must be removed on disable, meaning it will need to be written on every enable as well. Gnome will disable the extension every time you lock the screen or logout or login. In fact it will do it more than once since it uses a rebasing mechanism that can cause extensions to disable/enable multiple times when you lock/unlock etc. Soon enough, there will be hundreds of backed up Gtk css files. So, no auto backups, sorry.
True. Open Bar needs to create new switch svg icon for the shell since it is not themable. While at it I made the 'socket' narrower than the 'knob' which looks better to me than the big switch and maybe closer to physical switch. You can check it in the notifications panel - the 'Do Not Disturb' switch. Then I tried to match the Gtk switch to it for consistency and it supports theming with css so that was cool. I guess it is a bit shorter and needs some tweaking. Yet to figure that out. Suggestions for tweaks are welcome.
I believe you are referring to the border alpha. There is no change in this part from the published version. I just tested in Fedora 39-1.5 in a VM and cannot reproduce the issue. The alpha changes the border opacity as expected. Please provide pics of the issue in case I am missing something.
I guess the first part is solved. The settings for icon size are under Dash/Dock and the default is set to size of 48 now. A heads up, the Gnome 45/46 codebase is same, I am trying to make it work for both equally, but it also means that a stylesheet change added for 46 can also affect 45. Oh, the extension has been beyond "supposed to control colors in a bar" from early on :) but now it's gone beyond the rest of the shell as well. Even though it is pretty limited in terms of theming apps, I mainly wanted the accent to flow through. I underestimated how hard it would be to make it work for arbitrary colors on the fly. Making a specific theme is hard enough but still much easier and provides much better control. Here, I can't even test for the combinations of selected settings, wallpaper and shell elements that may cause it to fail miserably or highlight room for improvement. |
Hey, @neuromorph I installed the extension too, and I like what I see! One thought would be if you were going to allow for manual tinkering on both light mode and dark mode, let's say I want to "lock" the top bar color in the two modes to my hex values and have the rest of the os themed, is that a possibility? |
This does not work. Like I said, besides the option toggle, the files need to be removed on disable and so need to add again on enable (may require backup here). The trouble is detecting intermittent file vs actual user file that needs to be backed up. Initially I thought of timing like install/uninstall but there isn't exactly a notion of install/uninstall from within the extension, only enable/disable and that happens anytime without user/extension intervention. So while it can be done, I didn't think it would be reliable and so I thought the hassle may not be worth it.
Not legacy Gtk. It is more like Orchis or Material as you said. I started with the default Gnome switch and added few mods. Also tried to make both Shell and Gtk switches close to each other in the current update.
As I see, you are referring to multiple points, so lets take one by one. Secondly, about the smudge. You mentioned about trying to blend the island with the background which I suppose means lowering the opacity of the islands background. For neon in islands mode, the islands background alpha needs to be sufficiently high to hide the shadow behind. Other than that, smaller width border with high border alpha can give the sharper neon if you wish. Third, I see in the second and third pic, the gap between islands get this vertical bar like effect with neon esp. when the border radius is off. This causes overlap between neon shadows of neighboring islands. Radius off means more overlap. You will need to increase horizontal padding in 'Highlights' to create space between islands and it will be fixed. And finally,
That's true. This can happen in some other settings as well. The width here is specified in pixels. From specifying it in css to actually rendering on the screen, there could be a few steps. More prominently the display scaling and support for sub-pixel accuracy. Normally, at 100% scaling, the 1.5px will get rounded to 2px and will be so until 2.5 at which point it gets rounded to 3px etc. I kept sub-pixel support since for 2x scaling, 1.3px might take roughly 2.6 rounded to 3px on screen. Else it may only be 2px or 4px etc.
Border can certainly help in some cases, currently I have also turned it off. Thank you for the feedback! |
Hi @Ancairon
Thank you!
I think you are suggesting same thing as @Alan-Kuan said here . Let me try to rephrase: |
That's the 'Headerbar Hint' slider in Gtk/Flatpak Apps tab. It adds hint of Accent color based on selected % value. Initially, default for both Headerbar and Sidebar was 10 so you would see a 10% hint when enabled. I then realized that the default look these days in Gnome/Adwaita does not highlight the headerbar, instead it is just left and right panes. So I changed the default for Headerbar Hint to zero, so it shows the two panes similar to Gnome. Well, I am not sure which one is better default, 0 or 10, so suggestions welcome. The idea is to not change it too much by default and let users do the change but at the same time also provide clues of what's possible 🤷 TL;DR - The setting is called 'Headerbar Hint' similar to 'Sidebar Hint' and newly added 'Card/Dialog Hint'. Default value is now set to zero but can be set to desired % using the slider. The Auto Yaru themes is an additional option for people using them (default on Ubuntu) so that the non-colorable assets like icons or animations (e.g. mouse scroll in settings) also look similar by following nearest available Yaru theme. Also, Thanks. |
Thanks. Looking at both styles, I really like the tinted headerbar. But I guess that the current default looks more sensible on GTK4 apps with sidebar. It's a shame that also makes GTK3 apps and apps without a sidebar mostly not tinted. Then again, client-side decorations in the headbar remain untinted, which may subjectively look awful or quaint. But me, I like more color. 😄 |
Hi @neuromorph
Thank you for these fixes, I have been testing since you updated and they work perfectly. There is a few minor issues though but I don't have time to inspect it. By the way I did not encounter any other crashes like fullscreen or lock screen crash issues mentioned. I have also pulled the latest commits today. Maybe it has been fixed :) |
Hey,
Gtk may not be instant and may require reopening app or reloading Gnome but if the palette itself does not update then that might be the main issue (for Gtk as well). I will look into it but any more inputs on how to reproduce will be great.
OK, this is a biggy. I was ready to upload to extensions web today but this needs investigating first. I have not used Variety, not sure how that may affect but will try it out. A screencast of the screen with CPU % while the wallpaper changes will be helpful. Any more inputs on how to reproduce the 'excessive CPU or stuck in loop' situation will be of great help too.
Thank you for reporting! Hope to crack it soon. |
Thank you for sharing these! I have installed gThumb and am looking through it and firefox and maybe able to fix the tint for the buttons. I will update here once I get it up. |
I tried a bit with Variety. I think the algorithm feels heavier than it is with Variety due to repeat signals causing it to run in succession. I noticed that the repeat signals would also happen at times without variety. But with it, the repetitions were more and would happen more often. I have some idea of why that could be even though I haven't looked into their code in much details. I had also faced this issue - e.g. when you set a wallpaper by right clicking on an image file, it would copy the wallpaper to a location for 'current background' but the URI for both light and dark wallpapers would stay at '...../background'. If a dconf setting is updated with same value, it does not trigger update signal. To force the signal, you need to ensure the value of the setting changes. Probably for this reason, Variety adds random strings to the wallpaper filenames in it's own directory and uses that as URI. Some unknown reason seems to cause it to update the URI with new random string even when the underlying file is same. You can watch for the URI changes while you start/stop or interact with Variety by using this command: Please try with the latest commit, hopefully the excessive CPU will be solved. Not sure on the crash thing if it is related but could be. |
That's impressive. However, for some reason, there's no visible change in Evolution (see my previous post, first screenshot). Perhaps the text button with icon and dropdown (as you can see, all are like that in Evolution's titlebar) is some completely separate component from those other button kinds that you styled? |
Yes, Evolution buttons have a bit different class / layout. I installed Evolution and fixed the tint in the latest commit. Also, If you face this or any other Crash issue please let me know. Thanks much! |
Quick Update:
I finally faced this issue and was able to look into it. There is an upstream issue with an MR ready. I also added a potential workaround in the meanwhile (latest commit). I talk about it here. |
Ah OK, CSS ftw. If you touch default state color in shell css, all other state styles give up for no reason 😬 If you folks face any crashes , please let me know. Cheers |
Hello All, I have uploaded OpenBar 2.0 to the Gnome extensions site for review. Yet to merge into 'main', will do sometime soon. The metadata.json file was edited earlier to bump up the version since it can otherwise be overwritten by any intermediate update. If you have pulled the latest commit at least by yesterday then it should already be reset else you may want to pull now. This is so that when the extension goes live on the web, you'll be notified of update and it will get downloaded/installed. You can anytime edit the metadata later as well. The new versions will be - Gnome 42-44 => 31, Gnome 45+ => 32, or a higher number if the review has any corrections/suggestions. Thanks a lot for the discussion here !! Feel free to raise a new issue as needed. Best. |
Hey @neuromorph , Thank you so much for your commitment, patience and hard work!! You rock dude!! |
You are welcome @in4matix and Thanks much!! :) |
Hi @neuromorph, I have been testing since you fixed that problem. I have not encountered any excessive CPU usage or crash since then. Even, theme changes are applied instantly now when Variety changes the wallpaper. (was hanging the system a bit before) Thanks for your quick fixes and hard work; awesome extension :) |
Great news! System hanging is certainly bad. There is still enough room for optimizations but it was already quick in my tests on my old laptop and it may require quite some refactoring so I haven't gone much down that path. It's kept for future updates. Thank you for all the helpful feedback 👍 |
Hi @neuromorph After I pulled the latest commit from 2.0 recently, I encountered an issue that the extension would be disabled when my laptop resumed from sleep. I could not think of any other things that may cause the problem. |
Have you added any new app or extension that adds an indicator to the panel? A pic of the panel can help to see what all is in there. Also a log will be needed to get the trace for the error.
To simulate lock/sleep, you may run a nested shell with following command and use the Quick Settings in the nested shell to Lock or Suspend it and watch for errors in the terminal.
Please share the log here so I can figure out and fix it. Thanks! |
Hi @neuromorph A relevant extension I can think of is "Dash to Panel". I'm not sure whether the green dot in the following screenshot is the indicator you mentioned. Furthermore, I found the problem occurred when I lock/suspend the session twice. After the second resume, the extension was disabled due to the error. To spot the first malfunction commit, I tried reproducing the error with "git bisect" and confirmed it is the commit 6256c5a. In addition, I reproduced it in the latest commit and dump the log to openbar.log. Hope the information can help you fix the bug. |
Hello @Alan-Kuan I have pushed a fix to 'openbar2.0' branch. Can you please pull the latest commit and test with it to confirm the fix. If it works well, then I would have to resubmit for Gnome review since they are still pending there. Thanks. |
Hi @neuromorph I tried, but unfortunately, it still exists. And here's the log: openbar.log |
Hi @Alan-Kuan
Oops :( Let me know how it goes. |
Hi @neuromorph I tried again. This time, the extension works well. Thank you. |
Quick Update:
Thanks! |
Thank you all for your contribution, I am closing this thread now! A reminder, please refer to 'main' branch for any updates instead of 'openbar2.0'. Feel free to log a new issue for any bug or suggestions. |
Hi, thanks for the extension. Loving it so far.
I have a suggestion. Details below:
Open Bar version: 30
Gnome Shell version: 46
When using blur my shell, setting bar background alpha to 0.0 gives better results (for my liking at least). (using mainland)
Examples :
BG alpha 0.0
BG 1 :
BG 2 :
BG alpha 0.9
BG 1:
BG 2:
If auto-theming is enabled, whenever a background changes, auto theme sets bar background alpha to 0.90.
Line 588 in autotheme.js
I removed if-else and set bgalpha to 0. It works for me now as I expected.
Maybe it would be better if autotheme does not override BG alpha or there may be a checkbox/toggle to override BG alpha.
I have not inspected the code much so I do not know if I could add it. There may be reasons for current behaviour for different theme setups and use cases; so having an option for BG alpha override would be nice.
The text was updated successfully, but these errors were encountered: