diff --git a/i3/i3/config b/i3/i3/config index d74efdd..0e80e65 100644 --- a/i3/i3/config +++ b/i3/i3/config @@ -13,17 +13,13 @@ set $mod Mod4 set $scripts ~/.config/i3/scripts set $lock "i3lock --ignore-empty-password --color=000000" -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:monospace 12 +# Font for window titles +font pango:FuraCode Nerd Font 12 # This font is widely installed, provides lots of unicode glyphs, right-to-left # text rendering and scalability on retina/hidpi displays (thanks to pango). #font pango:DejaVu Sans Mono 12 -# The combination of xss-lock, nm-applet and pactl is a popular choice, so -# they are included here as an example. Modify as you see fit. - # xss-lock grabs a logind suspend inhibit lock and will use $lock to lock the # screen before suspend. Use loginctl lock-session to lock your screen. exec --no-startup-id xss-lock --transfer-sleep-lock -- $lock --nofork @@ -76,30 +72,28 @@ 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 +bindsym $mod+Shift+h exec i3l move left +bindsym $mod+Shift+j exec i3l move down +bindsym $mod+Shift+k exec i3l move up +bindsym $mod+Shift+l exec i3l 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+Shift+Left exec i3l move left +bindsym $mod+Shift+Down exec i3l move down +bindsym $mod+Shift+Up exec i3l move up +bindsym $mod+Shift+Right exec i3l move right -# split in horizontal orientation -bindsym $mod+Shift+v split h - -# split in vertical orientation -bindsym $mod+v split v +# split in horizontal / vertical orientation +# bindsym $mod+Shift+v split h +# 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+Shift+w layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split +# bindsym $mod+Shift+w layout stacking +# bindsym $mod+w layout tabbed +# bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle @@ -108,11 +102,14 @@ bindsym $mod+Shift+space floating toggle bindsym $mod+space focus mode_toggle # focus the parent container -bindsym $mod+a focus parent +# bindsym $mod+a focus parent # focus the child container #bindsym $mod+d focus child +# The middle button over a titlebar kills the window +bindsym --release button2 kill + # Define names for default workspaces for which we configure key bindings later on. # We use variables to avoid repeating the names in multiple places. set $ws1 "1" @@ -126,6 +123,17 @@ set $ws8 "8" set $ws9 "9" set $ws10 "10" +set $i3l vstack to workspace $ws1 +set $i3l vstack to workspace $ws2 +set $i3l vstack to workspace $ws3 +set $i3l vstack to workspace $ws4 +set $i3l vstack to workspace $ws5 +set $i3l vstack to workspace $ws6 +set $i3l vstack to workspace $ws7 +set $i3l vstack to workspace $ws8 +set $i3l vstack to workspace $ws9 +set $i3l vstack to workspace $ws10 + # switch to workspace bindsym $mod+1 workspace number $ws1 bindsym $mod+2 workspace number $ws2 @@ -198,12 +206,12 @@ bindsym $mod+r mode "resize" # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) -bar { - status_command i3blocks - position bottom - i3bar_command i3bar --transparency - bindsym button3 exec --no-startup-id jgmenu_run -} +#bar { +# status_command i3blocks +# position bottom +# i3bar_command i3bar --transparency +# bindsym button3 exec --no-startup-id jgmenu_run +#} set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown @@ -243,30 +251,65 @@ mode "$mode_screenshot_clipboard" { } bindsym $mod+Print mode "$mode_screenshot_clipboard" -bindsym $mod+Ctrl+Right move workspace to output right -bindsym $mod+Ctrl+Left move workspace to output right +set $mode_choose_layout Layout (h) vstack-left, (l) vstack-right, (k) hstack-top, (j) hstack-bottom, (c) 2columns +mode "$mode_choose_layout" { + bindsym h exec i3l vstack 0.5 right, mode "default" + bindsym l exec i3l vstack 0.5 left, mode "default" + bindsym j exec i3l hstack 0.5 up, mode "default" + bindsym k exec i3l hstack 0.5 down, mode "default" + bindsym c exec i3l 2columns left, mode "default" + + # back to normal: Escape + bindsym Escape mode "default" +} +bindsym $mod+G mode "$mode_choose_layout" + +bindsym $mod+Ctrl+h exec i3l vstack 0.5 right, mode "default" +bindsym $mod+Ctrl+l exec i3l vstack 0.5 left, mode "default" +bindsym $mod+Ctrl+j exec i3l hstack 0.5 up, mode "default" +bindsym $mod+Ctrl+k exec i3l hstack 0.5 down, mode "default" + +bindsym $mod+Ctrl+Left exec i3l vstack 0.5 right, mode "default" +bindsym $mod+Ctrl+Right exec i3l vstack 0.5 left, mode "default" +bindsym $mod+Ctrl+Down exec i3l hstack 0.5 up, mode "default" +bindsym $mod+Ctrl+Up exec i3l hstack 0.5 down, mode "default" + +#bindsym $mod+Ctrl+Right move workspace to output right +#bindsym $mod+Ctrl+Left move workspace to output right #bindsym $mod+c exec xfce4-terminal --role floating --hide-scrollbar --title Calculator -e qalc bindsym $mod+c exec qalculate-gtk -bindsym $mod+p exec xwacomcalibrate -bindsym $mod+t exec thunar +# bindsym $mod+p exec xwacomcalibrate +# bindsym $mod+t exec thunar +bindsym $mod+t exec krusader #bindsym $mod+m exec xfce4-terminal -x mc bindsym $mod+Shift+c exec $scripts/jupyter-calculator bindsym $mod+b exec firefox -bindsym $mod+s exec pavucontrol +#bindsym $mod+s exec pavucontrol bindsym $mod+u exec pamac-manager +bindsym $mod+p [con_mark="i3l::previous"] focus +bindsym $mod+m [con_mark="i3l:[^:]+:main" workspace="__focused__"] focus +# bindsym $mod+Shift+m [con_mark="i3l:[^:]+:main" workspace="__focused__"] focus; exec i3l swap container with mark "i3l::previous" +#exec $scripts/i3l-swap-master +# bindsym $mod+Shift+m exec i3l [con_mark="i3l:[^:]+:main" workspace="__focused__"] swap container with mark "i3l::current" +# bindsym $mod+Shift+m exec i3l swap container with mark "__focused__:main" + # read 1 character and mark the current window with this character -bindsym $mod+m exec i3-input -F 'mark %s' -l 1 -P 'Mark: ' +# bindsym $mod+m exec i3-input -F 'mark %s' -l 1 -P 'Mark: ' # read 1 character and go to the window with the character -bindsym $mod+Shift+m exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Goto: ' +# bindsym $mod+Shift+m exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Goto: ' workspace_auto_back_and_forth yes -default_border pixel +# default_border pixel +default_border normal default_floating_border normal +hide_edge_borders smart -focus_on_window_activation focus +show_marks no + +focus_on_window_activation smart assign [class="firefox" title="Mozilla Firefox$"] workspace $ws1 assign [class="TelegramDesktop"] workspace $ws9 @@ -276,7 +319,7 @@ assign [class="Element"] workspace $ws9 assign [class="Thunderbird"] workspace $ws10 assign [class="zoom"] workspace $ws5 -for_window [class="firefox"] focus +for_window [class="firefox" urgent="latest"] focus #for_window [class="Thunderbird"] focus #for_window [class="TelegramDesktop"] no_focus #for_window [class="Rocket.Chat"] no_focus @@ -307,7 +350,9 @@ exec_always ~/.screenlayout/one-screen.sh #exec element-desktop no_focus #exec telegram-desktop no_focus +exec_always --no-startup-id i3-layouts # Rightclick menu +exec_always --no-startup-id ~/.config/polybar/startup.sh exec --no-startup-id jgmenu --at-pointer --hide-on-startup exec --no-startup-id nm-applet exec --no-startup-id blueman-applet @@ -332,3 +377,9 @@ exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd #exec --no-startup-id i3-msg workspace $ws1 #exec --no-startup-id i3-msg workspace $ws10 +#bindsym $mod+Ctrl+q exec i3l 'vstack right' && notify-send 'Layout vstack right' +#bindsym $mod+Ctrl+w exec i3l 'vstack left' && notify-send 'Layout vstack left' +#bindsym $mod+Ctrl+e exec 'i3l hstack down' && notify-send 'Layout hstack down' +#bindsym $mod+Ctrl+r exec 'i3l hstack up' && notify-send 'Layout hstack up' +#bindsym $mod+Ctrl+t exec i3l 3columns right && notify-send 'Layout 3columns' +#bindsym $mod+Ctrl+z exec i3l 2columns left && notify-send 'Layout 2columns'