diff --git a/i3/conf.d/05-modes.conf b/i3/conf.d/05-modes.conf new file mode 100644 index 0000000..4eda2e5 --- /dev/null +++ b/i3/conf.d/05-modes.conf @@ -0,0 +1,76 @@ +# resize window (you can also use the mouse for that) +mode "resize" { + bindsym t resize shrink width 10 px or 10 ppt + bindsym s resize grow height 10 px or 10 ppt + bindsym r resize shrink height 10 px or 10 ppt + bindsym n resize grow width 10 px or 10 ppt + + # 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" +} + +mode "move" { + set $normal 50 + set $withshift 5 + set $withcontrol 100 + set $withmod 200 + + bindsym t move left $normal px + bindsym s move down $normal px + bindsym r move up $normal px + bindsym n move right $normal px + + bindsym Left move left $normal px + bindsym Down move down $normal px + bindsym Up move up $normal px + bindsym Right move right $normal px + + bindsym Shift+t move left $withshift px + bindsym Shift+s move down $withshift px + bindsym Shift+r move up $withshift px + bindsym Shift+n move right $withshift px + + bindsym Shift+Left move left $withshift px + bindsym Shift+Down move down $withshift px + bindsym Shift+Up move up $withshift px + bindsym Shift+Right move right $withshift px + + bindsym Control+t move left $withcontrol px + bindsym Control+s move down $withcontrol px + bindsym Control+r move up $withcontrol px + bindsym Control+n move right $withcontrol px + + bindsym Control+Left move left $withcontrol px + bindsym Control+Down move down $withcontrol px + bindsym Control+Up move up $withcontrol px + bindsym Control+Right move right $withcontrol px + + bindsym $mod+t move left $withmod px + bindsym $mod+s move down $withmod px + bindsym $mod+r move up $withmod px + bindsym $mod+n move right $withmod px + + bindsym $mod+Left move left $withmod px + bindsym $mod+Down move down $withmod px + bindsym $mod+Up move up $withmod px + bindsym $mod+Right move right $withmod px + + bindsym Return mode "default" + bindsym Escape mode "default" +} + +mode "launch" { + bindsym f exec firefox; mode "default" + bindsym t exec thunderbird; mode "default" + bindsym s exec steam; mode "default" + + bindsym Escape mode "default" + bindsym Return mode "default" +} diff --git a/i3/conf.d/10-keybindings.conf b/i3/conf.d/10-keybindings.conf new file mode 100644 index 0000000..595f085 --- /dev/null +++ b/i3/conf.d/10-keybindings.conf @@ -0,0 +1,146 @@ +# start a terminal +bindsym $mod+Return exec alacritty + +bindsym $mod+b exec i3lock -i ~/.config/i3/matrix.png -t + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +bindsym $mod+i exec rofi -show + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# 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 + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move 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 + +bindsym $mod+Control+t focus output left +bindsym $mod+Control+n focus output right + +bindsym $mod+Control+Left move workspace to output left +bindsym $mod+Control+Right move workspace to output right + +# split in horizontal orientation +bindsym $mod+c split h + +# split in vertical orientation +bindsym $mod+period split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+u layout stacking +bindsym $mod+t layout tabbed +bindsym $mod+p layout toggle split + +bindsym $mod+z sticky toggle + +# toggle tiling / floating +bindsym $mod+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+Shift+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# switch to workspace +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + +bindsym $mod+Tab workspace next_on_output +bindsym $mod+Shift+Tab workspace prev_on_output + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +bindsym $mod+Shift+6 move container to workspace 6 +bindsym $mod+Shift+7 move container to workspace 7 +bindsym $mod+Shift+8 move container to workspace 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 + +# reload the configuration file +bindsym $mod+Shift+x reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+o restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+p 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'" + +# dunst +bindsym Control+space exec dunstctl close +bindsym Control+Shift+space exec dunstctl close-all +bindsym Control+grave exec dunstctl history-pop +bindsym Control+period exec dunstctl context + +# scratchpad +bindsym $mod+Shift+grave move scratchpad +bindsym $mod+grave scratchpad show + +bindsym $mod+o mode "resize" +bindsym $mod+m mode "move" +bindsym $mod+e mode "launch" + +bindsym XF86Calculator exec "alacritty --class Alacritty,Float" + +bindsym XF86HomePage workspace $ws_browser_1 +bindsym $mod+XF86HomePage workspace $ws_browser_2 + +bindsym $mod+Shift+XF86HomePage move container to workspace $ws_browser_1 +bindsym $mod+Control+XF86HomePage move container to workspace $ws_browser_2 + +bindsym XF86Mail workspace $ws_mail +bindsym $mod+Shift+XF86Mail move container to workspace $ws_mail + +bindsym $mod+XF86Mail workspace $ws_im +bindsym $mod+Control+XF86Mail move container to workspace $ws_im + +# Pulse Audio controls +bindsym XF86AudioRaiseVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.05+ && pkill -RTMIN+10 i3blocks" +bindsym XF86AudioLowerVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.05- && pkill -RTMIN+10 i3blocks" + +bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.02+ && pkill -RTMIN+10 i3blocks" +bindsym Shift+XF86AudioLowerVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.02- && pkill -RTMIN+10 i3blocks" + +bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks" + +# Media player controls +bindsym XF86AudioPlay exec --no-startup-id mpc toggle +bindsym XF86AudioNext exec --no-startup-id mpc next +bindsym XF86AudioPrev exec --no-startup-id mpc prev + +bindsym Print exec "flameshot gui" diff --git a/i3/conf.d/20-apps.conf b/i3/conf.d/20-apps.conf new file mode 100644 index 0000000..b302447 --- /dev/null +++ b/i3/conf.d/20-apps.conf @@ -0,0 +1,24 @@ +assign [class="^firefox" instance="^Navigator$"] workspace $ws_browser_1 +assign [class="^org.mozilla.Thunderbird$"] workspace $ws_mail + +assign [class="^Alacritty$" instance="^lucy-code$"] workspace 1 +assign [class="^Alacritty$" instance="^lucy-server$"] workspace 6 +assign [class="^URxvt$" instance="-code$"] workspace 3 +assign [class="^URxvt$" instance="^lesportecles-rails$"] workspace 8 +assign [class="^URxvt$" instance="-server$"] workspace 8 +assign [class="^xfreerdp$"] workspace 8 +assign [class="^Microsoft Teams" title="Microsoft Teams(?! Notification)"] workspace $ws_im +assign [class="^steam$"] workspace $ws_steam +assign [class="^net.lutris.Lutris$"] workspace $ws_lutris +assign [class="^Mattermost$"] workspace $ws_im +assign [class="^discord$"] workspace $ws_im + +for_window [class="^Gcolor3$"] floating enable +for_window [class="^Alacritty$" instance="^Float$"] floating enable +for_window [class="^mpv$"] floating enable +for_window [class="^Pinentry$"] floating enable +for_window [class="^TeamViewer$"] floating enable +for_window [title="Microsoft Teams Notification"] floating enable, sticky enable +for_window [title="^Steam - News"] floating enable +for_window [title="^Origin$"] floating enable +for_window [class="Yad"] floating enable diff --git a/i3/config b/i3/config new file mode 100644 index 0000000..10f805e --- /dev/null +++ b/i3/config @@ -0,0 +1,24 @@ +set $mod Mod4 +set $leftoutput DP-3 +set $rightoutput HDMI-0 + +set $ws_browser_1 10:browser:1 +set $ws_browser_2 11:browser:2 +set $ws_steam steam +set $ws_lutris lutris +set $ws_mail 12:mail +set $ws_im 13:im + +font pango:monospace 8 + +floating_modifier $mod +workspace_auto_back_and_forth no +hide_edge_borders smart + +mouse_warping none + +default_border pixel 2 + +include conf.d/*.conf + +include `hostnamectl hostname`.conf diff --git a/i3/kyo.conf b/i3/kyo.conf new file mode 100644 index 0000000..a465d3c --- /dev/null +++ b/i3/kyo.conf @@ -0,0 +1 @@ +include `hostnamectl hostname`/`autorandr --current`.conf diff --git a/i3/kyo/mobile.conf b/i3/kyo/mobile.conf new file mode 100644 index 0000000..4bd246c --- /dev/null +++ b/i3/kyo/mobile.conf @@ -0,0 +1,28 @@ +set $output eDP-1 + +bar { + output $output + strip_workspace_numbers yes + font pango:DejaVu Sans Mono, FontAwesome 8 + status_command i3blocks -c ~/.config/i3blocks/left-config +} + +workspace 1 output $output +workspace 2 output $output +workspace 3 output $output +workspace 4 output $output +workspace 5 output $output + +workspace $ws_browser_1 output $output +workspace $ws_browser_2 output $output +workspace $ws_steam output $output +workspace $ws_lutris output $output + +workspace 6 output $output +workspace 7 output $output +workspace 8 output $output +workspace 9 output $output +workspace 10 output $output + +workspace $ws_mail output $output +workspace $ws_im output $output diff --git a/i3/multi/conf.d b/i3/multi/conf.d new file mode 120000 index 0000000..e5ef02d --- /dev/null +++ b/i3/multi/conf.d @@ -0,0 +1 @@ +../conf.d \ No newline at end of file diff --git a/i3/multi/config b/i3/multi/config deleted file mode 100644 index 5d18246..0000000 --- a/i3/multi/config +++ /dev/null @@ -1,306 +0,0 @@ -set $mod Mod4 -set $leftoutput DP-3 -set $rightoutput HDMI-0 - -font pango:monospace 8 - -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec alacritty - -bindsym $mod+b exec i3lock -i ~/.config/i3/matrix.png -t - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -bindsym $mod+i exec rofi -show - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right - -# 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 - -# move focused window -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move 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 - -bindsym $mod+Control+t focus output left -bindsym $mod+Control+n focus output right - -bindsym $mod+Control+Left move workspace to output left -bindsym $mod+Control+Right move workspace to output right - -# split in horizontal orientation -bindsym $mod+c split h - -# split in vertical orientation -bindsym $mod+period split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+u layout stacking -bindsym $mod+t layout tabbed -bindsym $mod+p layout toggle split - -bindsym $mod+z sticky toggle - -# toggle tiling / floating -bindsym $mod+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+Shift+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# switch to workspace -bindsym $mod+1 workspace 1 -bindsym $mod+2 workspace 2 -bindsym $mod+3 workspace 3 -bindsym $mod+4 workspace 4 -bindsym $mod+5 workspace 5 -bindsym $mod+6 workspace 6 -bindsym $mod+7 workspace 7 -bindsym $mod+8 workspace 8 -bindsym $mod+9 workspace 9 -bindsym $mod+0 workspace 10 - -bindsym $mod+Tab workspace next_on_output -bindsym $mod+Shift+Tab workspace prev_on_output - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace 1 -bindsym $mod+Shift+2 move container to workspace 2 -bindsym $mod+Shift+3 move container to workspace 3 -bindsym $mod+Shift+4 move container to workspace 4 -bindsym $mod+Shift+5 move container to workspace 5 -bindsym $mod+Shift+6 move container to workspace 6 -bindsym $mod+Shift+7 move container to workspace 7 -bindsym $mod+Shift+8 move container to workspace 8 -bindsym $mod+Shift+9 move container to workspace 9 -bindsym $mod+Shift+0 move container to workspace 10 - -# reload the configuration file -bindsym $mod+Shift+x reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+o restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+p 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'" - -# dunst -bindsym Control+space exec dunstctl close -bindsym Control+Shift+space exec dunstctl close-all -bindsym Control+grave exec dunstctl history-pop -bindsym Control+period exec dunstctl context - -# scratchpad -bindsym $mod+Shift+grave move scratchpad -bindsym $mod+grave scratchpad show - -# resize window (you can also use the mouse for that) -mode "resize" { - bindsym t resize shrink width 10 px or 10 ppt - bindsym s resize grow height 10 px or 10 ppt - bindsym r resize shrink height 10 px or 10 ppt - bindsym n resize grow width 10 px or 10 ppt - - # 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+o mode "resize" - -mode "move" { - set $normal 50 - set $withshift 5 - set $withcontrol 100 - set $withmod 200 - - bindsym t move left $normal px - bindsym s move down $normal px - bindsym r move up $normal px - bindsym n move right $normal px - - bindsym Left move left $normal px - bindsym Down move down $normal px - bindsym Up move up $normal px - bindsym Right move right $normal px - - bindsym Shift+t move left $withshift px - bindsym Shift+s move down $withshift px - bindsym Shift+r move up $withshift px - bindsym Shift+n move right $withshift px - - bindsym Shift+Left move left $withshift px - bindsym Shift+Down move down $withshift px - bindsym Shift+Up move up $withshift px - bindsym Shift+Right move right $withshift px - - bindsym Control+t move left $withcontrol px - bindsym Control+s move down $withcontrol px - bindsym Control+r move up $withcontrol px - bindsym Control+n move right $withcontrol px - - bindsym Control+Left move left $withcontrol px - bindsym Control+Down move down $withcontrol px - bindsym Control+Up move up $withcontrol px - bindsym Control+Right move right $withcontrol px - - bindsym $mod+t move left $withmod px - bindsym $mod+s move down $withmod px - bindsym $mod+r move up $withmod px - bindsym $mod+n move right $withmod px - - bindsym $mod+Left move left $withmod px - bindsym $mod+Down move down $withmod px - bindsym $mod+Up move up $withmod px - bindsym $mod+Right move right $withmod px - - bindsym Return mode "default" - bindsym Escape mode "default" -} - -bindsym $mod+m mode "move" - -set $mode_launcher launch -bindsym $mod+e mode "$mode_launcher" - -mode "$mode_launcher" { - bindsym f exec firefox; mode "default" - bindsym t exec thunderbird; mode "default" - bindsym s exec steam; mode "default" - - bindsym Escape mode "default" - bindsym Return mode "default" -} - -bar { - output $leftoutput - strip_workspace_numbers yes - font pango:DejaVu Sans Mono, FontAwesome 8 - status_command i3blocks -c ~/.config/i3blocks/left-config -} - -bar { - output $rightoutput - strip_workspace_numbers yes - font pango:DejaVu Sans Mono, FontAwesome 8 - status_command i3blocks -c ~/.config/i3blocks/right-config -} - -workspace_auto_back_and_forth no -hide_edge_borders smart - -set $ws_browser_1 10:browser:1 -set $ws_browser_2 11:browser:2 -set $ws_steam steam -set $ws_lutris lutris -set $ws_mail 12:mail -set $ws_im 13:im - -workspace 1 output $leftoutput -workspace 2 output $leftoutput -workspace 3 output $leftoutput -workspace 4 output $leftoutput -workspace 5 output $leftoutput - -workspace $ws_browser_1 output $leftoutput -workspace $ws_browser_2 output $rightoutput -workspace $ws_steam output $leftoutput -workspace $ws_lutris output $leftoutput - -workspace 6 output $rightoutput -workspace 7 output $rightoutput -workspace 8 output $rightoutput -workspace 9 output $rightoutput -workspace 10 output $rightoutput - -workspace $ws_mail output $rightoutput -workspace $ws_im output $rightoutput - -assign [class="^firefox" instance="^Navigator$"] workspace $ws_browser_1 -assign [class="^org.mozilla.Thunderbird$"] workspace $ws_mail - -assign [class="^Alacritty$" instance="^lucy-code$"] workspace 1 -assign [class="^Alacritty$" instance="^lucy-server$"] workspace 6 -assign [class="^URxvt$" instance="-code$"] workspace 3 -assign [class="^URxvt$" instance="^lesportecles-rails$"] workspace 8 -assign [class="^URxvt$" instance="-server$"] workspace 8 -assign [class="^xfreerdp$"] workspace 8 -assign [class="^Microsoft Teams" title="Microsoft Teams(?! Notification)"] workspace $ws_im -assign [class="^steam$"] workspace $ws_steam -assign [class="^Lutris$"] workspace $ws_lutris -assign [class="^Mattermost$"] workspace $ws_im -assign [class="^discord$"] workspace $ws_im - -bindsym XF86Calculator exec "alacritty --class Alacritty,Float" -for_window [class="^Gcolor3$"] floating enable -for_window [class="^Alacritty$" instance="^Float$"] floating enable -for_window [class="^mpv$"] floating enable -for_window [class="^Pinentry$"] floating enable -for_window [class="^TeamViewer$"] floating enable -for_window [title="Microsoft Teams Notification"] floating enable, sticky enable -for_window [title="^Steam - News"] floating enable -for_window [title="^Origin$"] floating enable -for_window [class="Yad"] floating enable - -bindsym XF86HomePage workspace $ws_browser_1 -bindsym $mod+XF86HomePage workspace $ws_browser_2 - -bindsym $mod+Shift+XF86HomePage move container to workspace $ws_browser_1 -bindsym $mod+Control+XF86HomePage move container to workspace $ws_browser_2 - -bindsym XF86Mail workspace $ws_mail -bindsym $mod+Shift+XF86Mail move container to workspace $ws_mail - -bindsym $mod+XF86Mail workspace $ws_im -bindsym $mod+Control+XF86Mail move container to workspace $ws_im - -# Pulse Audio controls -bindsym XF86AudioRaiseVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.05+ && pkill -RTMIN+10 i3blocks" -bindsym XF86AudioLowerVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.05- && pkill -RTMIN+10 i3blocks" - -bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.02+ && pkill -RTMIN+10 i3blocks" -bindsym Shift+XF86AudioLowerVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.02- && pkill -RTMIN+10 i3blocks" - -bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks" - -# Media player controls -bindsym XF86AudioPlay exec --no-startup-id mpc toggle -bindsym XF86AudioNext exec --no-startup-id mpc next -bindsym XF86AudioPrev exec --no-startup-id mpc prev - -bindsym Print exec "flameshot gui" - -new_window pixel 2 - -mouse_warping none diff --git a/i3/multi/config b/i3/multi/config new file mode 120000 index 0000000..3ca249e --- /dev/null +++ b/i3/multi/config @@ -0,0 +1 @@ +../config \ No newline at end of file diff --git a/i3/onizuka.conf b/i3/onizuka.conf new file mode 100644 index 0000000..143e080 --- /dev/null +++ b/i3/onizuka.conf @@ -0,0 +1,36 @@ +set $leftoutput DP-3 +set $rightoutput HDMI-0 + +bar { + output $leftoutput + strip_workspace_numbers yes + font pango:DejaVu Sans Mono, FontAwesome 8 + status_command i3blocks -c ~/.config/i3blocks/left-config +} + +bar { + output $rightoutput + strip_workspace_numbers yes + font pango:DejaVu Sans Mono, FontAwesome 8 + status_command i3blocks -c ~/.config/i3blocks/right-config +} + +workspace 1 output $leftoutput +workspace 2 output $leftoutput +workspace 3 output $leftoutput +workspace 4 output $leftoutput +workspace 5 output $leftoutput + +workspace $ws_browser_1 output $leftoutput +workspace $ws_browser_2 output $rightoutput +workspace $ws_steam output $leftoutput +workspace $ws_lutris output $leftoutput + +workspace 6 output $rightoutput +workspace 7 output $rightoutput +workspace 8 output $rightoutput +workspace 9 output $rightoutput +workspace 10 output $rightoutput + +workspace $ws_mail output $rightoutput +workspace $ws_im output $rightoutput