Skip to content
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

Wayland taskbar support #2031

Closed
wants to merge 92 commits into from
Closed

Wayland taskbar support #2031

wants to merge 92 commits into from

Commits on Feb 11, 2024

  1. CMake: FindXCB components are upper case

    Fixes CMake error
    gfgit committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    5dc5d82 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Configuration menu
    Copy the full SHA
    07f702a View commit details
    Browse the repository at this point in the history
  2. CMake: link to dbusmenu-lxqt instead of dbusmenu-qt6

    StatusNotifierButton: switch to dbusmenu-lxqt
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    b4fe335 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    96a6dc6 View commit details
    Browse the repository at this point in the history
  4. Replace QPair with std::pair

    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    bfcf78a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    61893fb View commit details
    Browse the repository at this point in the history
  6. QEvent: port pos() to position() and globalPos() to globalPosition()

    - Now returns floating point QPointF, should we keep
    it instead of rounding and do floating point calculations?
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    fb5c5c8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d1c1ce8 View commit details
    Browse the repository at this point in the history
  8. QLayou::setContentsMargin() instead of setMargin()

    - QEyesPlugin: remove deprecated setMargin() call
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    190280c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b8b33c6 View commit details
    Browse the repository at this point in the history
  10. Port QRegExp with QRegularExpression TODO

    TODO: check if syntax is correct and equivalent
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    79c4a48 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    cb2d7cb View commit details
    Browse the repository at this point in the history
  12. Qt6 always enables High-DPI Pixmaps

    Qt::AA_UseHighDpiPixmaps has no effect now
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    a955bb6 View commit details
    Browse the repository at this point in the history
  13. PanelPluginsModel: Q_DECLARE_OPAQUE_POINTER()

    Not sure about this but I get:
    
    error: static assertion failed: Pointer Meta Types must either point to
    fully-defined types or be declared with Q_DECLARE_OPAQUE_POINTER(T *)
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    e37056f View commit details
    Browse the repository at this point in the history
  14. Use QColor::fromString()

    setNamedColor() is deprecated in Qt6
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    b838c60 View commit details
    Browse the repository at this point in the history
  15. FIXME: LXQtTaskButton deprecated constructor

    Code is hacky, find better solution
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    0600444 View commit details
    Browse the repository at this point in the history
  16. Disable ColorPicker on Wayland

    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    741d2d7 View commit details
    Browse the repository at this point in the history
  17. Fix KX11Extras, KWindowSystem includes

    TODO: Still don't know why prefix does not work
    
    - Remove includes to QDesktopWidget
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    a0b3ce3 View commit details
    Browse the repository at this point in the history
  18. Port QX11Info to QX11Application

    NOTE: Fix compilation with Xlib.h
    
    Xlib.h is tricky because at line 82 has:
    
    `#define Bool int`
    
    And QtCore/qjsonvalue.h at line 28 has:
    
    ```
    enum Type {
       ...
       Bool = 0x1,
       ...
    }
    ```
    
    This is fixed temporarily by moving Xlib.h
    include to last and undefine Bool macro
    
    Long term we want to hide X11 related code and encapsulate in a backend.
    This backend will not expose X11 headers.
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    cbad679 View commit details
    Browse the repository at this point in the history
  19. LXQtTaskButton: port to KX11Extras

    Many X11 specific functions got moved away from KWindowSystem header.
    
    Long term we will move everything to a backend.
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1ef5229 View commit details
    Browse the repository at this point in the history
  20. LXQtTaskButton: port away from QDesktopWidget

    Use QScreen instead
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    606a223 View commit details
    Browse the repository at this point in the history
  21. QString::arg(...) use mult-arg version

    Reported by Clazy
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    27c93d8 View commit details
    Browse the repository at this point in the history
  22. LXQtCpuLoad: do not include <QtCore> directly

    Reported by Clazy
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    61a051d View commit details
    Browse the repository at this point in the history
  23. Configuration: fix call to temporary object

    Teporary objects get destroyed after call ends.
    State is not updated.
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    70d580c View commit details
    Browse the repository at this point in the history
  24. QEyesConfigDialog: avoid allocating temporary container

    - Reported by Clazy
    - Also fix formatting a bit
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    d0dcf66 View commit details
    Browse the repository at this point in the history
  25. QEyesImageWidget: unneeded QString allocation

    - Use Qt::CaseInsensitive instead
    - Pass argument by reference
    - Format braces
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1f7a0fa View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    96b98e0 View commit details
    Browse the repository at this point in the history
  27. Port LXQtTrayPlugin to Qt6 TODO

    TODO: QX11Info::getTimestamp() was replaced with XCB_CURRENT_TIME macro.
    
    I don't know if this breaks functionality.
    Getting real timestamp involves messing with Qt private APIs
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    7d06f23 View commit details
    Browse the repository at this point in the history
  28. LXQtTaskBar: fix include recursion

    - Forward declare classes
    - More refactory could be done here
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    e094680 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    2328de7 View commit details
    Browse the repository at this point in the history
  30. Replace QScopedPointer with std::unique_ptr

    - Use Xcb::ScopedCPointer for POD types
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    b682f1e View commit details
    Browse the repository at this point in the history
  31. Replace QVector with QList

    In Qt6 it's an alias
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    4343a79 View commit details
    Browse the repository at this point in the history
  32. SNIProxy: use QBitmap::fromImage TODO

    TODO: is behavior equivalent? Conversion flags...
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    633b8a1 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    f0835c4 View commit details
    Browse the repository at this point in the history
  34. TaskBar: forward declare

    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    4bdb243 View commit details
    Browse the repository at this point in the history
  35. TaskBar: new ILXQtTaskbarAbstractBackend

    This is an abstract interface to operate windows
    and workspaces
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1d5f0f8 View commit details
    Browse the repository at this point in the history
  36. ILXQtTaskbarAbstractBackend: add supportsAction() method

    - Move WindowProperty enum to lxqttaskbartypes.h
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    3f913a2 View commit details
    Browse the repository at this point in the history
  37. TaskBar: add X11 backend

    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    cd1f762 View commit details
    Browse the repository at this point in the history
  38. TaskBar: new LXQtTaskBarProxyModel

    This model will manage the tasks shown
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    740639e View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    47bba93 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    43761a9 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    8dbc2e5 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    1ac62fb View commit details
    Browse the repository at this point in the history
  43. TaskBar: use backend to close and raise window

    Also use it to get window icon
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    2411395 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    6b3b0dd View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    5462b2f View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    e7c5a98 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    8297648 View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    8434907 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    05bb41b View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    161bf92 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    504e461 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    f0630c8 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    60f2b57 View commit details
    Browse the repository at this point in the history
  54. LXQtPanel: rework calculatePopupWindowPos()

    - Don't rely on global screen coordinates
    
    - This will be needed for future Wayland port,
      Where we don't have global screen coordinates
    
    - Keep compatible behavior on X11
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1bd36e0 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    068aa55 View commit details
    Browse the repository at this point in the history
  56. ILXQtTaskbarAbstractBackend: new Geometry window property

    This new window propery flag is needed to notify geometry changes
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    6928050 View commit details
    Browse the repository at this point in the history
  57. Move ILXQtTaskbarAbstractBackend to panel directory

    - It is now a global instance
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    988dc73 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    b87fe2d View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    cc3fbe3 View commit details
    Browse the repository at this point in the history
  60. ILXQtTaskbarAbstractBackend: add dummy implementation

    This will be used to avoid crashing panel in case no backend could be
    created.
    A warning message will be printed in this case.
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    4b7cfd5 View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    7730f59 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    974e481 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    d9b58f3 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    a3e93e2 View commit details
    Browse the repository at this point in the history
  65. DesktopSwitch: port to ILXQtTaskbarAbstractBackend

    - Clarify desktop index range
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    56aed45 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    f0b0d1b View commit details
    Browse the repository at this point in the history
  67. DesktopSwitchConfiguration: port to ILXQtTaskBarAbstractBackend TODO

    TODO: this will disable changing desktop names
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    c1b21d6 View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    ad3ee82 View commit details
    Browse the repository at this point in the history
  69. TaskBar: add experimental KWin Wayland backend

    NOTE: works only on KWin
    
    - Choose backend at runtime
    - Windows filter logic is re-evaluated on window property changes
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    3a64a01 View commit details
    Browse the repository at this point in the history
  70. Configuration menu
    Copy the full SHA
    575ba5d View commit details
    Browse the repository at this point in the history
  71. Configuration menu
    Copy the full SHA
    2fdeb89 View commit details
    Browse the repository at this point in the history
  72. LXQtTaskBarPlasmaWindowManagment: fix destructor TODO

    TODO: is this correct?
    Seems to call wl_proxy_destroy underneath
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    cc1befc View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    6b206fd View commit details
    Browse the repository at this point in the history
  74. LXQtPanel: workaround KAcceleratorManager changing button text FIXME …

    …TODO
    
    TODO: is this correct approach?
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    df9ec87 View commit details
    Browse the repository at this point in the history
  75. LXQtPanel: use LayerShell on Wayland

    layer_shell protocol allows to aks for placement on Wayland
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    8d1b956 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    318ad81 View commit details
    Browse the repository at this point in the history
  77. LXQtPanel: partially fix alignment on Wayland TODO

    TODO: after changing length to pixels and back to percent
    alignment is ignored and always kept to right
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    355b0db View commit details
    Browse the repository at this point in the history
  78. Add desktop file to be recognized by KWin Wayland

    NOTE: absolute path is needed inside .desktop file for this to work
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    3f9bcb2 View commit details
    Browse the repository at this point in the history
  79. LXQtTaskbarWaylandBackend: return only accepted windows

    - reloadWindows() force removal and readding of windows
    
    This fixes changing windows grouping settings and adding taskbar plugin
    AFTER panel is started.
    Both situations resulted in empty taskbar previously
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    5b54478 View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    9d024fb View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    e88c5b2 View commit details
    Browse the repository at this point in the history
  82. Configuration menu
    Copy the full SHA
    a0c1cf8 View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    30e96c2 View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    90eb2df View commit details
    Browse the repository at this point in the history
  85. ColorPicker: use XDG Desktop Portal on Wayland TODO

    TODO: show error message when not supported
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    f29cf3a View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    fc398ba View commit details
    Browse the repository at this point in the history
  87. CMake: move panel WM backends to separate libraries

    - QTime is included to fix build errors
    gfgit committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    f6e9ba9 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. LXQtTaskbarWaylandBackend: fix QTime inclusion TODO

    Now it's fixed corretly
    
    TODO: merge with previous commit
    gfgit committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    06a6eed View commit details
    Browse the repository at this point in the history
  2. CI: LXQt2 test

    redtide authored and gfgit committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    a24d88a View commit details
    Browse the repository at this point in the history
  3. Remove CI workaround

    gfgit committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    7c4476e View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2024

  1. LXQtPanel: set LayerShellQt KeyboardInteractivityOnDemand

    Set layer shell keyboard interactivity on-demand
    gfgit committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    794648c View commit details
    Browse the repository at this point in the history