Skip to content

[Meta-issue] Wayland related issues in Projecteur #174

@mayanksuman

Description

@mayanksuman

This meta-issue track the status of different issues in Projecteur on wayland compositors.

  1. Issues with taking screenshot: Projecteur takes screenshot in wayland using compositor specific DBus interfaces for Gnome and KDE (see https://github.com/jahnf/Projecteur/blob/develop/src/linuxdesktop.cc). However, this is not an universal solution for all wayland compositors and additionally these DBus interfaces (being non-standard) can be phased out/changed in the future. For example, Gnome removed their DBus interface in version 41+ (https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1970, Cannot take screenshot on gnome 41 + wayland flameshot-org/flameshot#1910). Hence, it is better to use standard way of taking screenshots on wayland, i.e. through xdg-desktop-portal. I have submitted a sample implementation in PR [WIP] Various Wayland Fixes #173 . However, taking screenshot with xdg-desktop-portal needs user-intervention (not ideal for Projecteur use case). However, there is a bug report filed in this regard (Screenshot portal without prompt flatpak/xdg-desktop-portal#649). With that issue fixed in the future (hopefully), we can drop custom DBus interfaces and use xdg-desktop-portal based screenshot approach primarily for wayland. Additionally, using xdg-desktop-portal based screenshot also has advantage, if we want to distribute flatpak, or AppImage in the future.

  2. Issue with overlay window placement: On Spotlight::spotActiveChanged event, Projecteur tries to bring up overlay window. However, the QWindow::setPosition do not work in wayland as per this blog post leading to wrong placement as suggested by some users in [BUG] Projecteur doesn't seem to work all that well on Gnome with Wayland on Fedora #170 . Additionally, other function used (like QWindow::showFullScreen and QWindow::raise) are also not supported on wayland.

  3. Window flags for overlay window do not work properly in wayland.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions