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
Kitty full screen mode wayland cut off #5677
Comments
Doesn't reproduce for me on GNOME+Wayland on fully updated Arch Linux running kitty from master. Starting kitty as kitty --config=NONE This is likely something specific to your GNOME config. If you can isolate what that is and post a reproducer I'll take another look. |
First of all thank you very much for your effort and your work. I just saw the following errors pop up when I switched to full screen (running with 'kitty --config NONE') in the terminal: [glfw error 65548]: Wayland: The platform does not provide the window position Installing 'glfw-wayland' didn't help. |
That's to be expected, wayland doesnt allow setting window position, so |
Thanks, well I couldn't find much more. For anybody having the same problem, as a temporary fix you can set 'linux_display_server X11' in kitty.conf (this makes kitty run under XWayland as far as I understand). Googling 'wayland fullscreen off centered' returns some results which may help but of course I understand that if the issue is not reproducible / doesn't affect anybody else, it doesn't make sense to invest more time. Thank you for this amazing project and the help you provided. |
Using fedora 37. After very recent update of mutter from 43.0-4 to 43.1-2 this issue became relevant for me too. Downgrading mutter fixes the problem: |
But other programs are unaffected, including other terminals. |
If its a change in mutter that broke it report it there, hopefully they will tell us what the root cause is. I still cannto replicate with mutter 43.1 and kitty from master using --config=NONE |
Since no other program has been shifted a bit off the screen, I guess the problem is not in the mutter and there is nothing to fix in their side. |
By that logic, no other compositor but mutter 43.1 has this problem, so there is nothing to fix in kitty. It's a mutter update that broke it, mutter is where you need to report it. |
|
Looks fine to me negative values are used by window decorations. |
But in fullscreen there are no window decorations, isn't it? Also if I run |
First of all, in Wayland, applications cannot control window position, Secondly, in full screen window decorations are irrelevant, since they diff --git a/glfw/wl_window.c b/glfw/wl_window.c
index ab21f43a7..ede67bbc0 100644
--- a/glfw/wl_window.c
+++ b/glfw/wl_window.c
@@ -621,7 +621,7 @@ static void xdgSurfaceHandleConfigure(void* data,
int width = window->wl.pending.width, height = window->wl.pending.height;
set_csd_window_geometry(window, &width, &height);
bool resized = dispatchChangesAfterConfigure(window, width, height);
- if (window->wl.decorations.serverSide) {
+ if (window->wl.decorations.serverSide || window->wl.current.toplevel_states & TOPLEVEL_STATE_FULLSCREEN) {
free_csd_surfaces(window);
} else {
ensure_csd_resources(window); This will explicitly disable the CSD when a surface configure event is |
For those who will hit this problem too:
|
Please don't get mad at me :) I clearly have no idea what I'm talking about. I'm just a simple user that hit a bug a trying to find a solution. Yes, mutter could have broken something, yet even with this breakage all other programs enter fullscreen correctly, that's why from my uneducated PoV kitty is the first suspect. |
I'm not mad at you, I am just saying, you should report this to mutter |
I opened an issue: Mutter Gitlab Thanks to both of you! |
Translate to human language: upstream doesn't care about Linux and you shouldn't use this app as Linux user. |
@tim77 ROFL go read the kitty changelog for all the fixes I have had to make for the ever growing pile of shit that is GNOME+Wayland (hint there have been 13 in the last 3 months alone). I am simply fed up of wasting my time endlessly iterating on basic desktop windowing while the Wayland ecosystem tries and repeatedly fails to get its act together. I am soooo looking forward to the days/weeks I will have to waste integrating support for libdecor in the near future because GNOME wont implement server side decorations, and couldnt be bothered to implement client side support for it in a standalone library for years, which means I had to implement support for it in kitty manually. And then rip it out and replace it with something else later, and be forced to depend on all of GTK for it. What a joke. And then the days/weeks I will have to waste integrating support for fractional scaling because such basic things were out of scope for Wayland for nearly a decade and it took them YEARS to finally figure out how to implement it. Amateur hour. And they still dont even have a way for non-blessed applications to draw panels/desktop backgrounds, across compositors which means, for instance, I cant implement the panel kitten on Wayland. Which in turn means I will personally never use Wayland. And every single bit of churn in this god forsaken ecosystem is multiplied by 10 because there are ten different compositors, which means every single thing you do has to be tested 10 times over. It's like this PoS was designed to waste everybody's time, maximally. And all this to solve the basic problem of drawing windows on screen, something computers have been doing successfully for 50 years. |
What kind of desktop environment do you use @kovidgoyal? I ran into this issue too. I never experimented much with other things than GNOME, because it seems to work pretty fine with most applications. Are you doing some special things with kitty that are unusual and make it more difficult to implement in GNOME+Wayland? As I understand X11 is such a mess that nobody wants to keep building upon it, so that's why they started with Wayland. But then you say the people who are making it are a bunch of amateurs. So that doesn't sound very good haha. So yeah I wonder, where do you place your bets on? |
I use X11 with i3 and my own session manager. As for Wayland, I wish |
Aha ok cool, maybe I'll give i3 a try. I've been wanting to try a tiling window managers for some time now but somehow I am just a bit suspicious of how well it will work with a big variety of applications. But will i3 stay on X11? Is X11 still gonna be maintained in the end? I also have struggles with multiple monitors on Wayland. So you think Wayland is doomed? Is there any other hope? |
On Sun, Nov 27, 2022 at 12:31:41PM -0800, Rik wrote:
Aha ok cool, maybe I'll give i3 a try. I've been wanting to try a tiling window managers for some time now but somehow I am just a bit suspicious of how well it will work with a big variety of applications.
But will i3 stay on X11? Is X11 still gonna be maintained in the end?
As far as I know i3 is planning to stay on X11 forever. There is a port
of it to Wayland called sway, maintained by different people.
I also have struggles with multiple monitors on Wayland. So you think Wayland is doomed? Is there any other hope?
No, not really. It's basically X11 or Wayland currently. Personally, I
plan to stick to X11 forever. Maybe someday X11 will be unmaintained and
I will need to re-evaluate but that day is not here yet.
There is literally no problem of mine that Wayland solves. The one
semi-useful feature it has is support for multiple DPI monitors, that's
it.
|
In this specific issue it seems that Kitty is not acting according to spec: https://gitlab.gnome.org/GNOME/mutter/-/issues/2524#note_1601492. The mutter devs will probably implement a workaround anyway in order to support screen resolution change, as mentioned in the linked comment, but I believe that kitty should still be fixed. @kovidgoyal I'm sorry that Wayland conformance is causing you such a headache. FWIW Kitty works great for me on both GNOME Shell Wayland session, as well as on Sway. Thank you for the great software! Also, please don't give up on Wayland. Maybe it's not solving any issues for you - not yet, anyway - but it does solve a lot of issues for a lot of users. |
On Mon, Nov 28, 2022 at 12:33:33AM -0800, Yariv Barkan wrote:
In this specific issue it seems that Kitty is not acting according to spec: https://gitlab.gnome.org/GNOME/mutter/-/issues/2524#note_1601492. The mutter devs will probably implement a workaround anyway in order to support screen resolution change, as mentioned in the linked comment, but I believe that kitty should still be fixed.
You are most welcome to send a PR fixing it, I will review it.
From the problem description, I would guess the patch I posted above
will fix it, but since I cannot reproduce it, its hard for me to be
certain.
@kovidgoyal I'm sorry that Wayland conformance is causing you such a headache. FWIW Kitty works great for me on both GNOME Shell Wayland session, as well as on Sway. Thank you for the great software! Also, please don't give up on Wayland. Maybe it's not solving any issues for you - not yet, anyway - but it does solve a lot of issues for a lot of users.
Don't worry, I will keep supporting Wayland in kitty for kitty users. Ad
evidenced by the kitty changelog. I have just given up on using it
personally. I feel a bit sad about that, but...
|
Actually someone posted a way to reproduce it on the mutter tracker, so here is a fix. |
Describe the bug
When using kitty in full screen mode on Wayland the size is too big and some parts are cut off (the pictures show nvim as an example).
It seems like the whole 'window' is shifted to the left and towards the top (you can see black bars on the right and the bottom of the full screen screenshot)
To Reproduce
Steps to reproduce the behavior:
Environment details
Arch Linux with Gnome running on Wayland
Additional context
Using 'kitty --config NONE' doesn't help.
Neither does changing the screen resolution, however when switching the Gnome session to X11 the bug doesn't persist.
The text was updated successfully, but these errors were encountered: