alacritty: `startup_mode: Maximized` stopped working recent GNOME Wayland
This stopped working after upgrading from Fedora 35 to 36. From the log it seems that Alacritty starts in 800x600, switch size to 2560x1408 (which is about the size of my screen) but then goes back to 800x600.
The Alacritty version in Fedora 36 is 0.10.1 whereas in 35 it was 0.9.0. But I tried to run Alacritty from source using the v0.9.0 tag, and I see the same issue, i.e. even 0.9.0 doesn’t start maximized on Fedora 36 either. So maybe something else changed in Fedora 36 that interfers with Alacritty? Anything I can do to investigate further?
System
OS: Linux (Fedora 36) Version: 0.10.1 Linux/BSD: Grome on Wayland
Logs
Font/Terminal size: alacritty -vv
[0.000007730s] [INFO ] [alacritty] Welcome to Alacritty
[0.000120725s] [INFO ] [alacritty] Version 0.10.1
[0.000163071s] [INFO ] [alacritty] Running on Wayland
[0.001266332s] [INFO ] [alacritty] Configuration files loaded from:
"/home/perso/.config/alacritty/alacritty.yml"
[0.020854944s] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Regular, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[0.029044235s] [DEBUG] [alacritty] Estimated DPR: 1
[0.029061996s] [DEBUG] [alacritty] Estimated window size: None
[0.029077550s] [DEBUG] [alacritty] Estimated cell size: 7 x 18
[0.078014143s] [INFO ] [alacritty] Device pixel ratio: 1
[0.089214196s] [INFO ] [alacritty] Initializing glyph cache...
[0.090528233s] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Regular, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[0.092259742s] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Bold, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[0.094021178s] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Italic, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[0.095948744s] [DEBUG] [crossfont] Loaded Face Face { ft_face: Font Face: Bold Italic, load_flags: TARGET_LIGHT, render_mode: "Normal", lcd_filter: 1 }
[0.129382298s] [INFO ] [alacritty] ... finished initializing glyph cache in 0.040139218s
[0.129417483s] [INFO ] [alacritty] Cell size: 7 x 18
[0.129423263s] [INFO ] [alacritty] Padding: 1 x 3
[0.129427064s] [INFO ] [alacritty] Width: 800, Height: 600
[0.129817390s] [INFO ] [alacritty] PTY dimensions: 33 x 114
[0.132035798s] [INFO ] [alacritty] Initialisation complete
[0.132228100s] [DEBUG] [alacritty_terminal] New num_cols is 365 and num_lines is 78
[0.135490062s] [INFO ] [alacritty] Padding: 2 x 2
[0.135513191s] [INFO ] [alacritty] Width: 2560, Height: 1408
[0.151158877s] [DEBUG] [alacritty_terminal] New num_cols is 114 and num_lines is 33
[0.152942982s] [INFO ] [alacritty] Padding: 1 x 3
[0.152999777s] [INFO ] [alacritty] Width: 800, Height: 600
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 9
- Comments: 19 (6 by maintainers)
Commits related to this issue
- Update to winit-0.29.0-beta.0 The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as abitilty to... — committed to kchibisov/alacritty by kchibisov a year ago
- Update to winit-0.29.0-beta.0 The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as abitilty to... — committed to kchibisov/alacritty by kchibisov a year ago
- Update to winit-0.29.0-beta.0 The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as abitilty to... — committed to kchibisov/alacritty by kchibisov a year ago
- Update to winit-0.29.0-beta.0 The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as ability to ... — committed to kchibisov/alacritty by kchibisov a year ago
- Update to winit-0.29.0-beta.0 The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as ability to ... — committed to kchibisov/alacritty by kchibisov a year ago
- Update to winit-0.29.0-beta.0 The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as ability to ... — committed to kchibisov/alacritty by kchibisov a year ago
- Update to the new winit keyboard API The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as ab... — committed to alacritty/alacritty by kchibisov a year ago
I have same problem on Ubuntu 22.04.2 LTS
Temporal fix:
nano ~/.local/share/applications/Alacritty.desktop
@kchibisov For the record, this issue has been reported upstream too. https://bugs.kde.org/show_bug.cgi?id=457867
After my quick debugging, I see an issue on client side. In particular, it appears like alacritty calls
xdg_surface.set_window_geometry
without attached buffer before receiving the first configure event. This is a no-no thing, most compositors silently handle that, but there’s a proposal to make it a protocol error because it makes no sense to call set_window_geometry without a buffer.I believe that this maximization issue is going to be resolved if alacritty starts updating the window geometry when there’s a buffer. For example, this is alacritty’s wayland debug log when running with kwin_wayland
That
xdg_surface@24.set_window_geometry(0, 0, 800, 600)
right after creatingxdg_toplevel
confuses async geometry code in kwin, ideally we should post a protocol error in that case.Note that the behavior may differ across compositors because every compositor handles async geometry updates differently, but alacritty should not touch the window geometry until it attaches a buffer.
This is most likely a bug in whatever toolkit alacritty uses under the hood.
That’s because you’re not running on wayland anymore, so it’s not a workaround.
I just tried @StackOverflowExcept1on’s workaround, and it seems to fix the
Maximized
issue for me 🎉I mean I understand the issue, I’m just saying that it can’t be solved directly in alacritty right now, it’ll require changing like 2-3 libraries down the road for that. Think of it like I need to change Qt(just example) to fix that in alacritty.
And some other problem that this “Qt” library is in the middle of updating their “libwayland” wrapper and in beta for “Qt-6” for like 6 month already.
That Qt reference is an example, but you should get an understanding of why this can’t be easily solved right now and takes some amount of time…
I could try to take a look once I have time, but it seems more like gnome broke something…