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:
outfoxxed committed 2024-10-28 16:18:41 -07:00
1 parent 1adad9e822
commit 4e48c6eefb
45 files changed
+1171 -1142

No files matched your search

-9
View File
@@ -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)
+5
View File
@@ -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
View 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})
File renamed without changes.
+8 -26
View File
@@ -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
View File
File diff suppressed because it is too large. Load diff
-7
View File
@@ -1,7 +0,0 @@
#pragma once
namespace qs::launch {
int main(int argc, char** argv); // NOLINT
}
+2 -2
View File
@@ -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 {
+1 -1
View File
@@ -13,7 +13,7 @@
#include <qtclasshelpermacros.h>
#include <qtmetamacros.h>
#include "popupanchor.hpp"
#include "../core/popupanchor.hpp"
#include "qsmenu.hpp"
namespace qs::menu::platform {
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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 -2
View File
@@ -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)
-18
View File
@@ -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();
};
+1 -1
View File
@@ -4,7 +4,7 @@
#include <qobjectdefs.h>
#include <qtclasshelpermacros.h>
#include "../core/ipc.hpp"
#include "../ipc/ipc.hpp"
namespace qs::io::ipc {
+2 -2
View File
@@ -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"
+1 -1
View File
@@ -3,7 +3,7 @@
#include <qcontainerfwd.h>
#include <qflags.h>
#include "../core/ipc.hpp"
#include "../ipc/ipc.hpp"
namespace qs::io::ipc::comm {
+7
View 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)
+2 -2
View File
@@ -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 {
File renamed without changes.
File renamed without changes.
+1030 -1
View File
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -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 -3
View File
@@ -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"
+1 -1
View File
@@ -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 {
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -7,7 +7,7 @@
#include <qtypes.h>
#include <qwindow.h>
#include "../../core/panelinterface.hpp"
#include "../../window/panelinterface.hpp"
///! WlrLayershell layer.
/// See @@WlrLayershell.layer.
+23
View 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()
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -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
View 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)
File renamed without changes.
+18
View 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();
};
File renamed without changes.
@@ -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;
+2 -2
View File
@@ -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 {
+2 -2
View File
@@ -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;