nwg-panel 项目教程
1. 项目的目录结构及介绍
nwg-panel 是一个基于 GTK3 的 panel 项目,适用于 sway 和 Hyprland Wayland 合成器。以下是项目的目录结构及其介绍:
nwg-panel/
├── .gitignore
├── LICENSE
├── MANIFEST.in
├── README.md
├── install.sh
├── nwg-panel-config.desktop
├── nwg-panel-service
├── nwg-panel.svg
├── nwg-processes.desktop
├── nwg-processes.svg
├── nwg-shell.svg
├── requirements.txt
├── setup.py
├── uninstall.sh
└── nwg_panel/
├── __init__.py
├── config.py
├── main.py
├── modules/
│ ├── __init__.py
│ ├── brightness_slider.py
│ ├── clock.py
│ ├── controls.py
│ ├── custom_button.py
│ ├── executor.py
│ ├── keyboard_layout.py
│ ├── menu_start.py
│ ├── open_weather.py
│ ├── playerctl.py
│ ├── scratchpad.py
│ ├── sway_mode.py
│ ├── sway_nc.py
│ ├── sway_taskbar.py
│ ├── sway_workspaces.py
│ └── tray.py
└── resources/
├── icons/
└── styles/
主要目录和文件介绍:
- .gitignore: Git 忽略文件配置。
- LICENSE: 项目许可证(MIT 许可证)。
- MANIFEST.in: 打包清单文件。
- README.md: 项目说明文档。
- install.sh: 安装脚本。
- nwg-panel-config.desktop: 配置文件的桌面入口。
- nwg-panel-service: 服务文件。
- nwg-panel.svg: 项目图标。
- nwg-processes.desktop: 进程管理桌面入口。
- nwg-processes.svg: 进程管理图标。
- nwg-shell.svg: 外壳图标。
- requirements.txt: 项目依赖文件。
- setup.py: 安装脚本。
- uninstall.sh: 卸载脚本。
- nwg_panel/: 项目主代码目录。
- init.py: 模块初始化文件。
- config.py: 配置文件处理模块。
- main.py: 主启动文件。
- modules/: 各个模块的代码目录。
- init.py: 模块初始化文件。
- brightness_slider.py: 亮度滑块模块。
- clock.py: 时钟模块。
- controls.py: 控制模块。
- custom_button.py: 自定义按钮模块。
- executor.py: 执行器模块。
- keyboard_layout.py: 键盘布局模块。
- menu_start.py: 启动菜单模块。
- open_weather.py: 天气模块。
- playerctl.py: 媒体控制模块。
- scratchpad.py: 临时窗口模块。
- sway_mode.py: Sway 模式指示器模块。
- sway_nc.py: Sway 通知中心集成模块。
- sway_taskbar.py: Sway 任务栏模块。
- sway_workspaces.py: Sway 工作区模块。
- tray.py: 系统托盘模块。
- resources/: 资源目录。
- icons/: 图标资源。
- styles/: 样式资源。
2. 项目的启动文件介绍
项目的启动文件是 main.py
,位于 nwg_panel
目录下。该文件负责初始化并启动整个 panel 应用程序。以下是 main.py
的主要功能:
- 初始化配置。
- 加载各个模块。
- 启动 GTK 主循环。
3. 项目的配置文件介绍
项目的配置文件主要由 config.py
模块