Add desktop app service and VM dev session tooling
Introduces a new `core/applications` QML/C++ module (`Nebula.Applications`) to discover `.desktop` entries, expose filterable application models, and launch installed apps safely from the shell. The desktop launcher now uses real installed apps with themed icon loading and fallback glyphs, adds output-aware surface sizing via `OutputTracker`, and wires in image/icon providers. It also adds VMware-focused Sway/shell wrapper scripts, updates Sway config/session env defaults, and refreshes README docs to document the new development flow and Desktop 0.1 behavior.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
if(NOT TARGET Qt6::Qml)
|
||||
project(NebulaApplications LANGUAGES CXX)
|
||||
find_package(Qt6 6.4 REQUIRED COMPONENTS Core Gui Qml)
|
||||
qt_standard_project_setup(REQUIRES 6.4)
|
||||
endif()
|
||||
|
||||
qt_add_library(NebulaApplications STATIC)
|
||||
|
||||
qt_add_qml_module(NebulaApplications
|
||||
URI Nebula.Applications
|
||||
VERSION 1.0
|
||||
RESOURCE_PREFIX /qt/qml
|
||||
SOURCES
|
||||
DesktopEntry.hpp
|
||||
DesktopEntry.cpp
|
||||
ApplicationModel.hpp
|
||||
ApplicationModel.cpp
|
||||
ApplicationFilterModel.hpp
|
||||
ApplicationFilterModel.cpp
|
||||
ApplicationService.hpp
|
||||
ApplicationService.cpp
|
||||
)
|
||||
|
||||
target_include_directories(NebulaApplications
|
||||
PUBLIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
target_link_libraries(NebulaApplications
|
||||
PUBLIC
|
||||
Qt6::Core
|
||||
Qt6::Gui
|
||||
Qt6::Qml
|
||||
)
|
||||
|
||||
set_target_properties(NebulaApplications PROPERTIES
|
||||
AUTOMOC ON
|
||||
)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
target_compile_options(NebulaApplications PRIVATE -Wall -Wextra)
|
||||
endif()
|
||||
Reference in New Issue
Block a user