#monitor #hyprland #screens #pluggable #toml #automatic #docking

app hyprdock

一个处理hyprland和acpid外部可插拔屏幕的小程序

10个版本

0.3.7 2023年9月22日
0.3.6 2023年9月22日
0.3.5 2023年4月13日
0.3.0 2023年3月29日
0.1.0 2023年3月22日

#128配置

每月 22次下载

GPL-3.0-only

38KB
785

Hyprdock

一个处理自动显示器连接的小工具。

重大变更

  • 配置目录从hyprland配置目录更改为hyprdock目录

硬件要求

  • acpid已安装并运行

软件要求

这些程序原本打算与hyprdock一起使用,但toml允许你指定你想运行的命令。所以请随意尝试其他程序。

  • Hyprland
  • swaylock
  • systemd

行为和功能

  • 服务器模式
    • 如果有显示器连接且关闭笔记本电脑盖子,笔记本电脑将停止休眠并使用外接显示器
    • 没有连接显示器时,关闭盖子将使笔记本电脑休眠
    • 显示器的名称是hyprland.conf中指定的第一个显示器
  • external: 仅切换到外接显示器
  • internal: 仅切换到内部显示器
  • extend: 扩展显示器
  • mirror: 镜射显示器
  • export: 保存当前显示器配置
    可选的名称参数 -> 保存具有特定名称的配置
  • import: 导入已存储的配置
    可选的名称参数 -> 以特定名称加载配置

示例配置

路径需要为 $HOME/.config/hypr/hyprdock.toml

monitor_name = "eDP-1"
open_bar_command = "eww open bar"
close_bar_command = "eww close-all"
reload_bar_command = "eww reload"
suspend_command = "systemctl suspend"
lock_command = "swaylock -c 000000"
utility_command = "playerctl --all-players -a pause"
get_monitors_command = "hyprctl monitors"
enable_internal_monitor_command = "hyprctl keyword monitor eDP-1,highrr,0x0,1"
disable_internal_monitor_command = "hyprctl keyword monitor eDP-1,disabled"
enable_external_monitor_command = "hyprctl keyword monitor ,highrr,0x0,1"
disable_external_monitor_command = "hyprctl keyword monitor ,disabled"
extend_command = "hyprctl keyword monitor ,highrr,1920x0,1"
mirror_command = "hyprctl keyword monitor ,highrr,0x0,1"
wallpaper_command = "hyprctl dispatch hyprpaper"
css_string = ""

一行中的多个命令

# make sure to leave a blank space between the start and end of the ;;, which marks the end and start of commands.
utility_command = "yourcommand args ;; yourothercommand args"

extend and mirror

在插入显示器或打开笔记本电脑盖子时,可以指定默认命令

default_external_command = "extend" # or "mirror"

何时调用特定功能?

  • open_bar_command => 用于在新显示器上打开新条目
  • close_bar_command => 用于关闭有问题的eww条目
  • reload_bar_command => 用于在重新启用内部显示器后移除eww的图形错误
  • suspend_command => 用于在关闭盖子且没有外接显示器时挂起
  • lock_command => 用于在关闭盖子且没有外接显示器时锁定屏幕
  • utility_command => 在锁定前使用 -> 停止音乐等
  • get_monitors_command => 用于检查是否连接了外接显示器
  • enable_internal_monitor_command => 在使用内部显示器或在外接显示器仅连接后打开笔记本电脑盖子后运行
  • disable_internal_monitor_command => 在使用外部显示器或关闭带有外接显示器连接的笔记本电脑盖子后运行
  • enable_external_monitor_command => 在禁用内部监控或连接外部监控后运行
  • disable_external_monitor_command => 在仅使用内部或拔掉外部监控后运行
  • extend_command => 在使用扩展或外部监控的默认功能后运行
  • mirror_command => 在使用镜像或外部监控的默认功能后运行
  • wallpaper_command => 连接监控后运行

CSS

默认情况下,hyprdock 使用您的系统 gtk4 主题。
可以通过您自己的 CSS 文件进行样式配置。
只需在 toml 配置文件中覆盖 css_string 变量。

ID 列表

  • MainWindow
  • MainBox
  • InternalButton
  • ExternalButton
  • ExtendButton
  • MirrorButton
  • ExportButton

依赖项

~18MB
~430K SLoC