all: refactor windows code out of core
There are still some links from core to window but its now separate enough to fix PanelWindow in qml tooling.
This commit is contained in:
parent
1adad9e822
commit
4e48c6eefb
|
@ -64,15 +64,6 @@ boption(SERVICE_GREETD "Greetd" ON)
|
|||
boption(SERVICE_UPOWER "UPower" ON)
|
||||
boption(SERVICE_NOTIFICATIONS "Notifications" ON)
|
||||
|
||||
if (NOT DEFINED GIT_REVISION)
|
||||
execute_process(
|
||||
COMMAND git rev-parse HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_REVISION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
|
||||
add_compile_options(-Wall -Wextra)
|
||||
|
||||
if (FRAME_POINTERS)
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
qt_add_executable(quickshell main.cpp)
|
||||
|
||||
target_link_libraries(quickshell PRIVATE ${QT_DEPS} quickshell-build)
|
||||
|
||||
install(TARGETS quickshell RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
add_subdirectory(build)
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(ipc)
|
||||
add_subdirectory(window)
|
||||
add_subdirectory(io)
|
||||
add_subdirectory(widgets)
|
||||
|
||||
|
|
26
src/build/CMakeLists.txt
Normal file
26
src/build/CMakeLists.txt
Normal file
|
@ -0,0 +1,26 @@
|
|||
add_library(quickshell-build INTERFACE)
|
||||
|
||||
if (NOT DEFINED GIT_REVISION)
|
||||
execute_process(
|
||||
COMMAND git rev-parse HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_REVISION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
|
||||
if (CRASH_REPORTER)
|
||||
set(CRASH_REPORTER_DEF 1)
|
||||
else()
|
||||
set(CRASH_REPORTER_DEF 0)
|
||||
endif()
|
||||
|
||||
if (DISTRIBUTOR_DEBUGINFO_AVAILABLE)
|
||||
set(DEBUGINFO_AVAILABLE 1)
|
||||
else()
|
||||
set(DEBUGINFO_AVAILABLE 0)
|
||||
endif()
|
||||
|
||||
configure_file(build.hpp.in build.hpp @ONLY ESCAPE_QUOTES)
|
||||
|
||||
target_include_directories(quickshell-build INTERFACE ${CMAKE_CURRENT_BINARY_DIR})
|
|
@ -1,22 +1,16 @@
|
|||
find_package(CLI11 CONFIG REQUIRED)
|
||||
|
||||
qt_add_library(quickshell-core STATIC
|
||||
main.cpp
|
||||
plugin.cpp
|
||||
shell.cpp
|
||||
variants.cpp
|
||||
rootwrapper.cpp
|
||||
proxywindow.cpp
|
||||
reload.cpp
|
||||
rootwrapper.cpp
|
||||
qmlglobal.cpp
|
||||
qmlscreen.cpp
|
||||
region.cpp
|
||||
persistentprops.cpp
|
||||
windowinterface.cpp
|
||||
floatingwindow.cpp
|
||||
panelinterface.cpp
|
||||
popupwindow.cpp
|
||||
singleton.cpp
|
||||
generation.cpp
|
||||
scan.cpp
|
||||
|
@ -43,32 +37,20 @@ qt_add_library(quickshell-core STATIC
|
|||
paths.cpp
|
||||
instanceinfo.cpp
|
||||
common.cpp
|
||||
ipc.cpp
|
||||
)
|
||||
|
||||
if (CRASH_REPORTER)
|
||||
set(CRASH_REPORTER_DEF 1)
|
||||
else()
|
||||
set(CRASH_REPORTER_DEF 0)
|
||||
endif()
|
||||
|
||||
if (DISTRIBUTOR_DEBUGINFO_AVAILABLE)
|
||||
set(DEBUGINFO_AVAILABLE 1)
|
||||
else()
|
||||
set(DEBUGINFO_AVAILABLE 0)
|
||||
endif()
|
||||
|
||||
add_library(quickshell-build INTERFACE)
|
||||
|
||||
configure_file(build.hpp.in build.hpp @ONLY ESCAPE_QUOTES)
|
||||
|
||||
target_include_directories(quickshell-build INTERFACE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_link_libraries(quickshell-core PRIVATE quickshell-build)
|
||||
|
||||
qt_add_qml_module(quickshell-core URI Quickshell VERSION 0.1)
|
||||
qt_add_qml_module(quickshell-core
|
||||
URI Quickshell
|
||||
VERSION 0.1
|
||||
IMPORTS Quickshell._Window
|
||||
)
|
||||
|
||||
target_link_libraries(quickshell-core PRIVATE ${QT_DEPS} CLI11::CLI11)
|
||||
|
||||
target_link_libraries(quickshell-core PRIVATE ${QT_DEPS} Qt6::QuickPrivate CLI11::CLI11)
|
||||
qs_pch(quickshell-core)
|
||||
qs_pch(quickshell-coreplugin)
|
||||
|
||||
target_link_libraries(quickshell PRIVATE quickshell-coreplugin)
|
||||
|
||||
|
|
1031
src/core/main.cpp
1031
src/core/main.cpp
File diff suppressed because it is too large
Load diff
|
@ -1,7 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
namespace qs::launch {
|
||||
|
||||
int main(int argc, char** argv); // NOLINT
|
||||
|
||||
}
|
|
@ -17,11 +17,11 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "../window/proxywindow.hpp"
|
||||
#include "../window/windowinterface.hpp"
|
||||
#include "generation.hpp"
|
||||
#include "popupanchor.hpp"
|
||||
#include "proxywindow.hpp"
|
||||
#include "qsmenu.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
namespace qs::menu::platform {
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include <qtclasshelpermacros.h>
|
||||
#include <qtmetamacros.h>
|
||||
|
||||
#include "popupanchor.hpp"
|
||||
#include "../core/popupanchor.hpp"
|
||||
#include "qsmenu.hpp"
|
||||
|
||||
namespace qs::menu::platform {
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "proxywindow.hpp"
|
||||
#include "../window/proxywindow.hpp"
|
||||
#include "../window/windowinterface.hpp"
|
||||
#include "types.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
bool PopupAnchorState::operator==(const PopupAnchorState& other) const {
|
||||
return this->rect == other.rect && this->edges == other.edges && this->gravity == other.gravity
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "../window/proxywindow.hpp"
|
||||
#include "doc.hpp"
|
||||
#include "proxywindow.hpp"
|
||||
#include "types.hpp"
|
||||
|
||||
///! Adjustment strategy for popups that do not fit on screen.
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
function (qs_test name)
|
||||
add_executable(${name} ${ARGN})
|
||||
target_link_libraries(${name} PRIVATE ${QT_DEPS} Qt6::Test quickshell-core)
|
||||
target_link_libraries(${name} PRIVATE ${QT_DEPS} Qt6::Test quickshell-core quickshell-window)
|
||||
add_test(NAME ${name} WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" COMMAND $<TARGET_FILE:${name}>)
|
||||
endfunction()
|
||||
|
||||
qs_test(popupwindow popupwindow.cpp)
|
||||
qs_test(transformwatcher transformwatcher.cpp)
|
||||
qs_test(ringbuffer ringbuf.cpp)
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <qobject.h>
|
||||
#include <qtmetamacros.h>
|
||||
|
||||
class TestPopupWindow: public QObject {
|
||||
Q_OBJECT;
|
||||
|
||||
private slots:
|
||||
void initiallyVisible();
|
||||
void reloadReparent();
|
||||
void reloadUnparent();
|
||||
void invisibleWithoutParent();
|
||||
void moveWithParent();
|
||||
void attachParentLate();
|
||||
void reparentLate();
|
||||
void xMigrationFix();
|
||||
};
|
|
@ -4,7 +4,7 @@
|
|||
#include <qobjectdefs.h>
|
||||
#include <qtclasshelpermacros.h>
|
||||
|
||||
#include "../core/ipc.hpp"
|
||||
#include "../ipc/ipc.hpp"
|
||||
|
||||
namespace qs::io::ipc {
|
||||
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
#include <qtypes.h>
|
||||
|
||||
#include "../core/generation.hpp"
|
||||
#include "../core/ipc.hpp"
|
||||
#include "../core/ipccommand.hpp"
|
||||
#include "../core/logging.hpp"
|
||||
#include "../ipc/ipc.hpp"
|
||||
#include "../ipc/ipccommand.hpp"
|
||||
#include "ipc.hpp"
|
||||
#include "ipchandler.hpp"
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include <qcontainerfwd.h>
|
||||
#include <qflags.h>
|
||||
|
||||
#include "../core/ipc.hpp"
|
||||
#include "../ipc/ipc.hpp"
|
||||
|
||||
namespace qs::io::ipc::comm {
|
||||
|
||||
|
|
7
src/ipc/CMakeLists.txt
Normal file
7
src/ipc/CMakeLists.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
qt_add_library(quickshell-ipc STATIC
|
||||
ipc.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(quickshell-ipc PRIVATE ${QT_DEPS})
|
||||
|
||||
target_link_libraries(quickshell PRIVATE quickshell-ipc)
|
|
@ -9,9 +9,9 @@
|
|||
#include <qloggingcategory.h>
|
||||
#include <qobject.h>
|
||||
|
||||
#include "generation.hpp"
|
||||
#include "../core/generation.hpp"
|
||||
#include "../core/paths.hpp"
|
||||
#include "ipccommand.hpp"
|
||||
#include "paths.hpp"
|
||||
|
||||
namespace qs::ipc {
|
||||
|
1031
src/main.cpp
1031
src/main.cpp
File diff suppressed because it is too large
Load diff
|
@ -8,8 +8,8 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "../../../core/proxywindow.hpp"
|
||||
#include "../../../core/windowinterface.hpp"
|
||||
#include "../../../window/proxywindow.hpp"
|
||||
#include "../../../window/windowinterface.hpp"
|
||||
#include "grab.hpp"
|
||||
#include "manager.hpp"
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
#include <qobject.h>
|
||||
#include <qtmetamacros.h>
|
||||
|
||||
#include "../../core/util.hpp"
|
||||
#include "../../core/model.hpp"
|
||||
#include "../../core/proxywindow.hpp"
|
||||
#include "../../core/qmlscreen.hpp"
|
||||
#include "../../core/windowinterface.hpp"
|
||||
#include "../../core/util.hpp"
|
||||
#include "../../window/proxywindow.hpp"
|
||||
#include "../../window/windowinterface.hpp"
|
||||
#include "handle.hpp"
|
||||
#include "manager.hpp"
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
#include <qtmetamacros.h>
|
||||
|
||||
#include "../../core/model.hpp"
|
||||
#include "../../core/proxywindow.hpp"
|
||||
#include "../../core/qmlscreen.hpp"
|
||||
#include "../../core/util.hpp"
|
||||
#include "../../window/proxywindow.hpp"
|
||||
|
||||
namespace qs::wayland::toplevel_management {
|
||||
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qtypes.h>
|
||||
|
||||
#include "../core/panelinterface.hpp"
|
||||
#include "../core/proxywindow.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "../window/panelinterface.hpp"
|
||||
#include "../window/proxywindow.hpp"
|
||||
#include "wlr_layershell/window.hpp"
|
||||
|
||||
WlrLayershell::WlrLayershell(QObject* parent)
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
#include <qtypes.h>
|
||||
|
||||
#include "../core/doc.hpp"
|
||||
#include "../core/panelinterface.hpp"
|
||||
#include "../core/proxywindow.hpp"
|
||||
#include "../window/panelinterface.hpp"
|
||||
#include "../window/proxywindow.hpp"
|
||||
#include "wlr_layershell/window.hpp"
|
||||
|
||||
///! Wlroots layershell window
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include <qtypes.h>
|
||||
#include <qwayland-wlr-layer-shell-unstable-v1.h>
|
||||
|
||||
#include "../../core/panelinterface.hpp"
|
||||
#include "../../window/panelinterface.hpp"
|
||||
#include "shell_integration.hpp"
|
||||
#include "window.hpp"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include <qvariant.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "../../core/panelinterface.hpp"
|
||||
#include "../../window/panelinterface.hpp"
|
||||
#include "shell_integration.hpp"
|
||||
#include "surface.hpp"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include <qtypes.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "../../core/panelinterface.hpp"
|
||||
#include "../../window/panelinterface.hpp"
|
||||
|
||||
///! WlrLayershell layer.
|
||||
/// See @@WlrLayershell.layer.
|
||||
|
|
23
src/window/CMakeLists.txt
Normal file
23
src/window/CMakeLists.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
qt_add_library(quickshell-window STATIC
|
||||
proxywindow.cpp
|
||||
windowinterface.cpp
|
||||
panelinterface.cpp
|
||||
floatingwindow.cpp
|
||||
popupwindow.cpp
|
||||
)
|
||||
|
||||
qt_add_qml_module(quickshell-window
|
||||
URI Quickshell._Window
|
||||
VERSION 0.1
|
||||
)
|
||||
|
||||
target_link_libraries(quickshell-window PRIVATE ${QT_DEPS} Qt6::QuickPrivate)
|
||||
|
||||
qs_pch(quickshell-window)
|
||||
qs_pch(quickshell-windowplugin)
|
||||
|
||||
target_link_libraries(quickshell PRIVATE quickshell-windowplugin)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
|
@ -3,7 +3,7 @@
|
|||
#include <qqmlintegration.h>
|
||||
#include <qtmetamacros.h>
|
||||
|
||||
#include "doc.hpp"
|
||||
#include "../core/doc.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
class Anchors {
|
|
@ -7,9 +7,8 @@
|
|||
#include <qtypes.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "popupanchor.hpp"
|
||||
#include "proxywindow.hpp"
|
||||
#include "qmlscreen.hpp"
|
||||
#include "../core/popupanchor.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
ProxyPopupWindow::ProxyPopupWindow(QObject* parent): ProxyWindowBase(parent) {
|
|
@ -6,10 +6,10 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qtypes.h>
|
||||
|
||||
#include "doc.hpp"
|
||||
#include "popupanchor.hpp"
|
||||
#include "../core/doc.hpp"
|
||||
#include "../core/popupanchor.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "proxywindow.hpp"
|
||||
#include "qmlscreen.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
///! Popup window.
|
|
@ -14,11 +14,11 @@
|
|||
#include <qvariant.h>
|
||||
#include <qwindow.h>
|
||||
|
||||
#include "generation.hpp"
|
||||
#include "qmlglobal.hpp"
|
||||
#include "qmlscreen.hpp"
|
||||
#include "region.hpp"
|
||||
#include "reload.hpp"
|
||||
#include "../core/generation.hpp"
|
||||
#include "../core/qmlglobal.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "../core/region.hpp"
|
||||
#include "../core/reload.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
ProxyWindowBase::ProxyWindowBase(QObject* parent)
|
|
@ -12,10 +12,9 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qtypes.h>
|
||||
|
||||
#include "qmlglobal.hpp"
|
||||
#include "qmlscreen.hpp"
|
||||
#include "region.hpp"
|
||||
#include "reload.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "../core/region.hpp"
|
||||
#include "../core/reload.hpp"
|
||||
#include "windowinterface.hpp"
|
||||
|
||||
// Proxy to an actual window exposing a limited property set with the ability to
|
7
src/window/test/CMakeLists.txt
Normal file
7
src/window/test/CMakeLists.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
function (qs_test name)
|
||||
add_executable(${name} ${ARGN})
|
||||
target_link_libraries(${name} PRIVATE ${QT_DEPS} Qt6::Test quickshell-window quickshell-core)
|
||||
add_test(NAME ${name} WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" COMMAND $<TARGET_FILE:${name}>)
|
||||
endfunction()
|
||||
|
||||
qs_test(popupwindow popupwindow.cpp)
|
18
src/window/test/popupwindow.hpp
Normal file
18
src/window/test/popupwindow.hpp
Normal file
|
@ -0,0 +1,18 @@
|
|||
#pragma once
|
||||
|
||||
#include <qobject.h>
|
||||
#include <qtmetamacros.h>
|
||||
|
||||
class TestPopupWindow: public QObject {
|
||||
Q_OBJECT;
|
||||
|
||||
private slots:
|
||||
void initiallyVisible();
|
||||
void reloadReparent();
|
||||
void reloadUnparent();
|
||||
void invisibleWithoutParent();
|
||||
void moveWithParent();
|
||||
void attachParentLate();
|
||||
void reparentLate();
|
||||
void xMigrationFix();
|
||||
};
|
|
@ -8,9 +8,9 @@
|
|||
#include <qtmetamacros.h>
|
||||
#include <qtypes.h>
|
||||
|
||||
#include "qmlscreen.hpp"
|
||||
#include "region.hpp"
|
||||
#include "reload.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "../core/region.hpp"
|
||||
#include "../core/reload.hpp"
|
||||
|
||||
class ProxyWindowBase;
|
||||
class QsWindowAttached;
|
|
@ -17,9 +17,9 @@
|
|||
#include <xcb/xproto.h>
|
||||
|
||||
#include "../core/generation.hpp"
|
||||
#include "../core/panelinterface.hpp"
|
||||
#include "../core/proxywindow.hpp"
|
||||
#include "../core/qmlscreen.hpp"
|
||||
#include "../window/panelinterface.hpp"
|
||||
#include "../window/proxywindow.hpp"
|
||||
#include "util.hpp"
|
||||
|
||||
class XPanelStack {
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
#include <qtmetamacros.h>
|
||||
|
||||
#include "../core/doc.hpp"
|
||||
#include "../core/panelinterface.hpp"
|
||||
#include "../core/proxywindow.hpp"
|
||||
#include "../window/panelinterface.hpp"
|
||||
#include "../window/proxywindow.hpp"
|
||||
|
||||
class XPanelStack;
|
||||
|
||||
|
|
Loading…
Reference in a new issue