dotfiles

My dotfiles.
git clone git://git.ryanmj.xyz/dotfiles.git
Log | Files | Refs | LICENSE

config (7043B)


      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 Mod4
     13 gaps inner 15
     14 gaps outer 15
     15 
     16 # Thinkpad multimedia keys
     17 
     18 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
     19 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
     20 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
     21 bindsym $mod+e exec --no-startup-id nemo
     22 
     23 # Font for window titles. Will also be used by the bar unless a different font
     24 # is used in the bar {} block below.
     25 font pango:Deja Vu Sans Mono:style=regular
     26 
     27 # This font is widely installed, provides lots of unicode glyphs, right-to-left
     28 # text rendering and scalability on retina/hidpi displays (thanks to pango).
     29 #font pango:DejaVu Sans Mono 8
     30 
     31 # Before i3 v4.8, we used to recommend this one as the default:
     32 # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
     33 # The font above is very space-efficient, that is, it looks good, sharp and
     34 # clear in small sizes. However, its unicode glyph coverage is limited, the old
     35 # X core fonts rendering does not support right-to-left and this being a bitmap
     36 # font, it doesn’t scale on retina/hidpi displays.
     37 
     38 # Use Mouse+$mod to drag floating windows to their wanted position
     39 floating_modifier $mod
     40 
     41 # start a terminal
     42 bindsym $mod+Return exec st
     43 # kill focused window
     44 bindsym $mod+Shift+q kill
     45 
     46 workspace_layout default
     47 
     48 # start dmenu (a program launcher)
     49 bindsym $mod+d exec dmenu_run
     50 # There also is the (new) i3-dmenu-desktop which only displays applications
     51 # shipping a .desktop file. It is a wrapper around dmenu, so you need that
     52 # installed.
     53 # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
     54 
     55 # change focus
     56 #bindsym $mod+j focus left
     57 #bindsym $mod+k focus down
     58 #bindsym $mod+l focus up
     59 #bindsym $mod+semicolon focus right
     60 
     61 # for window, order sometimes matters
     62 for_window [class="^.*"] border pixel 1
     63 
     64 new_window 1pixel
     65 
     66 # alternatively, you can use the cursor keys:
     67 bindsym $mod+Left focus left
     68 bindsym $mod+Down focus down
     69 bindsym $mod+Up focus up
     70 bindsym $mod+Right focus right
     71 
     72 # move focused window
     73 bindsym $mod+Shift+j move left
     74 bindsym $mod+Shift+k move down
     75 bindsym $mod+Shift+l move up
     76 bindsym $mod+Shift+semicolon move right
     77 
     78 # alternatively, you can use the cursor keys:
     79 bindsym $mod+Shift+Left move left
     80 bindsym $mod+Shift+Down move down
     81 bindsym $mod+Shift+Up move up
     82 bindsym $mod+Shift+Right move right
     83 bindsym $mod+m exec --no-startup-id emacsclient -c -e '(mu4e)'
     84 bindsym $mod+k exec --no-startup-id emacsclient -c -e '(elfeed)'
     85 
     86 # split in horizontal orientation
     87 bindsym $mod+h split h
     88 
     89 # split in vertical orientation
     90 bindsym $mod+v split v
     91 
     92 # enter fullscreen mode for the focused container
     93 bindsym $mod+f fullscreen toggle
     94 
     95 # change container layout (stacked, tabbed, toggle split)
     96 bindsym $mod+s layout stacking
     97 bindsym $mod+w layout tabbed
     98 bindsym $mod+semicolon layout toggle split
     99 
    100 # toggle tiling / floating
    101 bindsym $mod+Shift+space floating toggle
    102 
    103 # change focus between tiling / floating windows
    104 bindsym $mod+space focus mode_toggle
    105 
    106 # focus the parent container
    107 bindsym $mod+a focus parent
    108 
    109 # focus the child container
    110 #bindsym $mod+d focus child
    111 
    112 # Define names for default workspaces for which we configure key bindings later on.
    113 # We use variables to avoid repeating the names in multiple places.
    114 set $ws1 "1:Web"
    115 set $ws2 "2:>_"
    116 set $ws3 "3:>_"
    117 set $ws4 "4:>_"
    118 set $ws5 "5:Disc"
    119 set $ws6 "6:>_"
    120 set $ws7 "7:>_"
    121 set $ws8 "8:Music"
    122 set $ws9 "9:Mail"
    123 set $ws10 "10:Steam"
    124 
    125 # switch to workspace
    126 bindsym $mod+1 workspace $ws1
    127 bindsym $mod+2 workspace $ws2
    128 bindsym $mod+3 workspace $ws3
    129 bindsym $mod+4 workspace $ws4
    130 bindsym $mod+5 workspace $ws5
    131 bindsym $mod+6 workspace $ws6
    132 bindsym $mod+7 workspace $ws7
    133 bindsym $mod+8 workspace $ws8
    134 bindsym $mod+9 workspace $ws9
    135 bindsym $mod+0 workspace $ws10
    136 
    137 assign [class="firefox"] $ws9
    138 assign [class="brave"] $ws1
    139 assign [class="emacs"] $ws6
    140 assign [class="discord"] $ws5
    141 assign [class="Steam"] $ws10
    142 assign [class="Chromium"] $ws9
    143 
    144 
    145 
    146 # move focused container to workspace
    147 bindsym $mod+Shift+1 move container to workspace $ws1
    148 bindsym $mod+Shift+2 move container to workspace $ws2
    149 bindsym $mod+Shift+3 move container to workspace $ws3
    150 bindsym $mod+Shift+4 move container to workspace $ws4
    151 bindsym $mod+Shift+5 move container to workspace $ws5
    152 bindsym $mod+Shift+6 move container to workspace $ws6
    153 bindsym $mod+Shift+7 move container to workspace $ws7
    154 bindsym $mod+Shift+8 move container to workspace $ws8
    155 bindsym $mod+Shift+9 move container to workspace $ws9
    156 bindsym $mod+Shift+0 move container to workspace $ws10
    157 
    158 # reload the configuration file
    159 bindsym $mod+Shift+c reload
    160 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
    161 bindsym $mod+Shift+r restart
    162 # exit i3 (logs you out of your X session)
    163 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'"
    164 
    165 bindsym $mod+b exec --no-startup-id i3-msg 'workspace $ws1; exec /usr/bin/firefox'
    166 
    167 # resize window (you can also use the mouse for that)
    168 mode "resize" {
    169         # These bindings trigger as soon as you enter the resize mode
    170 
    171         # Pressing left will shrink the window’s width.
    172         # Pressing right will grow the window’s width.
    173         # Pressing up will shrink the window’s height.
    174         # Pressing down will grow the window’s height.
    175         bindsym j resize shrink width 10 px or 10 ppt
    176         bindsym k resize grow height 10 px or 10 ppt
    177         bindsym l resize shrink height 10 px or 10 ppt
    178         bindsym semicolon resize grow width 10 px or 10 ppt
    179 
    180         # same bindings, but for the arrow keys
    181         bindsym Left resize shrink width 10 px or 10 ppt
    182         bindsym Down resize grow height 10 px or 10 ppt
    183         bindsym Up resize shrink height 10 px or 10 ppt
    184         bindsym Right resize grow width 10 px or 10 ppt
    185 
    186         # back to normal: Enter or Escape or $mod+r
    187         bindsym Return mode "default"
    188         bindsym Escape mode "default"
    189         bindsym $mod+r mode "default"
    190 }
    191 
    192 bindsym $mod+r mode "resize"
    193 
    194 # Start i3bar to display a workspace bar (plus the system information i3status
    195 # finds out, if available)
    196 #bar {
    197 #         position top
    198 #         status_command i3status
    199 # }
    200 
    201 bindsym $mod+p exec --no-startup-id mpc toggle
    202 bindsym $mod+n exec --no-startup-id mpc next
    203 bindsym $mod+l exec --no-startup-id mpc prev
    204 bindsym $mod+o exec --no-startup-id mpc shuffle
    205 bindsym $mod+y exec --no-startup-id st -e zsh -ic ncmpcpp
    206 bindsym $mod+t exec --no-startup-id st -e zsh -ic htop
    207 
    208 
    209 exec --no-startup-id wal -i $(/home/ryan/src/scripts/ranwal)
    210 
    211 exec --no-startup-id picom -b
    212 
    213 exec --no-startup-id sleep 3s && /home/ryan/src/scripts/init-polybar.sh
    214 
    215 exec --no-startup-id /usr/bin/dunst
    216 
    217