2个稳定版本
1.0.1 | 2020年6月9日 |
---|
在 配置 中排名 438
32KB
221 行
i3-bindings
读取i3配置文件并显示其中定义的绑定的简单工具。下面是一个打印的表的示例。
如果您想添加一些新功能或帮助我使代码更符合习惯用法,那么问题和PR都非常欢迎 😄
功能
- 以表格形式打印键绑定
- 可选地以
csv
格式打印到标准输出(这样就可以轻松地通过管道传输到其他软件[例如 BurntSushi/xsv]) - 按不同标准排序绑定
- 只显示特定类别的键绑定
- 打印后可选地等待输入(如果您想做一些类似
alacritty -e i3-bindings -b
的事情以打开一个临时终端显示您的绑定很有用)
安装
目前,您可以通过克隆仓库并运行以下命令在您的PC上安装此软件:
cargo install --path .
或者,您可以去查看 发行版页面,看看是否有适用于您系统的预编译可执行文件可供直接下载并放置在您的路径中。
用法
有关可用选项的帮助信息,请参阅 i3-bindings --help
。然而,在大多数情况下,只需运行 i3-bindings
并使用默认值即可。
这是工具打印的 help
消息
Utility that reads your i3 config file and prints a formatted version to the console
USAGE:
i3-bindings [FLAGS] [OPTIONS]
FLAGS:
-b, --block
--csv whether to provide the output in csv (if not a table will be displayed)
-h, --help Prints help information
--print-categories
-V, --version Prints version information
OPTIONS:
-c, --config-path <config-path>
Sets a custom config file. If not specified then the following paths will be checked (in order)
~/.config/i3/config, ~/.i3/config, /etc/i3/config
-e, --exclusive-category <exclusive-category>
-s, --sort-dim <sort-dim>
[default: binding] [possible values: command, type, binding, no-sort]
如何使用格式化配置文件
如果您愿意,可以在您的 config
文件中指定 类别,这样在打印表时,绑定将按逻辑分组。但是这并不是必需的。
类别:要打印如下示例中的类别,您需要在您的i3配置中添加注释以指定一组绑定的类别。以下所有注释下的绑定都将具有指定的类别,直到指定新的类别。默认类别是 default
。
例如
# Category: Layout
#Split in horizontal orientation
bindsym $mod+Mod1+h split h
#Split in vertical orientation
bindsym $mod+Mod1+v split v
# Category: Some other category
...etc...
请注意,文件中的所有注释都被完全忽略,除了关于 Category:
(用于定义类别)的注释以及与绑定在同一行的注释(这些注释作为表中的命令的一部分显示)。
示例
当执行时,该工具将读取您的i3配置文件,默认情况下,将打印如下表格到标准输出。如果您想查看截图示例,可以点击这里,其中展示了在我的终端模拟器(Alacritty)中打印我的"应用程序"类别快捷键时的样子。
╔════════════╦══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║Category ║Actual Binding ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Applications║ Symbol $mod+$alt+b alacritty -e i3-bindings --block ║
║ ║ Symbol $mod+$alt+c $EDITOR ~/.config/i3/config ║
║ ║ Symbol $mod+$alt+d dolphin ║
║ ║ Symbol $mod+$alt+e $EDITOR ║
║ ║ Symbol $mod+$alt+g chromium ║
║ ║ Symbol $mod+$alt+q fish -c ask-and-run-command-in-new-term ║
║ ║ Symbol $mod+$alt+r alacritty -e ranger ║
║ ║ Symbol $mod+$alt+s spotify-wrapper ║
║ ║ Code $mod+34 picom #34 - [ ║
║ ║ Code $mod+35 killall picom #35 - ] ║
║ ║ Code $mod+Shift+35 ~/.config/polybar/launch.sh ║
║ ║ Symbol Ctrl+Print scrot '%Y%m%d_%H%M%S.png' -e 'mv $f ~/Pictures/Screenshots/' ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Audio ║ Symbol XF86AudioLowerVolume pactl set-sink-volume 0 -2% ║
║ ║ Symbol XF86AudioMicMute pactl set-source-mute 1 toggle ║
║ ║ Symbol XF86AudioMute pactl set-sink-mute 0 toggle ║
║ ║ Symbol XF86AudioNext playerctl next ║
║ ║ Symbol XF86AudioPlay playerctl play-pause ║
║ ║ Symbol XF86AudioPrev playerctl previous ║
║ ║ Symbol XF86AudioRaiseVolume pactl set-sink-volume 0 +2% ║
║ ║ Symbol XF86KbdBrightnessDown sudo /home/andrea/.shellscripts/increase-keyboard-backlight.fish -1 ║
║ ║ Symbol XF86KbdBrightnessUp sudo /home/andrea/.shellscripts/increase-keyboard-backlight.fish 1 ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Display ║ Symbol XF86MonBrightnessDown fish -c "increase-display-backlight-by -7" ║
║ ║ Symbol XF86MonBrightnessUp fish -c "increase-display-backlight-by 7" ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Layout ║ Symbol $mod+Mod1+h split h ║
║ ║ Symbol $mod+Mod1+v split v ║
║ ║ Symbol $mod+e layout toggle split ║
║ ║ Symbol $mod+equal gaps inner all plus 5 ║
║ ║ Symbol $mod+f fullscreen toggle ║
║ ║ Symbol $mod+m focus child ║
║ ║ Symbol $mod+minus gaps inner all minus 5 ║
║ ║ Symbol $mod+s layout stacking ║
║ ║ Symbol $mod+space floating toggle ║
║ ║ Symbol $mod+u focus parent ║
║ ║ Symbol $mod+w layout tabbed ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Main ║ Symbol $mod+Return alacritty ║
║ ║ Symbol $mod+d --no-startup-id rofi -show combi ║
║ ║ Symbol $mod+n --no-startup-id systemsettings5 ║
║ ║ Symbol Ctrl+Shift+q kill ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Move Focus ║ Symbol $mod+Down focus down ║
║ ║ Symbol $mod+Left focus left ║
║ ║ Symbol $mod+Right focus right ║
║ ║ Symbol $mod+Shift+Down move down ║
║ ║ Symbol $mod+Shift+Left move left ║
║ ║ Symbol $mod+Shift+Right move right ║
║ ║ Symbol $mod+Shift+Up move up ║
║ ║ Symbol $mod+Shift+h move left ║
║ ║ Symbol $mod+Shift+j move down ║
║ ║ Symbol $mod+Shift+k move up ║
║ ║ Symbol $mod+Shift+l move right ║
║ ║ Symbol $mod+Up focus up ║
║ ║ Symbol $mod+h focus left ║
║ ║ Symbol $mod+j focus down ║
║ ║ Symbol $mod+k focus up ║
║ ║ Symbol $mod+l focus right ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Resize ║ Symbol $mod+r mode "default" ║
║ ║ Symbol $mod+r mode "resize" ║
║ ║ Symbol Down resize grow height 8 px or 2 ppt ║
║ ║ Symbol Escape mode "default" ║
║ ║ Symbol Left resize shrink width 8 px or 2 ppt ║
║ ║ Symbol Right resize grow width 8 px or 2 ppt ║
║ ║ Symbol Up resize shrink height 8 px or 2 ppt ║
║ ║ Symbol h resize shrink width 8 px or 2 ppt ║
║ ║ Symbol j resize grow height 8 px or 2 ppt ║
║ ║ Symbol k resize shrink height 8 px or 2 ppt ║
║ ║ Symbol l resize grow width 8 px or 2 ppt ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Session ║ Symbol $mod+Shift+e "i3-nagbar -t warning -m 'Do you really want to exit i3?' -b 'Yes, exit i3' 'i3-msg exit'" ║
║ ║ Symbol $mod+Shift+r restart ║
║ ║ Symbol Ctrl+$alt+l ~/.shellscripts/lock-screen.fish ║
╟────────────╫──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║Workspaces ║ Symbol $mod+0 workspace 10 ║
║ ║ Symbol $mod+1 workspace 1 ║
║ ║ Symbol $mod+2 workspace 2 ║
║ ║ Symbol $mod+3 workspace 3 ║
║ ║ Symbol $mod+4 workspace 4 ║
║ ║ Symbol $mod+5 workspace 5 ║
║ ║ Symbol $mod+6 workspace 6 ║
║ ║ Symbol $mod+7 workspace 7 ║
║ ║ Symbol $mod+8 workspace 8 ║
║ ║ Symbol $mod+9 workspace 9 ║
║ ║ Symbol $mod+Shift+0 move container to workspace 10 ║
║ ║ Symbol $mod+Shift+1 move container to workspace 1 ║
║ ║ Symbol $mod+Shift+2 move container to workspace 2 ║
║ ║ Symbol $mod+Shift+3 move container to workspace 3 ║
║ ║ Symbol $mod+Shift+4 move container to workspace 4 ║
║ ║ Symbol $mod+Shift+5 move container to workspace 5 ║
║ ║ Symbol $mod+Shift+6 move container to workspace 6 ║
║ ║ Symbol $mod+Shift+7 move container to workspace 7 ║
║ ║ Symbol $mod+Shift+8 move container to workspace 8 ║
║ ║ Symbol $mod+Shift+9 move container to workspace 9 ║
║ ║ Symbol $mod+Shift+m move workspace to output left ║
║ ║ Symbol $mod+Shift+n move workspace to output left ║
║ ║ Symbol Ctrl+$mod+Left workspace prev ║
║ ║ Symbol Ctrl+$mod+Right workspace next ║
╚════════════╩══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
类似项目
以下是一些具有相似功能的项目,如果您想了解它们。
- regolith-linux/remontoire
- 读取配置文件并在GTK窗口中显示键绑定
- RasmusLindroth/i3keys
- 读取您的配置文件并告知哪些键组合仍然可以映射
依赖项
~6–8.5MB
~127K SLoC