Conversation
Add full Wayland support for GNOME Shell using the Window Calls extension. Features: - Window management via D-Bus (move, resize, maximize, minimize) - Cycle through window sizes (left, right, corners, etc.) - Vertical and horizontal maximize with toggle support - State persistence between invocations - GNOME custom keybindings integration (since Wayland blocks global hotkeys) New files: - quicktile/wayland_wm.py: Wayland window manager backend - quicktile/wayland_keybinder.py: Wayland keybinding support - setup-wayland-keybindings.sh: GNOME keybindings configurator - install-wayland.sh: One-line installer for Wayland - run-quicktile.sh: Wrapper script for running QuickTile - WAYLAND.md: Detailed Wayland documentation - tests/test_wayland_wm.py: Unit tests for Wayland backend Requirements: - GNOME Shell - Window Calls extension (https://extensions.gnome.org/extension/4724/window-calls/) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Thanks. :) Is there a particular distro you'd recommend I pull off https://www.osboxes.org/ for testing this? (I'm very much a KDE user and don't want to gamble on |
Hi! Ubuntu would be a good choice since that's what I use for development. Any recent LTS version (22.04 or 24.04) should work fine — they come with GNOME by default. |
Funny thing about that. I'm on Kubuntu 24.04 LTS right now (granted, with snapd ripped out and blacklisted and replaced with flatpaks), so it really is just "I don't want to risk a GNOME installation messing with which providers get started for which D-Bus services.) ...so yeah. Shouldn't be a problem. I'll try to fit it in for some time over the next few days. If it turns out GNOME is still as bad at running at a usable speed in VirtualBox as I remember, maybe I'll pull out one of the hand-me-down laptops I was planning to use to test out the KDE Wayland session without risking my daily driver desktop. |
|
Sorry for the delay. I forgot I had some stuff running in KVM that I normally don't need to leave running for an extended period of time and that VirtualBox's AMD-V support doesn't work at the same time as KVM's. I'd rather not futz around with adding a new KVM-based VM but I'll try to get that wound down as quickly as possible so I can spin up the Ubuntu VM. |
|
OK, the VM is too sluggish. While I wait for the ISO to download to put Ubuntu 24.04 on one of my spare laptops, here's what I've noted that one of us will need to do from just reading through it: (I'm not using GitHub's code review since a lot of these aren't tied to a specific line of code)
All in all, mostly a bunch of tiny nitpicks mixed with some restructuring that'll have to be something I take responsibility for. |
|
Please note that, while other obligations have limited how much time I dedicate to this, your lack of reply when I mentioned things like the need to OK non-placeholder authorship information is starting to make me suspect a drive-by A.I. contribution, and I require engagement from people proposing PRs. |
|
Hi Stephan, First of all, I want to apologize for making you spend time on a code review I should have done myself. This PR is based on code that was almost entirely generated by AI, and I relied on it too much. I only did a partial quality review and focused too much on whether it “worked.” I don’t have much free time, and I adapted QuickTile to my personal use case, then thought that use case might also help other people. I’m going to work on fixing the issues and submit a new update to better meet the expected quality and project requirements. Best regards, and thanks. |
Also detect Ubuntu/GNOME dock (dash-to-dock, ubuntu-dock) to avoid window overlap. Replace _detect_top_bar_height with _detect_panel_offsets which accounts for panels on all four screen edges via GDK workarea comparison with a GSettings fallback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Thanks for the thorough review and for your patience. I've addressed every actionable point and included notes on the architectural ones below. All changes are squashed into a single commit. Applied Fixes1 —
|
Check `dock-fixed` GSettings key before reserving screen space for the dock. When `dock-fixed` is false (auto-hide or intellihide mode), the dock hides automatically, so QuickTile should tile to the full screen edge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Quick follow-up: |
|
Thanks. It's late here and this afternoon was busy, so I'll start taking a look at the updated code tomorrow. The spare laptop with Ubuntu 24.04 is already set up next to my main PC and plugged into the VGA input on one of my secondary monitors to provide a non-rectangular multi-monitor desktop for testing, so that shouldn't delay things. That said, making (Among other things, I rely on being able to |
|
Sorry for going silent. The last few days hit me with a pile of surprise TODO notes. I haven't had time to work this in yet, but it hasn't been forgotten and, more pressing obligations willing, I hope to be able to get back to it within the next couple of days. EDIT: ...and then I discover, literally the night before, that family is visiting for the weekend. |
Add full Wayland support for GNOME Shell using the Window Calls extension.
Features:
New files:
Requirements: