about summary refs log tree commit diff
path: root/nix/hosts/hacknix/i3-config.nix
blob: 5836fdabcc3fe28066c6054a2ba9daca3094c606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{ }:

''
  set $mod Mod1

  font pango:monospace 8

  exec --no-startup-id dex --autostart --environment i3
  exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
  exec --no-startup-id nm-applet

  set $refresh_i3status killall -SIGUSR1 i3status
  bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
  bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
  bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
  bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status

  floating_modifier $mod

  tiling_drag modifier titlebar

  #bindsym $mod+Return exec i3-sensible-terminal
  bindsym $mod+Return exec kitty 

  bindsym $mod+Shift+q kill

  bindsym $mod+d exec --no-startup-id dmenu_run

  bindsym $mod+h focus left
  bindsym $mod+j focus down
  bindsym $mod+k focus up
  bindsym $mod+l focus right

  bindsym $mod+Left focus left
  bindsym $mod+Down focus down
  bindsym $mod+Up focus up
  bindsym $mod+Right focus right

  bindsym $mod+Shift+h move left
  bindsym $mod+Shift+j move down
  bindsym $mod+Shift+k move up
  bindsym $mod+Shift+l move right

  bindsym $mod+Shift+Left move left
  bindsym $mod+Shift+Down move down
  bindsym $mod+Shift+Up move up
  bindsym $mod+Shift+Right move right

  bindsym $mod+b split h

  bindsym $mod+v split v

  bindsym $mod+f fullscreen toggle

  bindsym $mod+s layout stacking
  bindsym $mod+w layout tabbed
  bindsym $mod+e layout toggle split

  bindsym $mod+Shift+space floating toggle

  bindsym $mod+space focus mode_toggle

  bindsym $mod+a focus parent


  set $ws1 "1"
  set $ws2 "2"
  set $ws3 "3"
  set $ws4 "4"
  set $ws5 "5"
  set $ws6 "6"
  set $ws7 "7"
  set $ws8 "8"
  set $ws9 "9"
  set $ws10 "10"

  bindsym $mod+1 workspace number $ws1
  bindsym $mod+2 workspace number $ws2
  bindsym $mod+3 workspace number $ws3
  bindsym $mod+4 workspace number $ws4
  bindsym $mod+5 workspace number $ws5
  bindsym $mod+6 workspace number $ws6
  bindsym $mod+7 workspace number $ws7
  bindsym $mod+8 workspace number $ws8
  bindsym $mod+9 workspace number $ws9
  bindsym $mod+0 workspace number $ws10

  bindsym $mod+Shift+1 move container to workspace number $ws1
  bindsym $mod+Shift+2 move container to workspace number $ws2
  bindsym $mod+Shift+3 move container to workspace number $ws3
  bindsym $mod+Shift+4 move container to workspace number $ws4
  bindsym $mod+Shift+5 move container to workspace number $ws5
  bindsym $mod+Shift+6 move container to workspace number $ws6
  bindsym $mod+Shift+7 move container to workspace number $ws7
  bindsym $mod+Shift+8 move container to workspace number $ws8
  bindsym $mod+Shift+9 move container to workspace number $ws9
  bindsym $mod+Shift+0 move container to workspace number $ws10

  bindsym $mod+Shift+c reload
  bindsym $mod+Shift+r restart
  bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"

  mode "resize" {
          # These bindings trigger as soon as you enter the resize mode

          # Pressing left will shrink the window’s width.
          # Pressing right will grow the window’s width.
          # Pressing up will shrink the window’s height.
          # Pressing down will grow the window’s height.
          bindsym h resize shrink width 10 px or 10 ppt
          bindsym j resize grow height 10 px or 10 ppt
          bindsym k resize shrink height 10 px or 10 ppt
          bindsym l resize grow width 10 px or 10 ppt

          # same bindings, but for the arrow keys
          bindsym Left resize shrink width 10 px or 10 ppt
          bindsym Down resize grow height 10 px or 10 ppt
          bindsym Up resize shrink height 10 px or 10 ppt
          bindsym Right resize grow width 10 px or 10 ppt

          # back to normal: Enter or Escape or $mod+r
          bindsym Return mode "default"
          bindsym Escape mode "default"
          bindsym $mod+r mode "default"
  }

  bindsym $mod+r mode "resize"

  bar {
  	position top
          status_command i3status
  }

  default_border pixel 1
  hide_edge_borders smart
  smart_borders on

  bindsym $mod+shift+m border toggle
''