Commit Graph

17 Commits

Author SHA1 Message Date
April & May fa1e1e6a18 fix: Separate DConfig object creation to another thread to avoid blocking
DConfig object creation involves D-Bus communication, which may block
when placed in the main thread. This commit adapt dconfig2cpp tool to
generate DConfig wrapper safely running in another thread, to avoid this
problem.
2025-09-11 19:06:22 +08:00
rewine 7039d9ede6 feat: add Nix flake support for project configuration
1. Introduce `default.nix` at the root to define Nix packages and
dependencies
2. Migrate CMakeLists.txt to use `option()` and `add_feature_info()` for
better feature management
3. Update `flake.nix` to import and organize Nix modules and packages
4. Modify `nix/default.nix` to use `nix-filter.lib` and add new
dependencies like `qwlroots` and `waylib`
5. Update `waylib/flake.nix` and `waylib/nix/default.nix` to improve
test support and source filtering

feat: 添加 Nix flake 支持以优化项目配置

1. 在项目根目录引入 `default.nix` 来定义 Nix 包及其依赖
2. 将 CMakeLists.txt 中的配置改为使用 `option()` 和 `add_feature_info()`
以更好地管理功能选项
3. 更新 `flake.nix` 以导入并组织 Nix 模块和包
4. 修改 `nix/default.nix` 使用 `nix-filter.lib` 并添加 `qwlroots` 和
`waylib` 等包
2025-07-24 20:07:56 +08:00
rewine 826fe21051 chore: update nix dependencies and clean up configurations
1. Remove redundant seatd service configuration in flake.nix that was
previously used for testing
2. Clean up development shell packages by removing unnecessary Wayland-
related dependencies
3. Update wlroots dependency to wlroots_0_19 in both flake.nix and
default.nix
4. Update project version from 0.2.2 to 0.5-unstable to reflect recent
development progress
5. Add depsBuildBuild input for pkg-config to ensure proper build
environment setup
6. Remove outdated wlroots reference from nativeBuildInputs

chore: 更新 nix 依赖并清理配置

1. 移除 flake.nix 中冗余的 seatd 服务配置(之前用于测试)
2. 清理开发环境中的 shell 包,移除不必要的 Wayland 相关依赖
3. 在 flake.nix 和 default.nix 中将 wlroots 依赖更新为 wlroots_0_19
4. 将项目版本从 0.2.2 更新为 0.5-unstable 以反映最新开发进展
5. 添加 pkg-config 的 depsBuildBuild 输入以确保正确的构建环境
2025-07-23 17:09:40 +08:00
JiDe Zhang 644b7315d3 chore: fix CI and enable independent builds
1.  Fixes and updates CI configurations for treeland.
2.  Merges `reuse` files for comprehensive license information.
3.  Updates dependencies in `debian/control` to align with the combined
codebase.
4.  Introduces separate build workflows for `waylib` and `qwlroots` to
ensure they can be built independently.
5.  This ensures modularity and prevents accidental breakages during
future development, maintaining the option to separate these components
again.

chore: 修复 CI 并启用独立构建

1. 修复并更新了 treeland 的 CI 配置。
2. 合并 `reuse` 文件以提供全面的许可证信息。
3. 更新了 `debian/control` 中的依赖项,以与合并的代码库保持一致。
4. 引入了 `waylib` 和 `qwlroots` 的独立构建工作流程,以确保它们可以独立
构建。
5. 确保模块化,防止未来开发过程中意外损坏,保持再次分离这些组件的选项。
2025-07-23 15:27:52 +08:00
rewine 71aa66bff3 feat: add popup surface container for handling popup windows
1. Added ninja build tool to nativeBuildInputs in nix/default.nix to
support faster builds
2. Added popupsurfacecontainer files to CMakeLists.txt for proper
compilation
3. Created new PopupSurfaceContainer class to handle popup surfaces with
mouse event detection
4. Modified WindowMenu.qml to set modal property ensuring proper popup
behavior
5. Updated ShellHandler to use PopupSurfaceContainer instead of generic
SurfaceContainer

The changes implement a specialized container for handling
popup surfaces with proper event handling and closure logic. The
PopupSurfaceContainer class provides specific functionality for managing
popup windows, including detecting mouse press events outside popup
areas and closing popups accordingly. This improves the user experience
by ensuring popups are properly dismissed when users interact outside
their boundaries.
2025-06-26 17:55:08 +08:00
rewine e6447c783e refactor: remove jemalloc dependency
1. Removed jemalloc from the build dependencies in debian/control
2. Eliminated jemalloc reference in nix/default.nix
3. Deleted pkg_check_modules(JEMALLOC) call in src/CMakeLists.txt
4. Removed PkgConfig::JEMALLOC from target_link_libraries in src/
CMakeLists.txt
5. This change simplifies the build process and reduces external
dependencies

重构:移除jemalloc依赖

1. 从debian/control中删除jemalloc的构建依赖
2. 在nix/default.nix中消除对jemalloc的引用
3. 删除src/CMakeLists.txt中的pkg_check_modules(JEMALLOC)调用
4. 从src/CMakeLists.txt的target_link_libraries中移除PkgConfig::JEMALLOC
5. 此更改简化了构建过程并减少了外部依赖项
2025-06-18 13:39:00 +08:00
rewine 2593f214d0 chore: update nix package
log: fix nix build
2025-02-11 17:53:49 +08:00
rewine 25c9bf5ebf fix: nix ci for build 2025-01-14 20:03:41 +08:00
rewine 3b11314763 fix: support treeland-protocols for nix 2024-11-05 14:51:14 +08:00
rewine f76a80ffed chore: fix build on nixos
log: fix nix
2024-05-14 17:14:40 +08:00
rewine ee67bf1495 feat: allow ddm works in nixos
log: use `nix run -v -L .#qemu` to test
2024-03-06 13:21:37 +08:00
rewine 2166466baa chore: fix not found qtsvg in nixos
log: treeland need qtsvg
2024-01-24 21:47:19 +08:00
rewine ce94284d7c feat: impl treeland output management
Log: primary output setting
2024-01-03 10:18:12 +08:00
rewine 3e6f4a11de fix: build on nix ci
Log: fix build on nixos
2024-01-02 17:25:32 +08:00
rewine 1539b3ae63 fix: fix nix build ci and devShell
log: update flake and fix patch for nix
2023-12-12 10:30:30 +08:00
rewine 6f70713c3e feat: fix nix build
log: update flake and use dtk6
2023-12-11 16:52:55 +08:00
rewine a973202ab3 Support nix build and better cmake 2023-11-08 11:03:17 +08:00