Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-104630

Introduce API to check platform capabilities

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • None
    • GUI: Other, QPA, QPA: Wayland
    • None
    • Linux/Wayland

    Description

      Wayland is a unique platform in the sense that some core features like window decorations or activation are optional. This makes applications misbehavior when some feature is not implemented by the compositor as Qt doesn't say which ones. Examples:

      1. Application wants to activate a window, but the compositor doesn't support that. It may do something more reasonable if it known that compositor doesn't support that. E.g. application has Open/Hide items in tray icon. When activation is supported, it can use isActiveWindow and activate the window whenever it's not active. If it's not supported, it can just hide/show the window. As such a check is not currently possible, the item will just do nothing whenever the window is not hidden trying to activate the window what is not supported.
      2. Application has a fully custom UI, has its own titlebar widget, but xdg-decoration is not supported. The logical thing is to hide a setting like "Use System Window Frame" whenever it's not supported to avoid Qt's ugly bradient decoration to be shown. But Qt doesn't give a way to check that.
      3. There's ongoing effort to make window menu, maximize, fullscreen and minimize optional: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/122

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            vestbo Tor Arne Vestbø
            ilya-fedin Ilya Fedin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes