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

Wlroots taskbar #2046

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
ed9eab5
TaskBar: forward declare
gfgit Jan 28, 2024
d683aef
TaskBar: new ILXQtTaskbarAbstractBackend
gfgit Jan 27, 2024
6fc94c9
ILXQtTaskbarAbstractBackend: add supportsAction() method
gfgit Jan 28, 2024
2fbcb78
TaskBar: add X11 backend
gfgit Jan 27, 2024
1cf81a6
TaskBar: new LXQtTaskBarProxyModel
gfgit Jan 27, 2024
10be817
TaskBar: use backend in LXQtTaskBar
gfgit Jan 27, 2024
c9f0cae
TaskBar: initial use of backend in LXQtTaskButton
gfgit Feb 3, 2024
2629ce1
TaskBar: use backend for urgency hint
gfgit Feb 3, 2024
a09e65b
TaskBar: use backend to set window layer
gfgit Feb 3, 2024
1b013db
TaskBar: use backend to close and raise window
gfgit Feb 3, 2024
17132e0
TaskBar: use backend to roll up (shade) windows
gfgit Feb 3, 2024
80d666e
TaskBar: use backend to minimize window
gfgit Feb 3, 2024
6d2217c
TaskBar: use backend to de-maximize window
gfgit Feb 3, 2024
be807cc
TaskBar: use backend to get window state
gfgit Feb 3, 2024
d2fc42e
TaskBar: use backend to set window state
gfgit Feb 3, 2024
cc84e94
TaskBar: port workspace usage to backend
gfgit Jan 28, 2024
a597c92
TaskBar: remove X11 specific includes in lxqttaskbutton.cpp
gfgit Feb 3, 2024
0f0b404
TaskBar: remove X11 code from LXQtTaskBar and LXQtTaskGroup
gfgit Jan 28, 2024
ca91544
TaskBar: LXQtTaskButton remove X11 specific code
gfgit Jan 28, 2024
fb332d7
TaskBar: set context menu parent
gfgit Feb 17, 2024
934acf1
LXQtPanel: rework calculatePopupWindowPos()
gfgit Feb 17, 2024
616c8de
LXQtPanel: avoid QCursor::pos() usage
gfgit Feb 18, 2024
5a36d25
ILXQtTaskbarAbstractBackend: new Geometry window property
gfgit Feb 19, 2024
f1d981f
Move ILXQtTaskbarAbstractBackend to panel directory
gfgit Feb 17, 2024
a891f84
ILXQtTaskbarAbstractBackend: new isAreaOverlapped() method
gfgit Feb 19, 2024
1500200
LXQtPanel: use less KX11Extras and more ILXQtTaskbarAbstractBackend
gfgit Feb 19, 2024
a7a6e5d
ILXQtTaskbarAbstractBackend: add dummy implementation
gfgit Feb 22, 2024
0d4190a
LXQtMainMenu: indent header include
gfgit Feb 28, 2024
82bcd4b
SNIProxy: use Qt Private headers to get Xcb timestamp
gfgit Feb 26, 2024
01306fe
ILXQtTaskbarAbstractBackend: new showDesktop() function
gfgit Feb 22, 2024
94d5443
ShowDesktop: use ILXQtTaskbarAbstractBackend
gfgit Feb 22, 2024
774cd7a
DesktopSwitch: port to ILXQtTaskbarAbstractBackend
gfgit Feb 23, 2024
2002ec8
LXQtTaskbarConfiguration: port to ILXQtTaskBarAbstractBackend
gfgit Feb 23, 2024
ac9634e
DesktopSwitchConfiguration: port to ILXQtTaskBarAbstractBackend TODO
gfgit Feb 23, 2024
e7f3140
TaskBar: consider initial windows
gfgit Feb 22, 2024
757bbf1
TaskBar: add experimental KWin Wayland backend
gfgit Feb 17, 2024
6bb3b16
LXQtTaskBarPlasmaWindowManagment: implement showDesktop()
gfgit Feb 22, 2024
ec178e3
LXQtTaskbarWaylandBackend: do not show transient windows
gfgit Feb 22, 2024
70dbc38
LXQtTaskBarPlasmaWindowManagment: fix destructor TODO
gfgit Feb 20, 2024
b4b7c13
LXQtPanel: basic virtual desktop support on Plasma Wayland
gfgit Feb 21, 2024
fc55f28
LXQtPanel: workaround KAcceleratorManager changing button text FIXME …
gfgit Feb 17, 2024
43ee044
LXQtPanel: use LayerShell on Wayland
gfgit Feb 17, 2024
fc29364
LXQtPanel: fix position not applied immediatly on Wayland
gfgit Feb 22, 2024
0126653
LXQtPanel: partially fix alignment on Wayland TODO
gfgit Feb 22, 2024
cbd9a26
Add desktop file to be recognized by KWin Wayland
gfgit Feb 22, 2024
81f5e1d
LXQtTaskbarWaylandBackend: return only accepted windows
gfgit Feb 22, 2024
076d36a
LXQtPanel: fix auto-hide on Wayland
gfgit Feb 22, 2024
5b22d8d
LXQtTaskbarWaylandBackend: fix workspace logic
gfgit Feb 23, 2024
bc1c267
LXQtTaskbarWaylandBackend: fix workspace removal logic
gfgit Feb 23, 2024
a28763f
lxqttaskbartypes.h: fix ShowOnAll desktops flag value
gfgit Feb 23, 2024
77527ee
LXQtTaskbarWaylandBackend: implement moving window to virtual desktop
gfgit Feb 23, 2024
a91c1bb
ColorPicker: use XDG Desktop Portal on Wayland TODO
gfgit Feb 26, 2024
c52d6a5
LXQtPlasmaWaylandWorkspaceInfo: fix signedness comparison
gfgit Feb 28, 2024
94cb67a
CMake: move panel WM backends to separate libraries
gfgit Feb 28, 2024
35705e3
LXQtTaskbarWaylandBackend: fix QTime inclusion TODO
gfgit Feb 29, 2024
e065073
LXQtPanel: set LayerShellQt KeyboardInteractivityOnDemand
gfgit Mar 9, 2024
a4fff49
Merge branch 'work/gfgit/refactor_wm_interaction' of github.com:lxqt/…
marcusbritanicus Mar 26, 2024
8365ef9
Merge branch 'work/gfgit/wayland_taskbar' of github.com:lxqt/lxqt-panel
marcusbritanicus Mar 26, 2024
dbdbdd7
Get wlroots backend compiling
marcusbritanicus Mar 26, 2024
11cdbaf
Fix a few implementation issues
marcusbritanicus Mar 26, 2024
dc5a16c
Updates
marcusbritanicus Mar 26, 2024
5a02666
Update tasks list on window closed
marcusbritanicus Mar 26, 2024
e247e5b
Few more updates
marcusbritanicus Mar 26, 2024
c6b353f
Allow both wlroots and plasma backends to coexist
marcusbritanicus Mar 27, 2024
a01b215
Check for kwin_wayland in XDG_CURRENT_DESKTOP; Add debug messages
marcusbritanicus Mar 27, 2024
6ed1031
Forward the signals from m_backend lxqttakcarwaylandbacked.cpp
marcusbritanicus Mar 27, 2024
8ae41f3
Get application icons using XdgDesktopFile
marcusbritanicus Mar 27, 2024
c6b68c0
Correct handling of window states event; add support for setting wind…
marcusbritanicus Mar 27, 2024
5f8e723
Fix various warnings
marcusbritanicus Mar 27, 2024
565567f
Add LXQtTaskBarBackendAction::SetLayer to disable 'Layer' in context-…
marcusbritanicus Mar 27, 2024
41ee2b2
Use XdgIcon::fromTheme(...) instead of own implementation
marcusbritanicus Mar 28, 2024
09fddbe
Refactoring of handling of zwlr_foreign_toplevel_handle_v1 events
marcusbritanicus Mar 29, 2024
e53254e
Refactor LXQtTaskbarWlrootsBackend
marcusbritanicus Mar 29, 2024
fa1defa
Add a generic wlroots fallback in lxqttaskbarbackendwayland.cpp
marcusbritanicus Mar 29, 2024
5b25762
Fix issue with restore (from task context menu. Remove debug messages.
marcusbritanicus Mar 31, 2024
c3d0531
Remove qdebug message from lxqttaskbarbackendplasma.cpp
marcusbritanicus Apr 4, 2024
d274b54
TaskBar: forward declare
gfgit Jan 28, 2024
43ddc7c
TaskBar: new ILXQtTaskbarAbstractBackend
gfgit Jan 27, 2024
223e8fc
ILXQtTaskbarAbstractBackend: add supportsAction() method
gfgit Jan 28, 2024
f1bf02a
TaskBar: add X11 backend
gfgit Jan 27, 2024
d0fe4b4
TaskBar: new LXQtTaskBarProxyModel
gfgit Jan 27, 2024
3a842e7
TaskBar: use backend in LXQtTaskBar
gfgit Jan 27, 2024
b81220d
TaskBar: initial use of backend in LXQtTaskButton
gfgit Feb 3, 2024
9cd7198
TaskBar: use backend for urgency hint
gfgit Feb 3, 2024
354e027
TaskBar: use backend to set window layer
gfgit Feb 3, 2024
290178e
TaskBar: use backend to close and raise window
gfgit Feb 3, 2024
78b5f7e
TaskBar: use backend to roll up (shade) windows
gfgit Feb 3, 2024
74bcae4
TaskBar: use backend to minimize window
gfgit Feb 3, 2024
a14a0fe
TaskBar: use backend to de-maximize window
gfgit Feb 3, 2024
d0d674e
TaskBar: use backend to get window state
gfgit Feb 3, 2024
b4af0df
TaskBar: use backend to set window state
gfgit Feb 3, 2024
6a28f7a
TaskBar: port workspace usage to backend
gfgit Jan 28, 2024
7fad2a1
TaskBar: remove X11 specific includes in lxqttaskbutton.cpp
gfgit Feb 3, 2024
d5a4751
TaskBar: remove X11 code from LXQtTaskBar and LXQtTaskGroup
gfgit Jan 28, 2024
649e85a
TaskBar: LXQtTaskButton remove X11 specific code
gfgit Jan 28, 2024
9974761
TaskBar: set context menu parent
gfgit Feb 17, 2024
b0e54b8
LXQtPanel: rework calculatePopupWindowPos()
gfgit Feb 17, 2024
8fd51ef
LXQtPanel: avoid QCursor::pos() usage
gfgit Feb 18, 2024
be23ae5
ILXQtTaskbarAbstractBackend: new Geometry window property
gfgit Feb 19, 2024
e334ec0
Move ILXQtTaskbarAbstractBackend to panel directory
gfgit Feb 17, 2024
9bbf4fa
ILXQtTaskbarAbstractBackend: new isAreaOverlapped() method
gfgit Feb 19, 2024
b9c8dfd
LXQtPanel: use less KX11Extras and more ILXQtTaskbarAbstractBackend
gfgit Feb 19, 2024
145d598
ILXQtTaskbarAbstractBackend: add dummy implementation
gfgit Feb 22, 2024
a3b7c02
LXQtMainMenu: indent header include
gfgit Feb 28, 2024
b199b77
ILXQtTaskbarAbstractBackend: new showDesktop() function
gfgit Feb 22, 2024
f59269c
ShowDesktop: use ILXQtTaskbarAbstractBackend
gfgit Feb 22, 2024
f1a26d4
DesktopSwitch: port to ILXQtTaskbarAbstractBackend
gfgit Feb 23, 2024
72a75e0
LXQtTaskbarConfiguration: port to ILXQtTaskBarAbstractBackend
gfgit Feb 23, 2024
05fc742
DesktopSwitchConfiguration: port to ILXQtTaskBarAbstractBackend TODO
gfgit Feb 23, 2024
8b78add
TaskBar: consider initial windows
gfgit Feb 22, 2024
84366c2
TaskBar: add experimental KWin Wayland backend
gfgit Feb 17, 2024
df73c3f
LXQtTaskBarPlasmaWindowManagment: implement showDesktop()
gfgit Feb 22, 2024
9bfe823
LXQtTaskbarWaylandBackend: do not show transient windows
gfgit Feb 22, 2024
af9887f
LXQtTaskBarPlasmaWindowManagment: fix destructor TODO
gfgit Feb 20, 2024
71ec35c
LXQtPanel: basic virtual desktop support on Plasma Wayland
gfgit Feb 21, 2024
c968950
LXQtPanel: workaround KAcceleratorManager changing button text FIXME …
gfgit Feb 17, 2024
0008660
Add desktop file to be recognized by KWin Wayland
gfgit Feb 22, 2024
4a75306
LXQtTaskbarWaylandBackend: return only accepted windows
gfgit Feb 22, 2024
41579e2
LXQtTaskbarWaylandBackend: fix workspace logic
gfgit Feb 23, 2024
8d2c37a
LXQtTaskbarWaylandBackend: fix workspace removal logic
gfgit Feb 23, 2024
3bd87e9
lxqttaskbartypes.h: fix ShowOnAll desktops flag value
gfgit Feb 23, 2024
8b6375d
LXQtTaskbarWaylandBackend: implement moving window to virtual desktop
gfgit Feb 23, 2024
0236407
ColorPicker: use XDG Desktop Portal on Wayland TODO
gfgit Feb 26, 2024
4970e50
LXQtPlasmaWaylandWorkspaceInfo: fix signedness comparison
gfgit Feb 28, 2024
1d52a4e
CMake: move panel WM backends to separate libraries
gfgit Feb 28, 2024
01c925f
LXQtTaskbarWaylandBackend: possibly fix crash on showDesktop for non-
gfgit Mar 28, 2024
414e7d0
Hide lxqt-panel application from applications menu
gfgit Apr 9, 2024
87c7327
Get wlroots backend compiling
marcusbritanicus Mar 26, 2024
e68edc8
Fix a few implementation issues
marcusbritanicus Mar 26, 2024
141c3ed
Updates
marcusbritanicus Mar 26, 2024
f0c55a6
Update tasks list on window closed
marcusbritanicus Mar 26, 2024
a69f61c
Few more updates
marcusbritanicus Mar 26, 2024
9f72a3b
Allow both wlroots and plasma backends to coexist
marcusbritanicus Mar 27, 2024
a581c9e
Check for kwin_wayland in XDG_CURRENT_DESKTOP; Add debug messages
marcusbritanicus Mar 27, 2024
0d14635
Forward the signals from m_backend lxqttakcarwaylandbacked.cpp
marcusbritanicus Mar 27, 2024
d517f9b
Get application icons using XdgDesktopFile
marcusbritanicus Mar 27, 2024
4034f25
Correct handling of window states event; add support for setting wind…
marcusbritanicus Mar 27, 2024
5cf1d8a
Fix various warnings
marcusbritanicus Mar 27, 2024
4d696cb
Add LXQtTaskBarBackendAction::SetLayer to disable 'Layer' in context-…
marcusbritanicus Mar 27, 2024
d4d014e
Use XdgIcon::fromTheme(...) instead of own implementation
marcusbritanicus Mar 28, 2024
1163a85
Refactoring of handling of zwlr_foreign_toplevel_handle_v1 events
marcusbritanicus Mar 29, 2024
cbc9d99
Refactor LXQtTaskbarWlrootsBackend
marcusbritanicus Mar 29, 2024
d19aff4
Add a generic wlroots fallback in lxqttaskbarbackendwayland.cpp
marcusbritanicus Mar 29, 2024
6cdf8c3
Fix issue with restore (from task context menu. Remove debug messages.
marcusbritanicus Mar 31, 2024
bf283bf
Remove qdebug message from lxqttaskbarbackendplasma.cpp
marcusbritanicus Apr 4, 2024
92577e9
Merge gfgit/wlroots-taskbar_new into wlroots-taskbar
marcusbritanicus Apr 18, 2024
b10a5da
BugFix: Initialize LXQtTaskbarWlrootsWindow::parentWindow to 0
marcusbritanicus Apr 22, 2024
b1cb8c3
Extract the icon from the desktop file obtained from app-id
marcusbritanicus Apr 23, 2024
8a3c8ce
TaskBar: add experimental KWin Wayland backend
gfgit Feb 17, 2024
3e242e9
LXQtTaskBarPlasmaWindowManagment: implement showDesktop()
gfgit Feb 22, 2024
622d196
LXQtTaskbarWaylandBackend: do not show transient windows
gfgit Feb 22, 2024
ceef8d1
LXQtTaskBarPlasmaWindowManagment: fix destructor TODO
gfgit Feb 20, 2024
165f5a9
LXQtPanel: basic virtual desktop support on Plasma Wayland
gfgit Feb 21, 2024
08b716a
LXQtPanel: workaround KAcceleratorManager changing button text FIXME …
gfgit Feb 17, 2024
ca5e778
Add desktop file to be recognized by KWin Wayland
gfgit Feb 22, 2024
c2b935f
LXQtTaskbarWaylandBackend: return only accepted windows
gfgit Feb 22, 2024
3e2015e
LXQtTaskbarWaylandBackend: fix workspace logic
gfgit Feb 23, 2024
d6d1e06
LXQtTaskbarWaylandBackend: fix workspace removal logic
gfgit Feb 23, 2024
512ecc3
lxqttaskbartypes.h: fix ShowOnAll desktops flag value
gfgit Feb 23, 2024
dff72a4
LXQtTaskbarWaylandBackend: implement moving window to virtual desktop
gfgit Feb 23, 2024
a2ce090
ColorPicker: use XDG Desktop Portal on Wayland TODO
gfgit Feb 26, 2024
1ed2559
LXQtPlasmaWaylandWorkspaceInfo: fix signedness comparison
gfgit Feb 28, 2024
d7bc745
CMake: move panel WM backends to separate libraries
gfgit Feb 28, 2024
8c5faad
LXQtTaskbarWaylandBackend: possibly fix crash on showDesktop for non-
gfgit Mar 28, 2024
dcff927
Hide lxqt-panel application from applications menu
gfgit Apr 9, 2024
4c67d6d
Update license headers
gfgit Apr 22, 2024
e2b97ef
CMake: rename autostart desktop variable
gfgit Apr 22, 2024
1fc5594
LXQtTaskbarWaylandBackend: add dummy setDesktopLayout()
gfgit Jun 8, 2024
4dc929d
Merge branch 'work/gfgit/wayland_taskbar' into wlroots-taskbar
marcusbritanicus Jun 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions autostart/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
file(GLOB DESKTOP_FILES_IN *.desktop.in)
set(AUTOSTART_DESKTOP_FILES_IN lxqt-panel.desktop.in)

# Translations **********************************
lxqt_translate_desktop(DESKTOP_FILES
SOURCES
${DESKTOP_FILES_IN}
${AUTOSTART_DESKTOP_FILES_IN}
USE_YAML
)
add_custom_target(lxqt_panel_autostart_desktop_files ALL DEPENDS ${DESKTOP_FILES})
Expand All @@ -14,3 +14,12 @@ install(FILES
DESTINATION "${LXQT_ETC_XDG_DIR}/autostart"
COMPONENT Runtime
)

configure_file(lxqt-panel_wayland.desktop.in lxqt-panel_wayland.desktop @ONLY)

install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/lxqt-panel_wayland.desktop"
DESTINATION "/usr/share/applications"
RENAME "lxqt-panel.desktop"
COMPONENT Runtime
)
13 changes: 13 additions & 0 deletions autostart/lxqt-panel_wayland.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
TryExec=lxqt-panel

# NOTE: KWin wants absolute path here, make sure it's correct
Exec=/usr/local/bin/lxqt-panel

# NOTE: adding KDE to make it work under Plasma Wayland session
OnlyShowIn=LXQt;KDE
X-LXQt-Module=true

# Make KWin recognize us as priviledged client
X-KDE-Wayland-Interfaces=org_kde_plasma_window_management
14 changes: 14 additions & 0 deletions autostart/lxqt-panel_wayland.desktop.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Desktop Entry]
Type=Application
TryExec=lxqt-panel
NoDisplay=true

# NOTE: KWin wants absolute path here, get it from CMake install path
Exec=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/lxqt-panel

# NOTE: adding KDE to make it work under Plasma Wayland session
OnlyShowIn=LXQt;KDE
X-LXQt-Module=true

# Make KWin recognize us as priviledged client
X-KDE-Wayland-Interfaces=org_kde_plasma_window_management
25 changes: 10 additions & 15 deletions panel/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
set(PROJECT lxqt-panel)

# TODO
# Window Manager abstraction backend
add_subdirectory(backends)

# TODO: allow compile time selection via CMake variables
set(PANEL_BACKENDS
lxqt-panel-backend-wlroots
lxqt-panel-backend-wayland
lxqt-panel-backend-xcb
)


set(PRIV_HEADERS
panelpluginsmodel.h
windownotifier.h
Expand All @@ -21,12 +29,6 @@ set(PRIV_HEADERS
config/configstyling.h
config/configpluginswidget.h
config/addplugindialog.h

backends/ilxqttaskbarabstractbackend.h
backends/lxqttaskbartypes.h

backends/lxqttaskbardummybackend.h
backends/xcb/lxqttaskbarbackend_x11.h
)

# using LXQt namespace in the public headers.
Expand All @@ -35,9 +37,6 @@ set(PUB_HEADERS
pluginsettings.h
ilxqtpanelplugin.h
ilxqtpanel.h

backends/ilxqttaskbarabstractbackend.h
backends/lxqttaskbartypes.h
)

set(SOURCES
Expand All @@ -57,11 +56,6 @@ set(SOURCES
config/configstyling.cpp
config/configpluginswidget.cpp
config/addplugindialog.cpp

backends/ilxqttaskbarabstractbackend.cpp

backends/lxqttaskbardummybackend.cpp
backends/xcb/lxqttaskbarbackend_x11.cpp
)

set(UI
Expand Down Expand Up @@ -120,6 +114,7 @@ target_link_libraries(${PROJECT}
${LIBRARIES}
${QTX_LIBRARIES}
KF6::WindowSystem
${PANEL_BACKENDS}
LayerShellQt::Interface
${STATIC_PLUGINS}
)
Expand Down
18 changes: 18 additions & 0 deletions panel/backends/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1 +1,19 @@
# Common interface for Window Manager abstraction backend
# This also contains dummy backend

add_library(lxqt-panel-backend-common STATIC

lxqttaskbartypes.h
ilxqttaskbarabstractbackend.h
ilxqttaskbarabstractbackend.cpp

lxqttaskbardummybackend.h
lxqttaskbardummybackend.cpp
)

target_link_libraries(lxqt-panel-backend-common
Qt6::Gui
)

add_subdirectory(wayland)
add_subdirectory(xcb)
29 changes: 28 additions & 1 deletion panel/backends/ilxqttaskbarabstractbackend.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,31 @@
#include "../panel/backends/ilxqttaskbarabstractbackend.h"
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* https://lxqt.org
*
* Copyright: 2023 LXQt team
* Authors:
* Filippo Gentile <[email protected]>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */

#include "ilxqttaskbarabstractbackend.h"


ILXQtTaskbarAbstractBackend::ILXQtTaskbarAbstractBackend(QObject *parent)
Expand Down
28 changes: 28 additions & 0 deletions panel/backends/ilxqttaskbarabstractbackend.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* https://lxqt.org
*
* Copyright: 2023 LXQt team
* Authors:
* Filippo Gentile <[email protected]>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */


#ifndef ILXQTTASKBARABSTRACTBACKEND_H
#define ILXQTTASKBARABSTRACTBACKEND_H

Expand Down
28 changes: 28 additions & 0 deletions panel/backends/lxqttaskbardummybackend.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* https://lxqt.org
*
* Copyright: 2023 LXQt team
* Authors:
* Filippo Gentile <[email protected]>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */


#include "lxqttaskbardummybackend.h"

#include <QIcon>
Expand Down
28 changes: 28 additions & 0 deletions panel/backends/lxqttaskbardummybackend.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* https://lxqt.org
*
* Copyright: 2023 LXQt team
* Authors:
* Filippo Gentile <[email protected]>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */


#ifndef LXQTTASKBARDUMMYBACKEND_H
#define LXQTTASKBARDUMMYBACKEND_H

Expand Down
30 changes: 29 additions & 1 deletion panel/backends/lxqttaskbartypes.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* https://lxqt.org
*
* Copyright: 2023 LXQt team
* Authors:
* Filippo Gentile <[email protected]>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */


#ifndef LXQTTASKBARTYPES_H
#define LXQTTASKBARTYPES_H

Expand Down Expand Up @@ -50,7 +78,7 @@ enum class LXQtTaskBarWindowLayer

enum class LXQtTaskBarWorkspace
{
ShowOnAll = -1
ShowOnAll = 0 // Virtual destops have 1-based indexes
};

#endif // LXQTTASKBARTYPES_H
30 changes: 30 additions & 0 deletions panel/backends/wayland/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
project(lxqt-panel-backend-wayland)

find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS WaylandClient Concurrent)

add_library(lxqt-panel-backend-wayland STATIC
lxqttaskbarbackendwayland.h
lxqttaskbarplasmawindowmanagment.h
lxqtplasmavirtualdesktop.h

lxqttaskbarbackendwayland.cpp
lxqttaskbarplasmawindowmanagment.cpp
lxqtplasmavirtualdesktop.cpp
)

qt6_generate_wayland_protocol_client_sources(lxqt-panel-backend-wayland
FILES
${CMAKE_CURRENT_SOURCE_DIR}/protocols/plasma-window-management.xml
)

qt6_generate_wayland_protocol_client_sources(lxqt-panel-backend-wayland
FILES
${CMAKE_CURRENT_SOURCE_DIR}/protocols/org-kde-plasma-virtual-desktop.xml
)

target_link_libraries(lxqt-panel-backend-wayland
Qt6::GuiPrivate
Qt6::WaylandClient
Qt6::Concurrent
lxqt-panel-backend-common
)
Loading