Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
38 changes: 21 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,31 @@ set(CMAKE_AUTOMOC ON)

find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml)

add_library(niriplugin SHARED
src/icon.cpp
src/ipcclient.cpp
src/niri.cpp
src/plugin.cpp
src/windowmodel.cpp
src/workspacemodel.cpp
qt_standard_project_setup(REQUIRES 6.5)

qt_add_library(Niri SHARED)

set_target_properties(Niri PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Niri
)

qt_add_qml_module(Niri
URI Niri
VERSION 0.1
SOURCES
src/icon.h src/icon.cpp
src/ipcclient.h src/ipcclient.cpp
src/niri.h src/niri.cpp
src/windowmodel.h src/windowmodel.cpp
src/workspacemodel.h src/workspacemodel.cpp
OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Niri
)

target_link_libraries(niriplugin
target_include_directories(Niri PUBLIC src)

target_link_libraries(Niri PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Qml
)

set_target_properties(niriplugin PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Niri
)

add_custom_command(TARGET niriplugin POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/src/qmldir
${CMAKE_BINARY_DIR}/Niri/qmldir
)
2 changes: 2 additions & 0 deletions src/niri.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
#pragma once

#include <QObject>
#include <QQmlEngine>
#include "ipcclient.h"
#include "workspacemodel.h"
#include "windowmodel.h"

class Niri : public QObject
{
Q_OBJECT
QML_ELEMENT
Q_PROPERTY(WorkspaceModel* workspaces READ workspaces CONSTANT)
Q_PROPERTY(WindowModel* windows READ windows CONSTANT)
Q_PROPERTY(Window* focusedWindow READ focusedWindow NOTIFY focusedWindowChanged)
Expand Down
2 changes: 0 additions & 2 deletions src/qmldir

This file was deleted.

3 changes: 3 additions & 0 deletions src/windowmodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
#include <QAbstractListModel>
#include <QJsonObject>
#include <QObject>
#include <QQmlEngine>

class Window : public QObject
{
Q_OBJECT
QML_ELEMENT
Q_PROPERTY(quint64 id MEMBER id CONSTANT)
Q_PROPERTY(QString title MEMBER title CONSTANT)
Q_PROPERTY(QString appId MEMBER appId CONSTANT)
Expand Down Expand Up @@ -36,6 +38,7 @@ class Window : public QObject
class WindowModel : public QAbstractListModel
{
Q_OBJECT
QML_ELEMENT
Q_PROPERTY(int count READ rowCount NOTIFY countChanged)
Q_PROPERTY(Window* focusedWindow READ focusedWindow NOTIFY focusedWindowChanged)

Expand Down
2 changes: 2 additions & 0 deletions src/workspacemodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include <QAbstractListModel>
#include <QJsonObject>
#include <QQmlEngine>

struct Workspace {
quint64 id;
Expand All @@ -17,6 +18,7 @@ struct Workspace {
class WorkspaceModel : public QAbstractListModel
{
Q_OBJECT
QML_ELEMENT
Q_PROPERTY(int count READ rowCount NOTIFY countChanged)

public:
Expand Down