dotfiles

Personal dotfiles
git clone git://git.laack.co/dotfiles.git
Log | Files | Refs

config (8209B)


      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 Mod4
     13 
     14 # Font for window titles. Will also be used by the bar unless a different font
     15 # is used in the bar {} block below.
     16 font pango:FiraCode 12
     17 font pango:FiraCode 10
     18 
     19 # This font is widely installed, provides lots of unicode glyphs, right-to-left
     20 # text rendering and scalability on retina/hidpi displays (thanks to pango).
     21 #font pango:DejaVu Sans Mono 8
     22 
     23 # Start XDG autostart .desktop files using dex. See also
     24 # https://wiki.archlinux.org/index.php/XDG_Autostart
     25 exec --no-startup-id dex --autostart --environment i3
     26 
     27 # The combination of xss-lock, nm-applet and pactl is a popular choice, so
     28 # they are included here as an example. Modify as you see fit.
     29 
     30 # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
     31 # screen before suspend. Use loginctl lock-session to lock your screen.
     32 exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
     33 
     34 # NetworkManager is the most popular way to manage wireless networks on Linux,
     35 # and nm-applet is a desktop environment-independent system tray GUI for it.
     36 exec --no-startup-id nm-applet
     37 #exec picom
     38 
     39 # Use pactl to adjust volume in PulseAudio.
     40 set $refresh_i3status killall -SIGUSR1 i3status
     41 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
     42 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
     43 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
     44 bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
     45 
     46 # Use Mouse+$mod to drag floating windows to their wanted position
     47 floating_modifier $mod
     48 
     49 # move tiling windows via drag & drop by left-clicking into the title bar,
     50 # or left-clicking anywhere into the window while holding the floating modifier.
     51 tiling_drag modifier titlebar
     52 
     53 # start a terminal
     54 bindsym $mod+Return exec i3-sensible-terminal
     55 
     56 # kill focused window
     57 bindsym $mod+Shift+q kill
     58 
     59 ####### DMENU #######
     60 
     61 bindsym $mod+o exec --no-startup-id ~/bin/dmenu.sh "#000000" "#FFFFFF" "#AAAAAA"
     62 bindsym $mod+e exec --no-startup-id ~/bin/power.sh "#000000" "#FFFFFF" "#AAAAAA"
     63 bindsym $mod+p exec --no-startup-id ~/bin/pass.sh "#000000" "#FFFFFF" "#AAAAAA"
     64 bindsym $mod+t exec --no-startup-id ~/bin/tmux.sh "#000000" "#FFFFFF" "#AAAAAA"
     65 bindsym $mod+z exec --no-startup-id ~/bin/zathura.sh "#000000" "#FFFFFF" "#AAAAAA"
     66 bindsym $mod+m exec --no-startup-id ~/bin/find-music.sh "/home/serverBackup/fileSharing/music/" "#000000" "#FFFFFF" "#AAAAAA"
     67 bindsym $mod+w exec --no-startup-id ~/bin/init-screen.sh "#000000" "#FFFFFF" "#AAAAAA"
     68 
     69 ####### DMENU #######
     70 
     71 bindsym $mod+l exec i3lock -c 000000
     72 
     73 # A more modern dmenu replacement is rofi:
     74 # bindcode $mod+40 exec "rofi -modi drun,run -show drun"
     75 # There also is i3-dmenu-desktop which only displays applications shipping a
     76 # .desktop file. It is a wrapper around dmenu, so you need that installed.
     77 # bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
     78 
     79 bindsym $mod+Left focus left
     80 bindsym $mod+Down focus down
     81 bindsym $mod+Up focus up
     82 bindsym $mod+Right focus right
     83 
     84 bindsym $mod+Shift+Left move left
     85 bindsym $mod+Shift+Down move down
     86 bindsym $mod+Shift+Up move up
     87 bindsym $mod+Shift+Right move right
     88 
     89 
     90 bindsym $mod+h split h
     91 bindsym $mod+v split v
     92 
     93 # enter fullscreen mode for the focused container
     94 bindsym $mod+f fullscreen toggle
     95 
     96 # change container layout (stacked, tabbed, toggle split)
     97 bindsym $mod+s layout stacking
     98 # bindsym $mod+w layout tabbed
     99 # normal mode
    100 bindsym $mod+n layout toggle split
    101 
    102 # toggle tiling / floating
    103 bindsym $mod+Shift+space floating toggle
    104 bindsym $mod+Shift+s exec flameshot gui
    105 
    106 # change focus between tiling / floating windows
    107 bindsym $mod+space focus mode_toggle
    108 
    109 # focus the parent container
    110 bindsym $mod+a focus parent
    111 
    112 # focus the child container
    113 #bindsym $mod+d focus child
    114 
    115 # Define names for default workspaces for which we configure key bindings later on.
    116 # We use variables to avoid repeating the names in multiple places.
    117 set $ws1 "1 - Messaging"
    118 set $ws2 "2 - Code"
    119 set $ws3 "3 - Browser"
    120 set $ws4 "4"
    121 set $ws5 "5"
    122 set $ws6 "6"
    123 set $ws7 "7"
    124 set $ws8 "8"
    125 set $ws9 "9"
    126 set $ws10 "10"
    127 
    128 # switch to workspace
    129 bindsym $mod+1 workspace number $ws1
    130 bindsym $mod+2 workspace number $ws2
    131 bindsym $mod+3 workspace number $ws3
    132 bindsym $mod+4 workspace number $ws4
    133 bindsym $mod+5 workspace number $ws5
    134 bindsym $mod+6 workspace number $ws6
    135 bindsym $mod+7 workspace number $ws7
    136 bindsym $mod+8 workspace number $ws8
    137 bindsym $mod+9 workspace number $ws9
    138 bindsym $mod+0 workspace number $ws10
    139 
    140 # move focused container to workspace
    141 bindsym $mod+Shift+1 move container to workspace number $ws1
    142 bindsym $mod+Shift+2 move container to workspace number $ws2
    143 bindsym $mod+Shift+3 move container to workspace number $ws3
    144 bindsym $mod+Shift+4 move container to workspace number $ws4
    145 bindsym $mod+Shift+5 move container to workspace number $ws5
    146 bindsym $mod+Shift+6 move container to workspace number $ws6
    147 bindsym $mod+Shift+7 move container to workspace number $ws7
    148 bindsym $mod+Shift+8 move container to workspace number $ws8
    149 bindsym $mod+Shift+9 move container to workspace number $ws9
    150 bindsym $mod+Shift+0 move container to workspace number $ws10
    151 
    152 # reload the configuration file
    153 bindsym $mod+Shift+c reload
    154 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
    155 bindsym $mod+Shift+r restart
    156 # exit i3 (logs you out of your X session)
    157 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'"
    158 
    159 # resize window (you can also use the mouse for that)
    160 mode "resize" {
    161         # These bindings trigger as soon as you enter the resize mode
    162 
    163         # Pressing left will shrink the window’s width.
    164         # Pressing right will grow the window’s width.
    165         # Pressing up will shrink the window’s height.
    166         # Pressing down will grow the window’s height.
    167         bindsym j resize shrink width 10 px or 10 ppt
    168         bindsym k resize grow height 10 px or 10 ppt
    169         bindsym l resize shrink height 10 px or 10 ppt
    170         bindsym semicolon resize grow width 10 px or 10 ppt
    171 
    172         # same bindings, but for the arrow keys
    173         bindsym Left resize shrink width 10 px or 10 ppt
    174         bindsym Down resize grow height 10 px or 10 ppt
    175         bindsym Up resize shrink height 10 px or 10 ppt
    176         bindsym Right resize grow width 10 px or 10 ppt
    177 
    178         # back to normal: Enter or Escape or $mod+r
    179         bindsym Return mode "default"
    180         bindsym Escape mode "default"
    181         bindsym $mod+r mode "default"
    182 }
    183 
    184 bindsym $mod+r mode "resize"
    185 
    186 # Start i3bar to display a workspace bar (plus the system information i3status
    187 # finds out, if available)
    188 
    189 
    190 # class                 border  bground text    indicator child_border
    191 client.focused          #FFFFFF #FFFFFF #FFFFFF #0000FF	  #FFFFFF
    192 client.focused_inactive #000000 #000000 #000000 #000000   #000000
    193 client.unfocused        #000000 #000000 #000000 #000000   #000000
    194 client.urgent           #000000 #000000 #000000 #000000   #000000
    195 client.placeholder      #000000 #000000 #000000 #000000   #000000
    196 
    197 client.background       #000000
    198 
    199 # this runs a script to take my current clipboard and send it to mpv. This allows me to copy
    200 # a youtube url and then watch it in mpv with a shortcut.
    201 bindsym $mod+Shift+m exec "~/bin/mpv.sh"
    202 bindsym $mod+Shift+w exec qutebrowser
    203 
    204 for_window [class="^.*"] border pixel 5
    205 
    206 bar {
    207 
    208     position top
    209     status_command i3status
    210     font pango:FiraCode 12
    211     colors {
    212         background #000000
    213         statusline #ffffff
    214 
    215         focused_workspace #000000 #000000 #ffffff
    216         active_workspace #6e4f9a #6e4f9a  #ffffff
    217         inactive_workspace #000000 #000000 #888888
    218         urgent_workspace #ff6c6b #ff6c6b #ffffff
    219     }
    220 }