diff --git a/.config/i3/conf.d/autostart.conf b/.config/i3/conf.d/autostart.conf new file mode 100644 index 0000000..14b19c0 --- /dev/null +++ b/.config/i3/conf.d/autostart.conf @@ -0,0 +1,23 @@ +# vim: set fs=i3config + +#get auth work with polkit-gnome +exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +# Run setup script +exec --no-startup-id ~/.config/i3/startup.sh +# Bluetooth applet +exec --no-startup-id blueman-tray +# Nextcloud sync +exec --no-startup-id nextcloud +# Compositor +exec --no-startup-id picom -b --config ~/.config/picom.conf --experimental-backends +# Network Manager applet +exec --no-startup-id nm-applet +#set powersavings for display +exec --no-startup-id xset s 480 dpms 600 600 600 +# Desktop notifications +exec --no-startup-id /usr/bin/dunst +# Mail notifications +# exec --no-startup-id thunderbird +# Joplin sync +exec --no-startup-id joplin-desktop +exec --no-startup-id nheko diff --git a/.config/i3/conf.d/bar.conf b/.config/i3/conf.d/bar.conf new file mode 100644 index 0000000..d331f9b --- /dev/null +++ b/.config/i3/conf.d/bar.conf @@ -0,0 +1,21 @@ +# vim: set fs=i3config + +bar { + status_command i3blocks -c ~/.config/i3/i3blocks.conf + position bottom + tray_output primary + mode hide + hidden_state hide + modifier none + colors { + separator #666666 + background #222222 + statusline #dddddd + focused_workspace #0088CC #0088CC #ffffff + active_workspace #333333 #333333 #ffffff + inactive_workspace #333333 #333333 #888888 + urgent_workspace #2f343a #900000 #ffffff + } +} + +bindsym $mod+c bar hidden_state toggle diff --git a/.config/i3/conf.d/float_rules.conf b/.config/i3/conf.d/float_rules.conf new file mode 100644 index 0000000..cda9ad2 --- /dev/null +++ b/.config/i3/conf.d/float_rules.conf @@ -0,0 +1,12 @@ +# vim: set fs=i3config + +# =====FLOAT RULES===== +for_window [class="Yad" instance="yad"] floating enable +for_window [class="Galculator" instance="galculator"] floating enable +for_window [class="Xsane" instance="xsane"] floating enable +for_window [class="Pavucontrol" instance="pavucontrol"] floating enable +for_window [class="qt5ct" instance="qt5ct"] floating enable +for_window [class="Blueberry.py" instance="blueberry.py"] floating enable +for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable +for_window [class="Gufw.py" instance="gufw.py"] floating enable +for_window [class="Blueman-manager" instance="blueman-manager"] floating enable diff --git a/.config/i3/conf.d/keybinds.conf b/.config/i3/conf.d/keybinds.conf new file mode 100644 index 0000000..b70de45 --- /dev/null +++ b/.config/i3/conf.d/keybinds.conf @@ -0,0 +1,61 @@ +# vim: set fs=i3config + +# Mode for changing layout modes +mode "config" { + # Switch split mode + bindsym j split vertical; mode "default" + bindsym h split horizontal; mode "default" + bindsym k split vertical; mode "default" + bindsym l split horizontal; mode "default" + + # Switch layout + bindsym y layout stacking; mode "default" + bindsym u layout tabbed; mode "default" + bindsym i layout toggle split; mode "default" + + # Go back to normal mode + bindsym Escape mode "default" +} + +bindsym $mod+s mode "config" + +# reload the configuration file +bindsym $mod+Shift+c reload + +# Restart i3 in-place +bindsym $mod+Shift+r restart + +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+q 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'" + +# Volume +bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks +bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks +bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks +bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks +bindsym XF86AudioMute exec amixer -D pulse set Master toggle + +# Backlight +bindsym XF86MonBrightnessUp exec brightnessctl --device='intel_backlight' set +10% +bindsym XF86MonBrightnessDown exec brightnessctl --device='intel_backlight' set 10%- + +# Keyboard brightness +bindsym XF86KbdBrightnessUp exec brightnessctl --device='smc::kbd_backlight' set +10% +bindsym XF86KbdBrightnessDown exec brightnessctl --device='smc::kbd_backlight' set 10%- + +# Screenshot +bindsym --release Print exec "scrot -fis ~/Pictures/screenshots/%Y-%m-%d-%T.png" + +# Show shutdown menu +bindsym $mod+Escape exec ~/.config/i3/scripts/shutdown_menu -p rofi -c + + +# =====APPLICATIONS===== +# start a terminal +bindsym $mod+Return exec --no-startup-id st +# Launch output device configuration +bindsym $mod+m exec --no-startup-id pavucontrol -t 3 +# Open dmenu +bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu dmenu +# Open Galculator +bindsym XF86Calculator exec --no-startup-id galculator diff --git a/.config/i3/conf.d/workspaces.conf b/.config/i3/conf.d/workspaces.conf new file mode 100644 index 0000000..c2f3c9a --- /dev/null +++ b/.config/i3/conf.d/workspaces.conf @@ -0,0 +1,137 @@ +# vim: set fs=i3config + +set $ws01 "" +set $ws02 "" +set $ws03 "" +set $ws04 "" +set $ws05 "" +set $ws11 "α" +set $ws12 "β" +set $ws13 "γ" +set $ws14 "δ" +set $ws15 "ε" +set $ws21 "2:1" +set $ws22 "2:2" +set $ws23 "2:3" +set $ws24 "2:4" +set $ws25 "2:5" + +workspace $ws01 output primary +workspace $ws02 output primary +workspace $ws03 output primary +workspace $ws04 output primary +workspace $ws05 output primary +workspace $ws11 output eDP-1-1 +workspace $ws12 output eDP-1-1 +workspace $ws13 output eDP-1-1 +workspace $ws14 output eDP-1-1 +workspace $ws15 output eDP-1-1 +workspace $ws21 output HDMI-0 +workspace $ws22 output HDMI-0 +workspace $ws23 output HDMI-0 +workspace $ws24 output HDMI-0 +workspace $ws25 output HDMI-0 + +# =====WINDOW MANAGEMENT===== +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l 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 + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# kill focused window +bindsym Shift+$mod+x kill + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# Resize focused window +mode "resize" { + bindsym h resize shrink width 10 px or 10 ppt + bindsym j resize shrink height 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize grow width 10 px or 10 ppt + + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" + +#resize floating windows with mouse scroll: +bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt +bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt +bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt +bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt + +# switch to main workspaces +bindsym $mod+y workspace $ws01 +bindsym $mod+u workspace $ws02 +bindsym $mod+i workspace $ws03 +bindsym $mod+o workspace $ws04 +bindsym $mod+p workspace $ws05 + +# move focused container to main workspace +bindsym $mod+Shift+y move container to workspace $ws01 +bindsym $mod+Shift+u move container to workspace $ws02 +bindsym $mod+Shift+i move container to workspace $ws03 +bindsym $mod+Shift+o move container to workspace $ws04 +bindsym $mod+Shift+p move container to workspace $ws05 + +# Manage other workspaces +mode "eDP-1-1" { + # switch to workspace + bindsym y workspace $ws11 + bindsym u workspace $ws12 + bindsym i workspace $ws13 + bindsym o workspace $ws14 + bindsym p workspace $ws15 + + # move focused container to workspace + bindsym Shift+y move container to workspace $ws11 + bindsym Shift+u move container to workspace $ws12 + bindsym Shift+i move container to workspace $ws13 + bindsym Shift+o move container to workspace $ws14 + bindsym Shift+p move container to workspace $ws15 + + # Go to HDMI-0 mode + bindsym e mode "HDMI-0" + + # Go back to normal mode + bindsym Escape mode "default" +} + +mode "HDMI-0" { + # switch to workspace + bindsym y workspace $ws21 + bindsym u workspace $ws22 + bindsym i workspace $ws23 + bindsym o workspace $ws24 + bindsym p workspace $ws25 + + # move focused container to workspace + bindsym Shift+y move container to workspace $ws21 + bindsym Shift+u move container to workspace $ws22 + bindsym Shift+i move container to workspace $ws23 + bindsym Shift+o move container to workspace $ws24 + bindsym Shift+p move container to workspace $ws25 + + # Go to eDP-1-1 mode + bindsym e mode "eDP-1-1" + + # Go back to normal mode + bindsym Escape mode "default" +} + +bindsym $mod+e mode "eDP-1-1" diff --git a/.config/i3/config b/.config/i3/config index cc87fdb..f0a3621 100755 --- a/.config/i3/config +++ b/.config/i3/config @@ -17,259 +17,8 @@ hide_edge_borders both # Font for window titles & bar, unless specified otherwise font pango:Noto Sans Regular 8 - -# =====WINDOW MANAGEMENT===== -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l 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 - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# kill focused window -bindsym Shift+$mod+x kill - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# Resize focused window -mode "resize" { - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize shrink height 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - - bindsym Escape mode "default" -} - -bindsym $mod+r mode "resize" - -#resize floating windows with mouse scroll: -bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt -bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt -bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt -bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt - - -# =====WORKSPACES===== -set $ws01 "" -set $ws02 "" -set $ws03 "" -set $ws04 "" -set $ws05 "" -set $ws11 "α" -set $ws12 "β" -set $ws13 "γ" -set $ws14 "δ" -set $ws15 "ε" -set $ws21 "2:1" -set $ws22 "2:2" -set $ws23 "2:3" -set $ws24 "2:4" -set $ws25 "2:5" - -workspace $ws01 output primary -workspace $ws02 output primary -workspace $ws03 output primary -workspace $ws04 output primary -workspace $ws05 output primary -workspace $ws11 output eDP-1-1 -workspace $ws12 output eDP-1-1 -workspace $ws13 output eDP-1-1 -workspace $ws14 output eDP-1-1 -workspace $ws15 output eDP-1-1 -workspace $ws21 output HDMI-0 -workspace $ws22 output HDMI-0 -workspace $ws23 output HDMI-0 -workspace $ws24 output HDMI-0 -workspace $ws25 output HDMI-0 - -# switch to main workspaces -bindsym $mod+y workspace $ws01 -bindsym $mod+u workspace $ws02 -bindsym $mod+i workspace $ws03 -bindsym $mod+o workspace $ws04 -bindsym $mod+p workspace $ws05 - -# move focused container to main workspace -bindsym $mod+Shift+y move container to workspace $ws01 -bindsym $mod+Shift+u move container to workspace $ws02 -bindsym $mod+Shift+i move container to workspace $ws03 -bindsym $mod+Shift+o move container to workspace $ws04 -bindsym $mod+Shift+p move container to workspace $ws05 - -# Manage other workspaces -mode "eDP-1-1" { - # switch to workspace - bindsym y workspace $ws11 - bindsym u workspace $ws12 - bindsym i workspace $ws13 - bindsym o workspace $ws14 - bindsym p workspace $ws15 - - # move focused container to workspace - bindsym Shift+y move container to workspace $ws11 - bindsym Shift+u move container to workspace $ws12 - bindsym Shift+i move container to workspace $ws13 - bindsym Shift+o move container to workspace $ws14 - bindsym Shift+p move container to workspace $ws15 - - # Go to HDMI-0 mode - bindsym e mode "HDMI-0" - - # Go back to normal mode - bindsym Escape mode "default" -} - -mode "HDMI-0" { - # switch to workspace - bindsym y workspace $ws21 - bindsym u workspace $ws22 - bindsym i workspace $ws23 - bindsym o workspace $ws24 - bindsym p workspace $ws25 - - # move focused container to workspace - bindsym Shift+y move container to workspace $ws21 - bindsym Shift+u move container to workspace $ws22 - bindsym Shift+i move container to workspace $ws23 - bindsym Shift+o move container to workspace $ws24 - bindsym Shift+p move container to workspace $ws25 - - # Go to eDP-1-1 mode - bindsym e mode "eDP-1-1" - - # Go back to normal mode - bindsym Escape mode "default" -} - -bindsym $mod+e mode "eDP-1-1" - -# Configuration mode -mode "config" { - # Switch split mode - bindsym j split vertical; mode "default" - bindsym h split horizontal; mode "default" - bindsym k split vertical; mode "default" - bindsym l split horizontal; mode "default" - - # Switch layout - bindsym y layout stacking; mode "default" - bindsym u layout tabbed; mode "default" - bindsym i layout toggle split; mode "default" - - # Go back to normal mode - bindsym Escape mode "default" -} - -bindsym $mod+s mode "config" - -# Assign certain programs to workspaces -# for_window [class=Xfce4-terminal] focus -# assign [class="(?i)firefox"] $ws02 -# for_window [class=(?i)firefox] focus -# assign [class="Thunar"] $ws03 -# for_window [class=Thunar] focus -# assign [class="Thunderbird"] $ws04 -# for_window [class=Thunderbird] focus -# assign [class="TelegramDesktop"] $ws05 -# for_window [class=TelegramDesktop] focus - - -# =====OTHER KEYBINDINGS===== -# reload the configuration file -bindsym $mod+Shift+c reload - -# Restart i3 in-place -bindsym $mod+Shift+r restart - -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+q 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'" - -# Volume -bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks -bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks -bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks -bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks -bindsym XF86AudioMute exec amixer -D pulse set Master toggle - -# Foobar2000 controls -bindsym F8 exec --no-startup-id wine ~/.wine/drive_c/users/jjr/Desktop/foobar2000/foobar2000.exe /playpause - -# Backlight -bindsym XF86MonBrightnessUp exec brightnessctl --device='intel_backlight' set +10% -bindsym XF86MonBrightnessDown exec brightnessctl --device='intel_backlight' set 10%- - -# Keyboard brightness -bindsym XF86KbdBrightnessUp exec brightnessctl --device='smc::kbd_backlight' set +10% -bindsym XF86KbdBrightnessDown exec brightnessctl --device='smc::kbd_backlight' set 10%- - -# Screenshot -bindsym --release Print exec "scrot -fis ~/Pictures/screenshots/%Y-%m-%d-%T.png" - -# Show shutdown menu -bindsym $mod+Escape exec ~/.config/i3/scripts/shutdown_menu -p rofi -c - - -# =====APPLICATIONS===== -# Launch applications -# start a terminal -bindsym $mod+Return exec --no-startup-id st -# Launch output device configuration -bindsym $mod+m exec --no-startup-id pavucontrol -t 3 -# Open dmenu -bindsym $mod+d exec --no-startup-id i3-dmenu-desktop -# Open Galculator -bindsym XF86Calculator exec --no-startup-id galculator - - -# =====AUTOSTART APPLICATIONS===== -#get auth work with polkit-gnome -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -# Run setup script -exec --no-startup-id ~/.config/i3/startup.sh -# Bluetooth applet -exec --no-startup-id blueman-tray -# Nextcloud sync -exec --no-startup-id nextcloud -# Compositor -exec --no-startup-id picom -b --config ~/.config/picom.conf --experimental-backends -# Network Manager applet -exec --no-startup-id nm-applet -#set powersavings for display -exec --no-startup-id xset s 480 dpms 600 600 600 -# Desktop notifications -exec --no-startup-id /usr/bin/dunst -# Mail notifications -# exec --no-startup-id thunderbird -# Joplin sync -exec --no-startup-id joplin-desktop -exec --no-startup-id nheko -exec --no-startup-id com.gitlab.newsflash --headless - - -# =====FLOAT RULES===== -for_window [class="Yad" instance="yad"] floating enable -for_window [class="Galculator" instance="galculator"] floating enable -for_window [class="Xsane" instance="xsane"] floating enable -for_window [class="Pavucontrol" instance="pavucontrol"] floating enable -for_window [class="qt5ct" instance="qt5ct"] floating enable -for_window [class="Blueberry.py" instance="blueberry.py"] floating enable -for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable -for_window [class="Gufw.py" instance="gufw.py"] floating enable -for_window [class="Blueman-manager" instance="blueman-manager"] floating enable - +# Include all other configuration files +include conf.d/*.conf # =====COLORS===== set $bg-color #2f343f @@ -285,25 +34,3 @@ client.focused $bg-color $bg-color $text-color client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color client.urgent $urgent-bg-color $urgent-bg-color $text-color $indicator-color - - -# =====STATUS BAR===== -bar { - status_command i3blocks -c ~/.config/i3/i3blocks.conf - position bottom - tray_output primary - mode hide - hidden_state hide - modifier none - colors { - separator #666666 - background #222222 - statusline #dddddd - focused_workspace #0088CC #0088CC #ffffff - active_workspace #333333 #333333 #ffffff - inactive_workspace #333333 #333333 #888888 - urgent_workspace #2f343a #900000 #ffffff - } -} - -bindsym $mod+c bar hidden_state toggle diff --git a/.config/i3/startup.sh b/.config/i3/startup.sh index 1979359..2183c23 100755 --- a/.config/i3/startup.sh +++ b/.config/i3/startup.sh @@ -6,14 +6,14 @@ autorandr --change # Display wallpapers nitrogen --restore -cur_layout="$(autorandr --current)" +# cur_layout="$(autorandr --current)" -# Properly set DPI & keyboard layout -if [ "$cur_layout" = loftie ]; then - xrandr --dpi 120 - setxkbmap -layout us -variant altgr-intl +# # Properly set DPI & keyboard layout +# if [ "$cur_layout" = loftie ]; then +# xrandr --dpi 120 +# setxkbmap -layout us -variant altgr-intl -# Display sys tray on correct display -elif [ "$cur_layout" = default ]; then - xrandr --output eDP-1-1 --primary -fi +# # Display sys tray on correct display +# elif [ "$cur_layout" = default ]; then +# xrandr --output eDP-1-1 --primary +# fi