未提供项目说明

i3bindings的Python项目详细描述


I3绑定

forthebadgeforthebadge

i3配置的简洁语法

TL;DR

看看这个example。在

安装

pip install i3bindings

使用

  1. 使用下面的Concepts创建input_文件。在
  2. 尝试使用i3bindings input_file
  3. 使用i3bindings --write input_file将其写入i3配置

查看i3bindings --help获取更多选项。在

概念

映射类型

i3bindings支持两种类型的映射:

  1. 密钥绑定,其中$mod+f -> fullscreen toggle变成{}
  2. 执行绑定,其中$mod+Return #> xterm变成{}

替代品

Alternatives表达了同一个操作应该绑定到多个键绑定的思想。在

例如:

$mod+h/Left -> focus left将创建两行配置:

bindsym $mod+h focus left和{}

变量

Variables是编写具有类似结构的绑定的较短方法。在

例如: $mod+{f,s} -> {fullscreen,split} toggle将创建:

bindsym $mod+f fullscreen togglebindsym $mod+s split toggle

范围扩展

在变量内部可以写1-10,它将被扩展为1,2,3...。在

变量引用

您可以使用@n语法引用变量的当前值,其中n是变量索引。 每个变量从左到右编号(从0开始)。E、 g.:

foo {bar,{foo,bar}} {0-1} ...
    ^    ^          ^
    0    1          2

这样使用: $mod+Control+Shift {1-9,0} -> move container to workspace {1-10}; workspace @1

或者为了避免重复长序列:

$mod+x -> {[instance=\"calculator\"]} scratchpad show; @0 move position center

空值

{21>{emm>你可以用$mod+{_,Shift+}{h/Left,j/Down,k/Up,l/Right} -> {focus,move} {left,down,up,right}。 这将扩展到bindsym $mod+h focus left和{}

嵌套

您可以在Variable中使用AlternativesVariables同时创建多个绑定。在

附加语法

括号

默认情况下,空格、加号等特殊字符是token分隔符。 $mod+p/Print因此扩展为$mod+p和{}。 可以使用括号修改行为: ($mod+p/Print) #> scrot将创建两行配置: bindsym $mod+p exec --no-startup-id scrot和{}

评论

将忽略空行或以#开头的行。在

示例

要演示语法,请查看此输入文件:

^{pr2}$

扩展版本创建以下i3配置:

    bindsym $mod+h focus left
    bindsym $mod+Left focus left
    bindsym $mod+j focus down
    bindsym $mod+Down focus down
    bindsym $mod+k focus up
    bindsym $mod+Up focus up
    bindsym $mod+l focus right
    bindsym $mod+Right focus right
    bindsym $mod+Shift+h move left
    bindsym $mod+Shift+Left move left
    bindsym $mod+Shift+j move down
    bindsym $mod+Shift+Down move down
    bindsym $mod+Shift+k move up
    bindsym $mod+Shift+Up move up
    bindsym $mod+Shift+l move right
    bindsym $mod+Shift+Right move right
    bindsym $mod+Control+Shift+h resize shrink width 5px or 5ppt
    bindsym $mod+Control+Shift+Left resize shrink width 5px or 5ppt
    bindsym $mod+Control+Shift+k resize shrink height 5px or 5ppt
    bindsym $mod+Control+Shift+Up resize shrink height 5px or 5ppt
    bindsym $mod+Control+Shift+l resize grow width 5px or 5ppt
    bindsym $mod+Control+Shift+Right resize grow width 5px or 5ppt
    bindsym $mod+Control+Shift+j resize grow height 5px or 5ppt
    bindsym $mod+Control+Shift+Down resize grow height 5px or 5ppt
    bindsym $mod+1 workspace 1
    bindsym $mod+2 workspace 2
    bindsym $mod+3 workspace 3
    bindsym $mod+4 workspace 4
    bindsym $mod+5 workspace 5
    bindsym $mod+6 workspace 6
    bindsym $mod+7 workspace 7
    bindsym $mod+8 workspace 8
    bindsym $mod+9 workspace 9
    bindsym $mod+0 workspace 10
    bindsym $mod+Shift+1 move container to workspace 1
    bindsym $mod+Shift+2 move container to workspace 2
    bindsym $mod+Shift+3 move container to workspace 3
    bindsym $mod+Shift+4 move container to workspace 4
    bindsym $mod+Shift+5 move container to workspace 5
    bindsym $mod+Shift+6 move container to workspace 6
    bindsym $mod+Shift+7 move container to workspace 7
    bindsym $mod+Shift+8 move container to workspace 8
    bindsym $mod+Shift+9 move container to workspace 9
    bindsym $mod+Shift+0 move container to workspace 10
    bindsym $mod+Control+Shift 1 move container to workspace 1; workspace 1
    bindsym $mod+Control+Shift 2 move container to workspace 2; workspace 2
    bindsym $mod+Control+Shift 3 move container to workspace 3; workspace 3
    bindsym $mod+Control+Shift 4 move container to workspace 4; workspace 4
    bindsym $mod+Control+Shift 5 move container to workspace 5; workspace 5
    bindsym $mod+Control+Shift 6 move container to workspace 6; workspace 6
    bindsym $mod+Control+Shift 7 move container to workspace 7; workspace 7
    bindsym $mod+Control+Shift 8 move container to workspace 8; workspace 8
    bindsym $mod+Control+Shift 9 move container to workspace 9; workspace 9
    bindsym $mod+Control+Shift 0 move container to workspace 10; workspace 10

背景

i3是一个很棒的windows管理器,但是它的配置非常冗长。 我尝试了bspwm及其热键守护程序sxhkd,我更喜欢这种语法。 这就是为什么我写了i3bindings。 它使用类似于sxhkd的语法来扩展绑定参数,例如$mod+{1-9,0} -> workspace {1-10}将变成{},bindsym $mod+2 workspace 2,等等。 此外,它几乎没有更多的功能。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
http java servlet转发cookie   java<p:selectOneMenu>所选值始终为空   java MOXy解组在dateTime之前不允许空白   java应用程序无法加载应用程序。yml文件   java有人能告诉我如何将这个数组传递到我的主方法中,以便它打印出来吗?   java我无法将th:object传递给控制器并使用@modeldattribute映射到pojo   macos从Java应用程序访问UNUserNotificationCenter   java在spring批处理中是否有finally tasklet?   字节码Bytebuddy拦截java。网服务器socket构造函数   java如何通过继承访问字符串的值?   java为缺少命名空间的xml元素添加前缀   如何在Java中使用Google实时API?   java如何正确创建字符串对数组?   java Emulator:进程结束,退出代码为1073741511(0xC0000139)Andrioid Studio   java如何获取文件的完整路径来读取它并将其数据保存在数据库中?   java如何正确调用该方法?   java如何为JOptionPane发出不同的哔哔声?   java什么是@scr的非降级替代品。物业名称参考?