debian-dots

dotfiles (does the obvious)
git clone [email protected]:dracuxan/debian-dots.git
Log | Files | Refs | README | LICENSE

config (7104B)


      1 # Base
      2 set $mod Mod4
      3 font pango:JetBrainsMono Nerd Font 11
      4 
      5 # Use Mouse+$mod to drag floating windows to their wanted position
      6 floating_modifier $mod
      7 
      8 # Autostart
      9 exec --no-startup-id xset r rate 200 30
     10 exec --no-startup-id dex --autostart --environment i3
     11 exec --no-startup-id blueman-applet
     12 exec --no-startup-id xinput set-prop 15 "libinput Natural Scrolling Enabled" 1
     13 exec --no-startup-id xset -dpms
     14 exec --no-startup-id xset s off
     15 exec --no-startup-id dunst
     16 exec --no-startup-id rumno daemon --foreground
     17 exec --no-startup-id autorandr --change
     18 exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
     19 exec --no-startup-id nm-applet
     20 exec --no-startup-id /home/dracuxan/Source/eww/target/release/eww open activate-linux
     21 
     22 # Startup commands
     23 exec --no-startup-id sleep 3 && /home/dracuxan/.local/bin/setup_monitors; /home/dracuxan/.local/bin/set_wallpaper
     24 exec --no-startup-id caps_watch
     25 exec --no-startup-id fusuma
     26 
     27 # Media + Brightness
     28 # Volume control with PipeWire (wpctl)
     29 bindsym XF86AudioRaiseVolume exec --no-startup-id volume_control up
     30 bindsym XF86AudioLowerVolume exec --no-startup-id volume_control down
     31 bindsym XF86AudioMute exec --no-startup-id volume_control mute
     32 
     33 # Brightness
     34 bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +10%
     35 bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 10%-
     36 
     37 # Launchers + Apps
     38 # start a terminal
     39 bindsym $mod+Return exec --no-startup-id alacritty 
     40 
     41 # start dmenu (a program launcher)
     42 bindsym $mod+d exec --no-startup-id rofi -show run -display-run '>' -m 0
     43 bindsym $mod+b exec --no-startup-id helium
     44 bindsym $mod+x exec --no-startup-id zen x.com/xandrom_app
     45 
     46 # Custom keybinds
     47 bindsym $mod+p exec sioyek
     48 
     49 # keybind for OBS
     50 bindsym $mod+o exec obs
     51 
     52 # Screenshot
     53 bindsym $mod+Shift+s exec flameshot gui
     54 
     55 # Window Focus + Movement
     56 # change focus
     57 bindsym $mod+h focus left
     58 bindsym $mod+l focus right
     59 bindsym $mod+k focus up
     60 bindsym $mod+j focus down
     61 
     62 # alternatively, you can use the cursor keys:
     63 bindsym $mod+Left focus left
     64 bindsym $mod+Down focus down
     65 bindsym $mod+Up focus up
     66 bindsym $mod+Right focus right
     67 
     68 # move focused window
     69 bindsym $mod+Shift+h move left
     70 bindsym $mod+Shift+j move down
     71 bindsym $mod+Shift+k move up
     72 bindsym $mod+Shift+l move right
     73 
     74 # alternatively, you can use the cursor keys:
     75 bindsym $mod+Shift+Left move left
     76 bindsym $mod+Shift+Down move down
     77 bindsym $mod+Shift+Up move up
     78 bindsym $mod+Shift+Right move right
     79 
     80 # focus the parent container
     81 bindsym $mod+a focus parent
     82 
     83 # focus the child container
     84 # bindsym $mod+d focus child
     85 
     86 # kill focused window
     87 bindsym $mod+q kill
     88 
     89 # toggle between last focused window
     90 bindsym Mod1+Tab focus right
     91 bindsym Mod1+Shift+Tab focus left
     92 
     93 # change focus between tiling / floating windows
     94 bindsym $mod+space focus mode_toggle
     95 
     96 # move window to center
     97 bindsym $mod+c move position center
     98 
     99 # Layout + Containers
    100 # split in horizontal orientation
    101 bindsym $mod+semicolon split h
    102 
    103 # split in vertical orientation
    104 bindsym $mod+v split v
    105 
    106 # enter fullscreen mode for the focused container
    107 bindsym $mod+f fullscreen toggle
    108 
    109 # change container layout (stacked, tabbed, toggle split)
    110 bindsym $mod+s layout stacking
    111 bindsym $mod+w layout tabbed
    112 bindsym $mod+e layout toggle split
    113 
    114 # change wallpaper
    115 bindsym $mod+Shift+w exec --no-startup-id set_wallpaper --select
    116 
    117 # toggle tiling / floating
    118 bindsym $mod+Shift+space floating toggle
    119 
    120 # Workspaces
    121 # Define names for default workspaces for which we configure key bindings later on.
    122 # We use variables to avoid repeating the names in multiple places.
    123 set $ws1 "1"
    124 set $ws2 "2"
    125 set $ws3 "3"
    126 set $ws4 "4"
    127 set $ws5 "5"
    128 set $ws5 "5"
    129 set $ws6 "6"
    130 
    131 # Bind workspaces to outputs
    132 workspace 6 output eDP
    133 
    134 # switch to workspace
    135 bindsym $mod+1 workspace number $ws1
    136 bindsym $mod+2 workspace number $ws2
    137 bindsym $mod+3 workspace number $ws3
    138 bindsym $mod+4 workspace number $ws4
    139 bindsym $mod+5 workspace number $ws5
    140 bindsym $mod+6 workspace number $ws6
    141 
    142 # move focused container to workspace
    143 bindsym $mod+Shift+1 move container to workspace number $ws1
    144 bindsym $mod+Shift+2 move container to workspace number $ws2
    145 bindsym $mod+Shift+3 move container to workspace number $ws3
    146 bindsym $mod+Shift+4 move container to workspace number $ws4
    147 bindsym $mod+Shift+5 move container to workspace number $ws5
    148 bindsym $mod+Shift+6 move container to workspace number $ws6
    149 
    150 # switch to last used workspace
    151 bindsym $mod+Tab workspace back_and_forth
    152 
    153 # change focus to next workspace
    154 bindsym $mod+n workspace next
    155 # bindsym $mod+Shift+n workspace previous
    156 
    157 # Session Control
    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-msg exit"
    164 
    165 # Increase inner gaps
    166 bindsym $mod+g gaps inner current plus 5
    167 
    168 # Decrease inner gaps
    169 bindsym $mod+Shift+g gaps inner current minus 5
    170 
    171 # resize windows to a custom size
    172 bindsym $mod+Shift+m resize set width 35 ppt
    173 bindsym $mod+Shift+n resize set width 50 ppt
    174 
    175 # Modes
    176 # resize window (you can also use the mouse for that)
    177 mode "resize" {
    178         bindsym h resize shrink width 10 px or 10 ppt
    179         bindsym j resize grow height 10 px or 10 ppt
    180         bindsym k resize shrink height 10 px or 10 ppt
    181         bindsym l resize grow width 10 px or 10 ppt
    182         bindsym Left resize shrink width 10 px or 10 ppt
    183         bindsym Down resize grow height 10 px or 10 ppt
    184         bindsym Up resize shrink height 10 px or 10 ppt
    185         bindsym Right resize grow width 10 px or 10 ppt
    186         bindsym Return mode "default"
    187         bindsym Escape mode "default"
    188         bindsym $mod+r mode "default"
    189 }
    190 
    191 bindsym $mod+r mode "resize"
    192 
    193 # Bar
    194 bar {
    195     i3bar_command i3bar -t
    196     status_command i3status
    197     modifier Mod5
    198     position top 
    199     strip_workspace_numbers yes
    200     height 25
    201     font pango:JetBrainsMono Nerd Font 10
    202     tray_output none
    203 
    204     colors {
    205         background #00000000
    206         statusline #ffcfa8
    207         separator  #999ecf
    208 
    209                               #<border>      <background>     <text>
    210         focused_workspace      $black        #00000000        #ffffff
    211         active_workspace       #00000000     #00000000        #ffcfa8
    212         inactive_workspace     #00000000     #00000000        #cccccc
    213         urgent_workspace       $black        #00000000        #ff5555
    214     }
    215 }
    216 
    217 # hide bar
    218 bindsym $mod+m bar mode toggle
    219 
    220 # Appearance
    221 # Colorscheme
    222 
    223 # Focused window (active)
    224 client.focused         #999ecf #999ecf #000000 #999ecf #999ecf
    225 
    226 # Unfocused windows
    227 client.unfocused        #1D1E1C #000000 #888888 #000000 #1D1E1C
    228 
    229 # mouse for focus
    230 focus_follows_mouse no
    231 mouse_warping none
    232 
    233 # No title bars, but keep thin highlight border
    234 default_border pixel 1
    235 default_floating_border pixel 1
    236 
    237 # Force all new windows into tabbed layout
    238 workspace_layout tabbed
    239 
    240 # Gaps
    241 # Set space between windows and screen edges
    242 gaps outer 0
    243 
    244 # Set space between windows
    245 gaps inner 0
    246 
    247 # Rules
    248 assign [class="workfolio"]  workspace 6
    249 for_window [class="gnuplot_qt"] floating enable
    250 for_window [class="feh"] floating enable