27个版本 (14个稳定版)
1.1.14 | 2024年5月14日 |
---|---|
1.1.13 | 2024年2月3日 |
1.1.12 | 2023年11月25日 |
1.1.5 | 2023年7月10日 |
0.2.13 | 2023年2月16日 |
#60 in GUI
每月140次下载
135KB
3K SLoC
🪟 hyprland-autoname-workspaces
🕹️这是Hyprland的一个玩具。
此应用程序自动使用启动应用程序的图标重命名工作区 - 与 waybar 和 eww 测试过。
您必须根据 class
和 title
设置配置文件,并基于您的偏好规则。支持正则表达式(匹配和捕获)。
常见问题解答、技巧和窍门 ❓
https://github.com/hyprland-community/hyprland-autoname-workspaces/wiki/FAQ
安装
AUR 📦
在程序名称 hyprland-autoname-workspaces-git
下作为AUR软件包提供。然后,您可以使用服务 systemctl --user enable --now hyprland-autoname-workspaces.service
。
Fedora 📦
在此处提供软件包 https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/。
Nix 📦
在nixpkgs中提供 hyprland-autoname-workspaces
。您可以将它添加到您的 systemPackages
或使用 nix run
在不安装的情况下尝试它。
$ nix run nixpkgs#hyprland-autoname-workspaces
Cargo 📦
$ cargo install --locked hyprland-autoname-workspaces
使用方法
$ hyprland-autoname-workspaces
配置
首先,您必须设置您的 waybar
,例如,使用良好的模块 hyprland/workspaces
。已弃用 wlr/workspaces
模块。您必须使用 hyprland/workspaces
模块,配置为 "format" = "{name}"
。
"hyprland/workspaces": {
"format": "{name}",
}
有关所有参数,请查看此存储库中的 config.toml.example
。
可以通过使用-c <CONFIG>
选项来指定配置文件,否则默认为~/.config/hyprland-autoname-workspaces/config.toml
。如果你指定了一个不存在的路径,将会生成一个默认的配置文件。
可以在任何地方使用正则表达式,默认情况下它是区分大小写的。
通过在[icons]
部分中编辑应用程序的映射,使用class = "icon"
。
在图标值中,如果你使用正则表达式捕获,可以使用占位符{class}
、{title}
和{match1}
、{match2}
。
示例
[class]
DEFAULT = "{class}: {title}"
...
- 你可以使用
class = title
在[exclude]
中排除应用程序。
在exclude
部分,键是窗口的class
,值是title
。你可以使用空字符串来排除标题为空的窗口,并将".*"
作为值来匹配某个类名的所有标题。
示例
...
[exclude]
"(?i)fcitx" = ".*" # will match all title for fcitx
"[Ss]team" = "Friends list.*"
"[Ss]team" = "^$" # will match and exclude all Steam class with empty title (some popups)
- 你可以使用
[title_in_class.classname]
和[title_in_class_active.class]
与"a word in the title" = "icons"
进行标题匹配。
提示:还有title_in_initial_class
、initial_title_in_class
、initial_title_in_initial_class
等等。
示例
...
[title."(xterm|(?i)kitty|alacritty)"]
"(?i)neomutt" = "mail"
ncdu = "file manager"
[title."(firefox|chrom.*)"]
youtube = "yt"
google = "gg"
[title_active."(firefox|chrom.*)"]
youtube = "<span color='red'>yt</span>"
google = "<span color='blue'>{icon}</span>"
...
- 你可以通过配置文件根部分的
dedup
参数来去重图标。
dedup = true
dedup_inactive_fullscreen = true
...
[title."(xterm|(?i)kitty|alacritty)"]
"(?i)neomutt" = "mail"
ncdu = "file manager"
...
- 你还可以通过这些
[format]
部分格式化器参数来重新定义所有默认格式化器。可用的{placeholder}
列表如下:
workspace
- client
- id (or id_long)
- name (use value from
[workspaces_name]
mapping) - delim
clients
- icon
- counter_s, counter_unfocused_s, counter, counter_unfocused
- class, iitle
- delim
- match1, match2, match3, matchN (for regex captures)
[format]
# max_clients = 10 (default: usize::MAX)
dedup = true
dedup_inactive_fullscreen = true
delim = " " # NARROW NO-BREAK SPACE
workspace = "<span color='red'>{id}:</span>{delim}{clients}"
workspace_empty = "<span color='red'>{id}</span>"
client = "{icon}{delim}"
client_active = "<span color="red">{icon}</span>{delim}"
client_dup = "{icon}{counter_sup}{delim}"
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}"
client_fullscreen = "[{icon}]{delim}"
...
请参阅config.toml.example
和维基以获取更多示例,欢迎分享你的配置!
不需要重新启动应用程序,因为存在自动重新加载功能。
提示:您可以使用glyphsearch并复制您字体中的Unicode图标,例如:https://glyphsearch.com/?query=book©=unicode
提示:您可以使用以下命令查找当前运行的应用程序的hyprland类名:hyprctl clients | grep -i class
,或者您也可以使用hyprland-autoname-workspaces --verbose
。
提示:请随意调整和使用此脚本以生成您的配置文件。目前尚未进行测试。
提示:您可以使用contrib/generate_icons.py
脚本初始化您的[icons]
。
提示:您可以使用以下链接查看所有可用于<span>
的样式参数:https://docs.gtk.org/Pango/pango_markup.html
依赖项
~11–22MB
~293K SLoC