# ukui-screensaver

[English](README.md)

UKUI 桌面环境的锁屏及屏保程序，基于 Qt6 开发。

## 功能特性

- 锁屏界面：支持密码认证、生物识别认证
- 屏幕保护：支持多屏保切换、壁纸轮播、自定义壁纸目录
- 电源管理：支持挂起、休眠、重启、关机操作
- 多显示器支持
- 音频可视化屏保
- 虚拟键盘支持
- 网络状态显示

## 依赖

### 编译依赖

- cmake (>= 3.5)
- Qt6: qt6-base-dev, qt6-tools-dev, qt6-svg-dev, qt6-multimedia-dev, qt6-base-private-dev, qt6-webengine-dev
- KF6: libkf6windowsystem-dev, libkf6networkmanagerqt-dev
- libpam0g-dev, libglib2.0-dev, libx11-dev, libxtst-dev
- libgsettings-qt6-dev, libmatemixer-dev, libimlib2-dev
- kwayland-dev, libkscreen-dev, libxrandr-dev, libxkbcommon-dev
- libnm-dev, libkylin-nm-base, kylin-nm-plugin-dev
- liblightdm-gobject-dev, libsystemd-dev, libssl-dev
- libavcodec-dev, libavformat-dev, libmpv-dev
- libukui-log4qt-dev, libkysdk-system-dev, libkysdk-applications-dev, libkysdk-base-dev
- libukcc-dev, libcharls-dev, libsqlite3-dev, libtag1-dev, libqrencode-dev, libpwquality-dev

### 运行依赖

- ukui-session-manager (>= 4.0.0.0)
- libpam-biometric (>= 3.20.0.10)
- mate-desktop-common
- gstreamer1.0-libav
- libqt6sql6-sqlite

## 编译安装

```bash
cd ukui-screensaver
mkdir build && cd build
cmake ..
make
sudo make install
```

## 项目结构

```
src/
├── lock-dialog/        # 锁屏界面
├── lock-backend/       # 锁屏后端（认证、用户信息）
├── screensaver/        # 屏幕保护程序
├── widgets/            # 通用 UI 组件
├── common/             # 公共工具与配置
├── dbusifs/            # D-Bus 接口
├── liblightdm-qt/      # LightDM Qt 绑定
├── VirtualKeyboard/    # 虚拟键盘
├── QtSingleApplication/# 单实例应用支持
└── ukccplugins/        # 控制面板插件
```

## 许可证

本项目采用 [GPL-3.0 或更高版本](https://www.gnu.org/licenses/gpl-3.0.html) 许可。详见 `debian/copyright`。
