diff --git a/home/.config/i3/build-i3-config b/home/.config/i3/build-i3-config new file mode 100755 index 0000000..43c0548 --- /dev/null +++ b/home/.config/i3/build-i3-config @@ -0,0 +1,16 @@ +#!/bin/bash + +DF_PATH=${HOME}/dotfiles/home/.config/i3 +CONFIG_PATH=${DF_PATH}/conf.d +DST_FILE=${DF_PATH}/config + +echo "# This file is generated with the \`build-i3-config\` command" > ${DST_FILE} +echo "# Configuration has been broken up into the \`conf.d\` directory" >> ${DST_FILE} +cat ${CONFIG_PATH}/base.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/gaps.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/workspace.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/i3bar.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/window-classes.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/layout-keybinds.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/keybinds.conf >> ${DST_FILE} +cat ${CONFIG_PATH}/autostart.conf >> ${DST_FILE} diff --git a/home/.config/i3/conf.d/autostart.conf b/home/.config/i3/conf.d/autostart.conf new file mode 100644 index 0000000..9988cd0 --- /dev/null +++ b/home/.config/i3/conf.d/autostart.conf @@ -0,0 +1,26 @@ +# Configure applications to start once i3 has initialized + +#exec --no-startup-id xfce4-panel --disable-wm-check +exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec --no-startup-id nm-applet +exec --no-startup-id xfce4-power-manager +exec --no-startup-id stalonetray +exec --no-startup-id clipit +exec_always --no-startup-id ff-theme-util +exec_always --no-startup-id fix_xcursor +exec --no-startup-id start_conky_mia + +# Random wallpaper +exec --no-startup-id $i3_path/wallpaper.sh& + +# Timeout to activate screensaver/lockscreen +exec --no-startup-id xautolock -time 10 -locker i3lock-fancy -p + +# Composition Manager (Transparency) +#exec --no-startup-id xcompmgr -c -f -n +exec --no-startup-id compton --config ~/.config/compton.conf + +# Network Keyboard/Mouse/Clipboard +exec --no-startup-id synergy + +# End autostart configuration diff --git a/home/.config/i3/conf.d/base.conf b/home/.config/i3/conf.d/base.conf new file mode 100644 index 0000000..835c7c7 --- /dev/null +++ b/home/.config/i3/conf.d/base.conf @@ -0,0 +1,70 @@ +# Base configuration options + +set $i3_path ~/.config/i3 + +# Use the Super key as $mod, because Alt is used in tmux +set $mod Mod4 +floating_modifier $mod + +new_window pixel 1 +new_float normal + +hide_edge_borders none + +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + +font xft:URWGothic-Book 11 + +# 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'" + +# Set shut down, restart and locking features +bindsym $mod+0 mode "$mode_system" +set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (r)eboot, (Shift+s)hutdown +mode "$mode_system" { + bindsym l exec --no-startup-id i3lock-fancy -p + bindsym s exec --no-startup-id i3exit suspend, mode "default" + bindsym u exec --no-startup-id i3exit switch_user, mode "default" + bindsym e exec --no-startup-id i3exit logout, mode "default" + bindsym r exec --no-startup-id i3exit reboot, mode "default" + bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" + + # exit system mode: "Enter" or "Escape" + bindsym Return mode "default" + bindsym Escape mode "default" +} + +################################################################################################ +## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## +################################################################################################ + +exec --no-startup-id volumeicon +bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' +#exec --no-startup-id pulseaudio +#exec --no-startup-id pa-applet +#bindsym $mod+Ctrl+m exec pavucontrol + +################################################################################################ + +# Screen brightness controls +# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" +# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" + +# Theme colors +# class border backgr. text indic. child_border +client.focused #556064 #556064 #80FFF9 #FDF6E3 +client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 +client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 +client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 +client.placeholder #000000 #0c0c0c #ffffff #000000 +client.background #2B2C2B + +# End base configuration diff --git a/home/.config/i3/conf.d/gaps.conf b/home/.config/i3/conf.d/gaps.conf new file mode 100644 index 0000000..4c04ca5 --- /dev/null +++ b/home/.config/i3/conf.d/gaps.conf @@ -0,0 +1,49 @@ +# Begin i3-gaps configuration - Stuff specific to i3-gaps + +smart_gaps on +smart_borders on + +# Gap spacing +gaps inner 10 +gaps outer 4 + +# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. +set $mode_gaps Gaps: (o) outer, (i) inner +set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) +bindsym $mod+Shift+g mode "$mode_gaps" + +mode "$mode_gaps" { + bindsym o mode "$mode_gaps_outer" + bindsym i mode "$mode_gaps_inner" + bindsym Return mode "default" + bindsym Escape mode "default" +} + +mode "$mode_gaps_inner" { + bindsym plus gaps inner current plus 5 + bindsym minus gaps inner current minus 5 + bindsym 0 gaps inner current set 0 + + bindsym Shift+plus gaps inner all plus 5 + bindsym Shift+minus gaps inner all minus 5 + bindsym Shift+0 gaps inner all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} + +mode "$mode_gaps_outer" { + bindsym plus gaps outer current plus 5 + bindsym minus gaps outer current minus 5 + bindsym 0 gaps outer current set 0 + + bindsym Shift+plus gaps outer all plus 5 + bindsym Shift+minus gaps outer all minus 5 + bindsym Shift+0 gaps outer all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# End i3-gaps configuration \ No newline at end of file diff --git a/home/.config/i3/conf.d/i3bar.conf b/home/.config/i3/conf.d/i3bar.conf new file mode 100644 index 0000000..f296431 --- /dev/null +++ b/home/.config/i3/conf.d/i3bar.conf @@ -0,0 +1,33 @@ +# Begin i3-bar configuration + +#bar { +# status_command i3status +#} + +bar { + #status_command i3status -c ~/.config/i3/i3status.conf + status_command i3blocks -c $i3_path/i3blocks.conf + + position top + #mode hide + workspace_buttons yes + tray_output DP-0 + tray_padding 0 + separator_symbol "|" + + colors { + background #222D31 + statusline #F9FAF9 + separator #454947 + + # border backgr. text + focused_workspace #F9FAF9 #16a085 #292F34 + active_workspace #595B5B #353836 #FDF6E3 + inactive_workspace #595B5B #222D31 #EEE8D5 + binding_mode #16a085 #2C2C2C #F9FAF9 + urgent_workspace #16a085 #FDF6E3 #E5201D + } + #height 30 +} + +# End i3-bar configuration diff --git a/home/.config/i3/conf.d/keybinds.conf b/home/.config/i3/conf.d/keybinds.conf new file mode 100644 index 0000000..d4d6b6a --- /dev/null +++ b/home/.config/i3/conf.d/keybinds.conf @@ -0,0 +1,46 @@ +# Configure keybinds to start applications + +# Frequently used programs +bindsym $mod+Return exec --no-startup-id terminator +bindsym $mod+F2 exec --no-startup-id google-chrome-stable +bindsym $mod+F3 exec --no-startup-id pcmanfm +bindsym $mod+F4 exec --no-startup-id code + +# Help +bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf + +# Program Launchers +bindsym $mod+z exec --no-startup-id morc_menu +bindsym $mod+d exec --no-startup-id rofi -show run +bindsym $mod+Tab exec --no-startup-id rofi -show window + +# Configuration Editor +bindsym $mod+Ctrl+b exec --no-startup-id terminator -e bmenu + +# File Explorer +bindsym $mod+n --release exec --no-startup-id terminator -e nnn + +# Force Kill program +bindsym $mod+Ctrl+x --release exec --no-startup-id xkill + +# Kill focused window +bindsym $mod+Shift+q kill + +# Lock screen +bindsym $mod+p exec --no-startup-id i3lock-fancy -p + +# Toggle visibility of status bar +bindsym $mod+m bar mode toggle + +# Screenshots +bindsym Insert exec --no-startup-id maim -s ~/Pictures/$(date +%Y-%m-%d-%s).png #i3-scrot --select '%Y-%m-%d_$wx$h.png' # Selection -- CHange cursor? +bindsym $mod+Insert exec --no-startup-id ~/.i3/screenshotter.sh #i3-scrot -w '%Y-%m-%d_$wx$h.png' # Window +bindsym $mod+Shift+Insert --release exec --no-startup-id maim ~/Pictures/$(date +%Y-%m-%d).png #i3-scrot -d '%Y-%m-%d_$wx$h.png' # Fullscreen +bindsym $mod+Ctrl+Insert exec --no-startup-id maim -s ~/Pictures/$(date +%Y-%m-%d).png&& pinta ~/Pictures/$(date +%Y-%m-%d-%s).png # screenshot and edit + +# Screen recording +bindsym Shift+Print exec --no-startup-id ~/.i3/screencast2gif.sh +bindsym Print exec --no-startup-id "ffcast -q $(while slop -q -n -f '-g %g ';do :;done) rec ~/Videos/rec-%si-$(date +%Y-%m-%d-%s).mp4" +bindsym $mod+Print exec --no-startup-id pkill -fxn '(/\S+)*ffmpeg\s.*\sx11grab\s.*' + +# End keybind configuration diff --git a/home/.config/i3/conf.d/layout-keybinds.conf b/home/.config/i3/conf.d/layout-keybinds.conf new file mode 100644 index 0000000..f58bc15 --- /dev/null +++ b/home/.config/i3/conf.d/layout-keybinds.conf @@ -0,0 +1,83 @@ +# Configure keybinds that interact with window layout + +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# toggle sticky +bindsym $mod+Shift+s sticky toggle + +# focus the parent container +bindsym $mod+a focus parent + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show + +# split orientation +bindsym $mod+h split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# change focus vim keybinding +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# change focus arrow keybinding +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window vim keybinding +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# move focused window arrow keybinding +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 5 px or 5 ppt + bindsym k resize grow height 5 px or 5 ppt + bindsym l resize shrink height 5 px or 5 ppt + bindsym semicolon resize grow width 5 px or 5 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 + + # exit resize mode: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# End layout keybinds diff --git a/home/.config/i3/conf.d/window-classes.conf b/home/.config/i3/conf.d/window-classes.conf new file mode 100644 index 0000000..c4102a6 --- /dev/null +++ b/home/.config/i3/conf.d/window-classes.conf @@ -0,0 +1,26 @@ +# Begin configuration for window classes + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="Calamares"] floating enable border normal +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable sticky enable border normal +for_window [class="Manjaro-hello"] floating enable +for_window [class="Manjaro Settings Manager"] floating enable border normal +for_window [class="Pamac-manager"] floating enable +for_window [class="qt5ct"] floating enable sticky enable border normal +for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal +for_window [class="Simple-scan"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="Xfburn"] floating enable +for_window [class="feh"] floating enable +for_window [class="steamwebhelper"] floating enable +for_window [class="terminator"] floating enable sticky enable +for_window [class="^telegram-desktop"] floating enable sticky enable + +# End window class configuration diff --git a/home/.config/i3/conf.d/workspace.conf b/home/.config/i3/conf.d/workspace.conf new file mode 100644 index 0000000..e341244 --- /dev/null +++ b/home/.config/i3/conf.d/workspace.conf @@ -0,0 +1,71 @@ +# Begin configuration for workspaces (virtual desktops) + +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus + +# Workspace labels - uses font icons +set $ws1 "1|" +set $ws2 "2|" +set $ws3 "3|" +set $ws4 "4|" +set $ws5 "5|" +set $ws6 "6|" +set $ws7 "7|" +set $ws8 "8|" +set $ws9 "9|" + +# switch to numbered workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 + +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 +bindsym $mod+Ctrl+9 move container to workspace $ws9 + +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 + +# Move to next/previous workspace +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev + +# Assign window classes to specific workspaces on launch +assign [class="^telegram-desktop"] $ws2 +assign [class="^Telegram"] $ws2 +assign [class="^Discord"] $ws2 +assign [class="^Spotify"] $ws6 +assign [class="^discord"] $ws2 +assign [class="^Steam"] $ws8 +assign [class="^Java"] $ws7 +assign [class="^Synergy"] $ws4 +assign [class="^AnyDesk"] $ws4 +assign [class="^Code"] $ws5 + +# End workspace configuration diff --git a/home/.config/i3/config b/home/.config/i3/config index 9bdfdd7..e69de29 100644 --- a/home/.config/i3/config +++ b/home/.config/i3/config @@ -1,391 +0,0 @@ -# TODO: Make this only run once, even if the user reloads i3-config (mod-shift-r) -# tray icons(DP-0 is the primary display device's name,use the command "xrandr" to see.) -exec --no-startup-id xrandr --output DP1 --primary -# Put Apple Cinima Display on the right of DP-0 -exec --no-startup-id xrandr --output DP2 --left-of DP1 -# Third monitor -#exec --no-startup-id xrandr --output VGA1 --left-of DP2 -exec --no-startup-id xrandr --output VGA1 --mode 1920x1200 --left-of DP2 - - -# Use the Super key as $mod, because Alt is used in tmux -set $mod Mod4 -set $i3_path ~/.i3 - -new_window pixel 1 -new_float normal - -hide_edge_borders none - -bindsym $mod+u border none -bindsym $mod+y border pixel 1 -bindsym $mod+n border normal - -font xft:URWGothic-Book 11 - -floating_modifier $mod - -# Default terminal -bindsym $mod+Return exec --no-startup-id terminator - -# Window kill command -bindsym $mod+Shift+q kill - -# start program launcher -bindsym $mod+d exec --no-startup-id rofi -show run -bindsym $mod+Tab exec --no-startup-id rofi -show window - -# Alternate program launcher -bindsym $mod+z exec --no-startup-id morc_menu - -# Setup lockscreen -bindsym $mod+p exec --no-startup-id i3lock-fancy -p - -# Random wallpaper -exec --no-startup-id $i3_path/wallpaper.sh& - -################################################################################################ -## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## -################################################################################################ - -exec --no-startup-id volumeicon -bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' -#exec --no-startup-id pulseaudio -#exec --no-startup-id pa-applet -#bindsym $mod+Ctrl+m exec pavucontrol - -################################################################################################ - -# Screen brightness controls -# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" -# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" - -# Keybinds -bindsym $mod+Ctrl+b exec --no-startup-id xfce4-terminal -e 'bmenu' -bindsym $mod+F2 exec --no-startup-id google-chrome-stable -bindsym $mod+F3 exec --no-startup-id pcmanfm -bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf -bindsym $mod+Ctrl+x --release exec --no-startup-id xkill - -bindsym $mod+n --release exec --no-startup-id terminator -e nnn - -bindsym Insert exec --no-startup-id maim -s ~/Pictures/$(date +%Y-%m-%d-%s).png #i3-scrot --select '%Y-%m-%d_$wx$h.png' # Selection -- CHange cursor? -bindsym $mod+Insert exec --no-startup-id ~/.i3/screenshotter.sh #i3-scrot -w '%Y-%m-%d_$wx$h.png' # Window -bindsym $mod+Shift+Insert --release exec --no-startup-id maim ~/Pictures/$(date +%Y-%m-%d).png #i3-scrot -d '%Y-%m-%d_$wx$h.png' # Fullscreen -bindsym $mod+Ctrl+Insert exec --no-startup-id maim -s ~/Pictures/$(date +%Y-%m-%d).png&& pinta ~/Pictures/$(date +%Y-%m-%d-%s).png # screenshot and edit - -# Screen recording -bindsym Shift+Print exec --no-startup-id ~/.i3/screencast2gif.sh -bindsym Print exec --no-startup-id "ffcast -q $(while slop -q -n -f '-g %g ';do :;done) rec ~/Videos/rec-%si-$(date +%Y-%m-%d-%s).mp4" -bindsym $mod+Print exec --no-startup-id pkill -fxn '(/\S+)*ffmpeg\s.*\sx11grab\s.*' - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -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+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right - -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# workspace back and forth (with/without active container) -workspace_auto_back_and_forth yes -bindsym $mod+b workspace back_and_forth -bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth - -# split orientation -bindsym $mod+h split h;exec notify-send 'tile horizontally' -bindsym $mod+v split v;exec notify-send 'tile vertically' -bindsym $mod+q split toggle - -# toggle 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+w 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 - -# toggle sticky -bindsym $mod+Shift+s sticky toggle - -# focus the parent container -bindsym $mod+a focus parent - -# move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show - -# navigate workspaces next / previous -bindsym $mod+Ctrl+Right workspace next -bindsym $mod+Ctrl+Left workspace prev - -# workspaces -set $ws1 "1|" -set $ws2 "2|" -set $ws3 "3|" -set $ws4 "4|" -set $ws5 "5|" -set $ws6 "6|" -set $ws7 "7|" -set $ws8 "8|" -set $ws9 "9|" - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 - -# Move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 -bindsym $mod+Ctrl+7 move container to workspace $ws7 -bindsym $mod+Ctrl+8 move container to workspace $ws8 -bindsym $mod+Ctrl+9 move container to workspace $ws9 - -# Move to workspace with focused container -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 - -# Assign window type to classes -assign [class="^telegram-desktop"] $ws2 -assign [class="^Telegram"] $ws2 -assign [class="^Discord"] $ws2 -assign [class="^Spotify"] $ws6 -assign [class="^discord"] $ws2 -assign [class="^Steam"] $ws8 -assign [class="^Java"] $ws7 -assign [class="^Synergy"] $ws4 -assign [class="^AnyDesk"] $ws4 -assign [class="^Code"] $ws5 - -# Open specific applications in floating mode -for_window [title="alsamixer"] floating enable border pixel 1 -for_window [class="Calamares"] floating enable border normal -for_window [class="Clipgrab"] floating enable -for_window [title="File Transfer*"] floating enable -for_window [class="Galculator"] floating enable border pixel 1 -for_window [class="GParted"] floating enable border normal -for_window [title="i3_help"] floating enable sticky enable border normal -for_window [class="Lightdm-gtk-greeter-settings"] floating enable -for_window [class="Lxappearance"] floating enable sticky enable border normal -for_window [class="Manjaro-hello"] floating enable -for_window [class="Manjaro Settings Manager"] floating enable border normal -for_window [class="Pamac-manager"] floating enable -for_window [class="qt5ct"] floating enable sticky enable border normal -for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal -for_window [class="Simple-scan"] floating enable border normal -for_window [class="(?i)virtualbox"] floating enable border normal -for_window [class="Xfburn"] floating enable -for_window [class="feh"] floating enable -for_window [class="steamwebhelper"] floating enable -for_window [class="terminator"] floating enable sticky enable -for_window [class="^telegram-desktop"] floating enable sticky enable - -# switch to workspace with urgent window automatically -for_window [urgent=latest] focus - -# 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'" - -# Set shut down, restart and locking features -bindsym $mod+0 mode "$mode_system" -set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown -mode "$mode_system" { - bindsym l exec --no-startup-id i3lock-fancy -p - bindsym s exec --no-startup-id i3exit suspend, mode "default" - bindsym u exec --no-startup-id i3exit switch_user, mode "default" - bindsym e exec --no-startup-id i3exit logout, mode "default" - #bindsym h exec --no-startup-id i3exit hibernate, mode "default" - bindsym r exec --no-startup-id i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" - - # exit system mode: "Enter" or "Escape" - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Resize window (you can also use the mouse for that) -bindsym $mod+r mode "resize" -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 5 px or 5 ppt - bindsym k resize grow height 5 px or 5 ppt - bindsym l resize shrink height 5 px or 5 ppt - bindsym semicolon resize grow width 5 px or 5 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 - - # exit resize mode: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Autostart applications -#exec --no-startup-id xfce4-panel --disable-wm-check -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec --no-startup-id nm-applet -exec --no-startup-id xfce4-power-manager -exec --no-startup-id stalonetray -exec --no-startup-id clipit -exec_always --no-startup-id ff-theme-util -exec_always --no-startup-id fix_xcursor -exec --no-startup-id start_conky_mia -#exec --no-startup-id i3-msg 'workspace $ws2; exec telegram-desktop' -#exec --no-startup-id i3-msg 'workspace $ws2; exec discord' -exec --no-startup-id xautolock -time 10 -locker blurlock - -# Timeout to activate screensaver/lockscreen -exec --no-startup-id xautolock -time 30 -locker i3lock-fancy -p - -# Composition Manager (Transparency) -#exec --no-startup-id xcompmgr -c -f -n -exec --no-startup-id compton --config ~/.compton.conf - -# Network Keyboard/Mouse/Clipboard -exec --no-startup-id synergy -# Personal VPN (PIA-manager) -#exec --no-startup-id "/bin/sh /opt/pia/ruby/ruby.sh /opt/pia/pia_manager/run.rb" - -#bar { -# status_command i3status -#} - -bar { -# status_command i3status -c ~/.config/i3/i3status.conf - status_command i3blocks -c $i3_path/i3blocks.conf - - position top -# mode hide - workspace_buttons yes - tray_output DP-0 - tray_padding 0 - separator_symbol "|" - - colors { - background #222D31 - statusline #F9FAF9 - separator #454947 - -# border backgr. text - focused_workspace #F9FAF9 #16a085 #292F34 - active_workspace #595B5B #353836 #FDF6E3 - inactive_workspace #595B5B #222D31 #EEE8D5 - binding_mode #16a085 #2C2C2C #F9FAF9 - urgent_workspace #16a085 #FDF6E3 #E5201D - } - -#height 30 -} - -# Toggle visibility of status bar -bindsym $mod+m bar mode toggle - -# Theme colors -# class border backgr. text indic. child_border - client.focused #556064 #556064 #80FFF9 #FDF6E3 - client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 - client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 - client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 - client.placeholder #000000 #0c0c0c #ffffff #000000 - - client.background #2B2C2B - - -# Gaps -gaps inner 10 -gaps outer 4 - -smart_gaps on - -smart_borders on - -# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. -set $mode_gaps Gaps: (o) outer, (i) inner -set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) -set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) -bindsym $mod+Shift+g mode "$mode_gaps" - -mode "$mode_gaps" { - bindsym o mode "$mode_gaps_outer" - bindsym i mode "$mode_gaps_inner" - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_inner" { - bindsym plus gaps inner current plus 5 - bindsym minus gaps inner current minus 5 - bindsym 0 gaps inner current set 0 - - bindsym Shift+plus gaps inner all plus 5 - bindsym Shift+minus gaps inner all minus 5 - bindsym Shift+0 gaps inner all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_outer" { - bindsym plus gaps outer current plus 5 - bindsym minus gaps outer current minus 5 - bindsym 0 gaps outer current set 0 - - bindsym Shift+plus gaps outer all plus 5 - bindsym Shift+minus gaps outer all minus 5 - bindsym Shift+0 gaps outer all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -}