-
-
Notifications
You must be signed in to change notification settings - Fork 999
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
Native window decorations for GNOME Wayland #3284
Comments
It supports client side decorations already, they are just simple white |
Thanks, I get into it! And yeah I respect your decision and it was actually what I had in mind! |
Cool, all the best. Feel free to ask questions if you need clarification, |
Note that there's work on adding glfw CSD support via libdecoration already: |
I looked into this and libdecoration is half baked, at best. It currently supports only a simple titlebar drawn using cairo, which is pointless since it wont be native anyway. And it hasn't even been released, ever. If I were you I'd skip libdecoration entirely and just draw the titlebar using gtk libraries. Or better, stop using GNOME. |
There is some work in progress to implement GTK plugin for libdecoration which should integrate with desktop pretty nicely. Even without it it's probably still better to have simple cairo titlebar than non functional or even no titlebar at all. There is also some interest in SDL to pickup libdecoration. When it will happen libdecoration probably will be available in repositories of popular distributions. |
Is this work happening in a public repository somewhere? And there is no need for libcairo just to draw a title. kitty already includes both harfbuzz and fontconfig/freetype that are together perfectly capable of doing simple single line text layout/rendering. In fact, I think I will just add support for rendering titles to the current empty titlebar. Should be a day or so of work. |
There is merge request about this on libdecoration GitLab. I also tested this and it worked pretty reliably. Not perfect but gives some preview how it should work in future. Your solution seems nice for now. libdecoration is fine (at least for me) but it's still WIP so maybe waiting for official support on GLFW side isn't bad idea. |
In master now kitty has fully functional though non native decorations on GNOME. |
They arent gone they are just not native. If you want native set linux_display_server to x11 in kitty.conf which was what it used to default to. |
These are window decorations! They are "non native" in the sense of they aren't GNOME themed, but they are "there" ;) Basically there are two camps when it comes to window decorations: client side and server side. The latter is the more classical approach of having the window decorations be drawn by the desktop environment and the application itself is only responsible for the "content". This was what everyone did in the X11 world, even GNOME. With Wayland, GNOME deprecated support for server side decorations in their own software. There are wayland compositors that allow for SSDs, Mutter doesn't. That means, each Wayland application must draw its own CSDs in GNOME. Before the latest update you ran kitty as XWayland application, and thus GNOME added SSDs due to backwards compatibility. You can either switch back to Xwayland, implement "proper" CSDs in kitty yourself or nag the GNOME team to support SSDs again in Wayland :) |
Yeah XWayland sounds good to me, as it is half of the applications that I use do that.
How do I close the terminal? I don't see a close button or something like that. Is there a way to add that? (like what do I do to add that?) |
On Mon, Apr 19, 2021 at 09:15:15PM -0700, Deep Majumder wrote:
> In master now kitty has fully functional though non native decorations on GNOME.
How do I close the terminal? I don't see a close button or something like that. Is there a way to add that? (like what do I do to add that?)
This is a terminal, for use by keyboard afficionados. Type the close
window shortcut, or type exit and press enter. Or type ctrl+d. Or if you
really must use the mouse, right click the titlebar to access the
control.
|
Is there any real advantage of using native Wayland over XWayland, as far as Kitty is concerned? |
This is what I think you are looking for @metal3d and @stellarexplosions |
OK...
Sorry for this :) Didn't seen this comment |
The most visible advantage of using Wayland is that the window properly scales on HiDPI screens. When using Xwayland, kitty will look blurry if window scaling is enabled. |
It works, but I want to keep using Wayland. I just want to change the color of window decoration from white to something dark. AFAIK in Wayland window decorations are implemented by compositor and Gnome's Mutter only implements CSD. Is there like a setting that i can use to override the window decoration color? |
On Sat, Apr 24, 2021 at 09:18:22PM -0700, Faizal Musthafa wrote:
> > They arent gone they are just not native. If you want native set linux_display_server to x11 in kitty.conf which was what it used to default to.
>
> This is what I think you are looking for @metal3d and @stellarexplosions
It works, but I want to keep using Wayland. I just want to change the color of window decoration from white to something dark. AFAIK in Wayland window decorations are implemented by compositor and Gnome's Mutter only implements CSD. Is there like a setting that i can use to override the window decoration color?
![image](https://user-images.githubusercontent.com/11005389/115980404-19c07a00-a5aa-11eb-93d6-8989d6f82375.png)
There you go: 62656b2
And man, GNOME is a gift that just keeps on giving!
|
In my Gnome wayland, I can't scroll cursor mutiple line by the mouse wheel. It only scroll cusor one line at a time. |
@Luflosi after setting |
I am using KDE Plasma w/ Wayland and |
On Sun, Jun 19, 2022 at 12:31:43AM -0700, Vikas Raj wrote:
I am using KDE Plasma w/ Wayland and `hide_window_decorations yes` doesn't seem to have any effect. Is this also one of the wayland quirks?
yes, hide_window_decorations will only work when using client side
decorations. Plasma uses server side decorations, so you should
configure hiding of decorations there.
|
When i use X11 decorations, and quake-mode gnome extension to show slide down kitty window, after few slides window becomes invisible. I know it has slide down, but it's completely transparent and unusable. |
Try to disable |
Thanks, i guess it did a trick. |
And how about native wayland decorations? Just asking @kovidgoyal |
Honestly, I would be fine with this wayland windowing style if it would just respect dark mode. White sticks out like a sore thumb, and I just can't be the only terminal aficionado who feels this way. |
On Linux, you can read dbus as I did it in fyne.io project: And the theme change event: |
On Thu, Jan 12, 2023 at 01:13:28PM -0800, Jeoshua wrote:
Honestly, I would be fine with this wayland windowing style if it would just respect dark mode. White sticks out like a sore thumb, and I just can't be the only terminal aficionado who feels this way.
|
@Jeoshua Here's an example #!/bin/sh
kitty() {
if [ -e "${XDG_CONFIG_HOME}/kitty/kitty.conf" ]; then
sed -ie "/^include theme-/s/light\|dark/${THEME}/" "${XDG_CONFIG_HOME}/kitty/kitty.conf"
killall -e -USR1 kitty
fi
}
case "$1" in
light)
THEME=light
kitty
;;
dark)
THEME=dark
kitty
;;
*)
echo "Usage: $(basename "$0") [light|dark]"
esac |
Just press |
glfw/glfw#1639 was just merged, so |
@kovidgoyal do you think it would be an easy addition to add an option to change or at least remove the cat emoji from the minimal decorations kitty is currently doing? |
That cat emoji is just awful |
libdecor main branch now has a GTK plugin, so now it can draw GTK-based window decorations to wayland clients. |
Is there any way to minimize Kitty? Like a shortcut key? Google is coming up short - just brings me to this thread but I don't understand what Wayland decorations have to do with the ability to minimize. I use lots of apps that don't have normal decorations under Gnome Wayland yet Kitty is the only one that won't minimize. @rdtorres posted an image above and you can see for yourself - no minimize option. |
The official combination is
under GNOME+Wayland |
The mantainers of this project are kind of a joke. I abandoned this terminal for Wezterm cause of this lack of very basic things. |
unfortunately ended up doing the exact same thing |
Telling someone to just "stop using GNOME" is... interesting to say the least, especially coming from the owner of the project. Have you tried thinking before typing extra unnecessary words?
This is not a "solution" for missing functionality |
I have now heard enough comments from morons, this thread has become an unmitigated waste of my time. If somebody wants to waste their lives catering to the dictates of GNOME, open a PR with code implementing libdecor integration and we can discuss, otherwise stop wasting my time. |
Hi, im a developer, and Im interested in kitty, I was sad when I saw it doesn't support client side decorations, since im a wayland gnome user, I would love to say I have other options, but sadly with my HiDPI monitor, it looks like wayland is my only option.
I would be glad to try to get to some extent some client side decorations working, what is kitty missing to support this feature? is it possible? is the possibility of supporting this good?
Thanks! And of course thank you for your awesome software, it makes using the terminal much much better.
The text was updated successfully, but these errors were encountered: