i3 config

发布时间 2023-10-06 12:04:34作者: acd407
  1 # This file has been auto-generated by i3-config-wizard(1).
  2 # It will not be overwritten, so edit it as you like.
  3 #
  4 # Should you change your keyboard layout some time, delete
  5 # this file and re-run i3-config-wizard(1).
  6 #
  7 
  8 # i3 config file (v4)
  9 #
 10 # Please see https://i3wm.org/docs/userguide.html for a complete reference!
 11 
 12 set $mod Mod1
 13 set $win Mod4
 14 set $font pango:SourceCodeVF 14
 15 
 16 # Font for window titles. Will also be used by the bar unless a different font
 17 # is used in the bar {} block below.
 18 font $font
 19 
 20 # Start XDG autostart .desktop files using dex. See also
 21 # https://wiki.archlinux.org/index.php/XDG_Autostart
 22 exec --no-startup-id dex --autostart --environment i3
 23 
 24 # The combination of xss-lock, nm-applet and pactl is a popular choice, so
 25 # they are included here as an example. Modify as you see fit.
 26 
 27 # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
 28 # screen before suspend. Use loginctl lock-session to lock your screen.
 29 exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
 30 exec --no-startup-id redshift
 31 exec_always --no-startup-id conky --daemonize
 32 
 33 exec --no-startup-id xset dpms 1200 7200
 34 
 35 # USER
 36 exec --no-startup-id fcitx5
 37 exec_always --no-startup-id picom
 38 exec --no-startup-id feh --bg-fill $HOME/Pictures/a35.jpg
 39 bindsym $win+l exec $HOME/.bin/lock
 40 bindsym $win+x exec xcolor | xclip -i
 41 
 42 # Use pactl to adjust volume in PulseAudio.
 43 set $refresh_i3status killall -SIGUSR1 i3blocks
 44 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status && pkill -SIGRTMIN+10 i3blocks
 45 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status && pkill -SIGRTMIN+10 i3blocks
 46 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
 47 bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
 48 
 49 # Sreen brightness controls
 50 bindsym XF86MonBrightnessUp exec pkill -SIGRTMIN+12 i3blocks && xbacklight -inc 5
 51 bindsym XF86MonBrightnessDown exec pkill -SIGRTMIN+12 i3blocks && xbacklight -dec 5
 52 
 53 # Media player controls
 54 bindsym XF86AudioPlay exec playerctl play
 55 bindsym XF86AudioPause exec playerctl pause
 56 bindsym XF86AudioNext exec playerctl next
 57 bindsym XF86AudioPrev exec playerctl previous
 58 
 59 bindsym Print --release exec /usr/bin/flameshot gui
 60 for_window [class="flameshot"] floating enable
 61 
 62 # Use Mouse+$mod to drag floating windows to their wanted position
 63 floating_modifier $mod
 64 
 65 # move tiling windows via drag & drop by left-clicking into the title bar,
 66 # or left-clicking anywhere into the window while holding the floating modifier.
 67 tiling_drag modifier titlebar
 68 
 69 # start a terminal
 70 bindsym $mod+Return exec i3-sensible-terminal
 71 
 72 # kill focused window
 73 bindsym $mod+Shift+q kill
 74 
 75 # start dmenu (a program launcher)
 76 # bindsym $mod+d exec --no-startup-id dmenu_run
 77 # A more modern dmenu replacement is rofi:
 78 bindsym $mod+d exec --no-startup-id "rofi -modi drun,run -show run"
 79 bindsym $mod+Shift+d exec --no-startup-id "rofi -modi drun,run -show drun"
 80 
 81 # change focus
 82 bindsym $mod+j focus left
 83 bindsym $mod+k focus down
 84 bindsym $mod+l focus up
 85 bindsym $mod+semicolon focus right
 86 
 87 # alternatively, you can use the cursor keys:
 88 bindsym $mod+Left focus left
 89 bindsym $mod+Down focus down
 90 bindsym $mod+Up focus up
 91 bindsym $mod+Right focus right
 92 
 93 # move focused window
 94 bindsym $mod+Shift+j move left
 95 bindsym $mod+Shift+k move down
 96 bindsym $mod+Shift+l move up
 97 bindsym $mod+Shift+semicolon move right
 98 
 99 # alternatively, you can use the cursor keys:
100 bindsym $mod+Shift+Left move left
101 bindsym $mod+Shift+Down move down
102 bindsym $mod+Shift+Up move up
103 bindsym $mod+Shift+Right move right
104 
105 # split in horizontal orientation
106 bindsym $mod+h split h
107 
108 # split in vertical orientation
109 bindsym $mod+v split v
110 
111 # enter fullscreen mode for the focused container
112 bindsym $mod+f fullscreen toggle
113 
114 # change container layout (stacked, tabbed, toggle split)
115 bindsym $mod+s layout stacking
116 bindsym $mod+w layout tabbed
117 bindsym $mod+e layout toggle split
118 
119 # toggle tiling / floating
120 bindsym $mod+Shift+space floating toggle
121 
122 # change focus between tiling / floating windows
123 bindsym $mod+space focus mode_toggle
124 
125 # focus the parent container
126 bindsym $mod+a focus parent
127 
128 # focus the child container
129 #bindsym $mod+d focus child
130 
131 # Define names for default workspaces for which we configure key bindings later on.
132 # We use variables to avoid repeating the names in multiple places.
133 set $ws1 "1"
134 set $ws2 "2"
135 set $ws3 "3"
136 set $ws4 "4"
137 set $ws5 "5"
138 set $ws6 "6"
139 set $ws7 "7"
140 set $ws8 "8"
141 set $ws9 "9"
142 set $ws10 "10"
143 
144 # switch to workspace
145 bindsym $mod+1 workspace number $ws1
146 bindsym $mod+2 workspace number $ws2
147 bindsym $mod+3 workspace number $ws3
148 bindsym $mod+4 workspace number $ws4
149 bindsym $mod+5 workspace number $ws5
150 bindsym $mod+6 workspace number $ws6
151 bindsym $mod+7 workspace number $ws7
152 bindsym $mod+8 workspace number $ws8
153 bindsym $mod+9 workspace number $ws9
154 bindsym $mod+0 workspace number $ws10
155 
156 # move focused container to workspace
157 bindsym $mod+Shift+1 move container to workspace number $ws1
158 bindsym $mod+Shift+2 move container to workspace number $ws2
159 bindsym $mod+Shift+3 move container to workspace number $ws3
160 bindsym $mod+Shift+4 move container to workspace number $ws4
161 bindsym $mod+Shift+5 move container to workspace number $ws5
162 bindsym $mod+Shift+6 move container to workspace number $ws6
163 bindsym $mod+Shift+7 move container to workspace number $ws7
164 bindsym $mod+Shift+8 move container to workspace number $ws8
165 bindsym $mod+Shift+9 move container to workspace number $ws9
166 bindsym $mod+Shift+0 move container to workspace number $ws10
167 
168 # reload the configuration file
169 bindsym $mod+Shift+c reload
170 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
171 bindsym $mod+Shift+r restart
172 # exit i3 (logs you out of your X session)
173 bindsym $mod+Shift+e exec "i3-nagbar -f $font -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'"
174 
175 # resize window (you can also use the mouse for that)
176 mode "resize" {
177         # These bindings trigger as soon as you enter the resize mode
178 
179         # Pressing left will shrink the window’s width.
180         # Pressing right will grow the window’s width.
181         # Pressing up will shrink the window’s height.
182         # Pressing down will grow the window’s height.
183         # same bindings, but for the arrow keys
184         bindsym Left resize shrink width 10 px
185         bindsym Down resize grow height 10 px
186         bindsym Up resize shrink height 10 px
187         bindsym Right resize grow width 10 px
188 
189         # back to normal: Enter or Escape or $mod+r
190         bindsym Return mode "default"
191         bindsym Escape mode "default"
192         bindsym $mod+r mode "default"
193 }
194 
195 bindsym $mod+r mode "resize"
196 
197 # Start i3bar to display a workspace bar (plus the system information i3status
198 # finds out, if available)
199 bar {
200         status_command i3blocks
201           i3bar_command i3bar --transparency
202           position top
203           tray_output none
204         colors {
205                 background $in-bgcolor
206                 separator #A9A9A9
207                 #                       border          background      text
208                 focused_workspace       $bgcolor        $bgcolor        $text
209                 inactive_workspace      $in-bgcolor     $in-bgcolor     $text
210                 urgent_workspace        $u-bgcolor      $u-bgcolor      $text
211         }
212 }
213 
214 # 窗口的色彩方案
215 set $bgcolor    #333439FF
216 set $in-bgcolor #202020A0
217 set $text       #ffffff
218 set $u-bgcolor  #ff0000
219 set $indicator  #FCE94F80
220 set $in-text    #969696D0
221 #                       边框            背景            文本            指示器(显示下一个窗口位置的线条)
222 client.focused          $bgcolor        $bgcolor        $text           $indicator
223 client.unfocused        $in-bgcolor     $in-bgcolor     $in-text        $in-bgcolor
224 client.focused_inactive $in-bgcolor     $in-bgcolor     $in-text        $in-bgcolor
225 client.urgent           $u-bgcolor      $u-bgcolor      $text           $u-bgcolor