Closed stefonarch closed 1 year ago
Yes, qmpanel is X11 (or XWayland) only for now. I have not ruled out porting it to Wayland later, but do not have time at this point.
I've made a little bit of progress on this, and version 0.2 starts and runs okay for me under labwc with QT_QPA_PLATFORM=wayland
. It's not very useful yet, however:
Confirming that it works fine now, for the position and exclusive zone layer-shell-qt could be used but in it's actual state every popup or config window will be fullscreen and at 0 0, at least with our trials for lxqt-panel it was like that. Things should change with qt6.6.
Work are those rules for lxqt-panel:
<margin top="38"/>
<windowRules>
<windowRule identifier="qmpanel" skipTaskBar="yes" skipWindowSwitcher="yes" matchOnce="true">
<action name="ToggleAlwaysOnBottom"/>
<action name="MoveTo" x="0" y="0"/>
<action name="ToggleKeyBinds" />
</windowRule>
</windowRules>
~But systray doesn't show all items, maybe statusnotifier missing?~ Edit: the missing icons are just invisible but present.
It might show something under KWin, not sure.
Tested in my kwin-wayland-lxqt session, unfortunately no. Atm kwin-wayland is unusable with LXQt as there is no way to have any taskbar.
What lxqt-panel is missing (besides positioning, layers and exclusive zone) is mostly a wayland-taskbar plugin based on wlr-foreign-toplevel-management protocol. I don't think the actual taskbar plugin could be ported to wayland, as it handles also workspaces.
Just discovered that the taskbar actually is present but buttons are only on mouseover somehow visible (and working):
EDIT: it's waybar below...
But systray doesn't show all items, maybe statusnotifier missing? Edit: the missing icons are just invisible but present.
It could be they are using IconPixmap rather than icon names. Do you mind opening a new issue for this, and let me know which apps are showing invisible icons? All the ones I tested so far are working.
Rather than make new issue, Allow me to report that qmpanel seems still get segfault on wayland (x11 is fine). I'm trying it on some wayland compositors and get same result. It suspicious since the compilation.
WARNING: CMake: Dependency Qt5::X11Extras for KF5WindowSystem was not found
Run-time dependency kf5windowsystem found: YES 5.112.0
But the compilation is done successfully.
When I run the qmpanel I got this :
[qmpanel]$ QT_QPA_PLATFORM=wayland b/qmpanel
kf.windowsystem: Could not find any platform plugin
Segmentation fault
Any clue to fix it ? Thanks
Confirmed, the installed version I had worked, updating from ea2946c2 > 06719aff it segfaults with
#0 0x00007fd8331f5a9a in xcb_flush () at /usr/lib/libxcb.so.1
#1 0x0000558a474d4101 in MainPanel::updateGeometry() (this=0x7ffe201dab30)
at ../panel/mainpanel.cpp:135
#2 0x0000558a474cdc1c in MainPanel::showEvent(QShowEvent*)
(this=0x7ffe201dab30, event=0x7ffe201da8f0) at ../panel/mainpanel.h:47
#3 0x00007fd831daf1fd in QWidget::event(QEvent*) ()
at /usr/lib/libQt5Widgets.so.5
#4 0x00007fd831d788ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#5 0x00007fd832e9bef8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt5Core.so.5
#6 0x00007fd831daddb0 in QWidgetPrivate::show_helper() ()
at /usr/lib/libQt5Widgets.so.5
#7 0x00007fd831dae3cd in QWidgetPrivate::setVisible(bool) ()
at /usr/lib/libQt5Widgets.so.5
#8 0x0000558a474d3846 in MainPanel::MainPanel(Resources&)
(this=0x7ffe201dab30, res=...) at ../panel/mainpanel.cpp:64
#9 0x0000558a474cd831 in main(int, char**) (argc=1, argv=0x7ffe201dace8)
at ../panel/main.cpp:68
(gdb)
Stumpled upon this only now, but it doesn't start on wayland at all here: