Closed ammen99 closed 3 years ago
I assume this applies to native Wayland app decorations, so perhaps the same properties that are available via the XWayland decorations plugin as a start, so the settings apply to both for uniformity?
Can we alternatively optionally include GTK as a dependency for drawing decorations? As far as I know, draws can be passed-through to Cairo directly, though I'm not sure how events would be handled.
Can we alternatively optionally include GTK as a dependency for drawing decorations? As far as I know, draws can be passed-through to Cairo directly, though I'm not sure how events would be handled.
Something like this will probably land in the extra plugins, but I'd first like to see a working implementation ;)
Can we alternatively optionally include GTK as a dependency for drawing decorations? As far as I know, draws can be passed-through to Cairo directly, though I'm not sure how events would be handled.
Something like this will probably land in the extra plugins, but I'd first like to see a working implementation ;)
Isn't decor
already a plugin?
I think to implement something like this, there has to be a way to add in the GLib main loop. A feasible way I'm seeing is to use wl_event_loop_get_fd
to hook wl_event_loop
into a Glib::MainContext
, but this will bleed GLib code into Wayfire itself instead of being just a plugin.
I'm not sure how to integrate GLib's main loop into wl_event_loop
; it does have a function that iterates the loop once, but that's not very ideal.
Glib::MainContext::query
exposes a list of fds, which I could probably use in an unordered_map
to wl_event_source
s.
Glib::MainContext::query
exposes a list of fds, which I could probably use in anunordered_map
towl_event_source
s.
Wow, I can't believe I missed this. It would probably be much better and less hacky than https://github.com/WayfireWM/wayfire-plugins-extra/blob/master/src/glib-main-loop.cpp :)
Isn't
decor
already a plugin?
Decor is a plugin yes, but it is meant to have basic functionality. We can make it a bit better (maybe rounded corners, better colors, etc). but I don't want to pull in GTK/Glib as a dependency in the main repo.
EDIT: That being said, if you manage to get GTK decorations working, I'll probably start using them :P
I'd love to be able to achieve something like the window decorations in https://i.redd.it/glzrkk83f4621.png (along with active window border colour) via config. I assume the window buttons just use independently coloured font glyphs.
@frank-bell That screenshot has shadows (which would be cool to have in our plugin, yes). And once we get proper font rendering with cairo, we might be able to replace the icons with utf8 characters with configurable colors, that's a great idea ...
Kinda like a simplified waybar.
From: Ilia Bozhinov notifications@github.com Sent: Monday, February 8, 2021 9:44:05 AM To: WayfireWM/wayfire wayfire@noreply.github.com Cc: frank-bell fb@evilrobot.net; Mention mention@noreply.github.com Subject: Re: [WayfireWM/wayfire] Improve default decorations (#1066)
@frank-bellhttps://github.com/frank-bell That screenshot has shadows (which would be cool to have in our plugin, yes). And once we get proper font rendering with cairo, we might be able to replace the icons with utf8 characters with configurable colors, that's a great idea ...
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/WayfireWM/wayfire/issues/1066#issuecomment-775013733, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AORABCREIT2H4YKMK6O64PTS56W6LANCNFSM4WS6L4VQ.
I'd love to be able to achieve something like the window decorations in https://i.redd.it/glzrkk83f4621.png (along with active window border colour) via config. I assume the window buttons just use independently coloured font glyphs.
Having GtkHeaderBar support would trivially achieve something like this (without the shadows, though).
That said, I don't think I know enough about C++ and the project to work on something this non-trivial, unfortunately. I, too, would love to have something like that, but I don't have enough free time to work on it for now.
I'm really keen to contribute but haven't looked at C++ in many, many years. Will see if I can tackle some of the smaller "good first issues" first...
I was planning on working on GTK decorations at some point but that's not going to happen soon
As an alternative to adding GTK it might make sense to also have a look at compatibility with Aurorae themes, which are made up of SVGs and a (relatively) simple config and available in tons. As far as I know Cairo can render SVGs, so no extra dependency would be needed and theming support would be pretty good. Unfortunately it's very unlikely that I'll have the time to implement this any time soon.
What about rendering the decorations as images like sway borders. This will allow the decorations to be customizable because the buttons and the bar on the decorations can easily be changed.
Many users have complained that the default SSDs are ugly, and that may very well be true :)
Unfortunately, I'm not so much into GUI design so I don't think I have that many ideas how to make them better. Thus, help wanted to fix this issue.