Files
2026-06-12 16:54:32 +08:00

51 lines
1.1 KiB
Markdown

# screen_ds_once.c - 显示器信息单次查询程序
## 概述
screen_ds.c的简化版本,仅执行一次显示器信息查询并输出结果后退出。适用于需要快速获取当前显示器配置的场景。
## 与screen_ds.c的区别
| 特性 | screen_ds | screen_ds_once |
|------|-----------|----------------|
| 执行模式 | 持续监控 | 单次查询 |
| 事件监听 | 有 | 无 |
| 退出方式 | Ctrl+C | 自动退出 |
## 工作原理
1. 打开X显示连接
2. 查询RandR扩展是否可用
3. 获取所有已连接显示器信息
4. 输出到文件或标准输出
5. 释放资源并退出
## 数据结构
与screen_ds.c相同:
```c
typedef struct {
char* output_name;
int width, height;
int x, y;
int rotation;
} MonitorInfo;
```
## 输出格式
```
HDMI-1|1920x1080|0x0|N
```
## 关键函数
| 函数 | 功能 |
|------|------|
| `get_monitor_info()` | 获取显示器信息 |
| `output_monitor_info()` | 输出信息 |
| `rotation_to_char()` | 旋转方向编码转换 |
## 调用方式
```bash
./screen_ds_once [输出文件路径]
```
## 依赖
- X11 + Xrandr扩展