dotfiles/.config/i3/config

203 lines
6.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Roboto, Bold 10
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec rofi -show run
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+Shift+q focus parent
# switch to workspace
bindsym $mod+ampersand workspace number 1
bindsym $mod+eacute workspace number 2
bindsym $mod+quotedbl workspace number 3
bindsym $mod+apostrophe workspace number 4
bindsym $mod+parenleft workspace number 5
bindsym $mod+minus workspace number 6
bindsym $mod+egrave workspace number 7
bindsym $mod+underscore workspace number 8
bindsym $mod+ccedilla workspace number 9
bindsym $mod+agrave workspace number 10
# move focused container to workspace
bindsym $mod+Shift+ampersand move container to workspace 1
bindsym $mod+Shift+eacute move container to workspace 2
bindsym $mod+Shift+quotedbl move container to workspace 3
bindsym $mod+Shift+apostrophe move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+minus move container to workspace 6
bindsym $mod+Shift+egrave move container to workspace 7
bindsym $mod+Shift+underscore move container to workspace 8
bindsym $mod+Shift+ccedilla move container to workspace 9
bindsym $mod+Shift+agrave move container to workspace 10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
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'"
# no border nor title
new_window none
# hide borders when touching edges
hide_edge_borders both
#do not sync mouse position and focus
focus_follows_mouse no
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
# 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
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#put workspace 1 on main screen
workspace 1 output DVI-D-0
workspace 2 output HDMI-0
workspace 3 output DVI-D-0
workspace 4 output HDMI-0
#start compositor
exec --no-startup-id compton
#start polybar
exec_always --no-startup-id $HOME/.config/polybar/scripts/launch_polybar.sh
#fr
exec setxkbmap fr
#numlock
exec numlockx on
#popup config Firefox / Terminator / General Purpose
for_window [window_role="Steam"] floating enable
for_window [window_role="About"] floating enable
for_window [window_role="Organizer"] floating enable
for_window [title="^Terminator *"] floating enable
for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [title="Preferences$"] floating enable
set $Locker ~/.config/i3/lock/lock.sh
#Just lock the screen
bindsym $mod+l exec --no-startup-id $Locker && sleep 1
#Lock and suspend to RAM
bindsym $mod+Shift+l exec --no-startup-id $Locker && echo mem > /sys/power/state
exec_always --no-startup-id xset dpms 600
exec_always --no-startup-id xautolock -time 9 -locker $Locker
#Notifications
exec --no-startup-id dunst
#i3 gaps
gaps inner 10
gaps outer 0
smart_gaps on
#Volume keys
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set 'Master' 5%+
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set 'Master' 5%-
bindsym XF86AudioMute exec --no-startup-id amixer set 'Master' toggle
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioPrev exec --no-startup-ip playerctl prev
bindsym XF86AudioNext exec --no-startup-id playerctl next
#Open explorer without last tabs
bindsym Mod4+e exec spacefm -n
#Open explorer with last tabs (sym to Ctrl+T, Ctrl+Maj+T)
bindsym Mod4+Shift+e exec spacefm
#Gamma, color temp and brightness night adjuster
exec --no-startup-id redshift-gtk
# Set ALSA initial volume
exec-always --no-startup-id
for_window [class="Claudia"] move container to workspace 4
for_window [class="Cadence"] floating enable; move container to workspace 3
for_window [class="Non-Mixer"] move container to workspace 4
for_window [class="Ardour"] move container to workspace 3
for_window [title="Pianoteq*"] move container to workspace 3
# Cadence will take care of all we need :
# - Config tells Cadence to start LADISH, export MIDI hw and start A2J ;
# - LADISH implies JACK starts, then it will starts needed apps (e.g. Non-Mixer)
exec --no-startup-id cadence-session-start --start
# Automate port mapping for applications
exec --no-startup-id jack-matchmaker -p ~/.config/jack-matchmaker/patterns