# Please see http://i3wm.org/docs/userguide.html for a complete reference!
#
set_from_resource $darkred color1 #000000
set_from_resource $red color9 #000000
set_from_resource $darkgreen color2 #000000
set_from_resource $green color10 #000000
set_from_resource $darkyellow color3 #000000
set_from_resource $yellow color11 #000000
set_from_resource $darkblue color4 #000000
set_from_resource $blue color12 #000000
set_from_resource $darkmagenta color5 #000000
set_from_resource $magenta color13 #000000
set_from_resource $darkcyan color6 #000000
set_from_resource $cyan color14 #000000
set_from_resource $darkwhite color7 #000000
set_from_resource $white color15 #000000
# Use custom colors for black
set $black #282828
set $darkblack #1d2021
set $transparent #00000000
set $mod Mod4
set $mod1 Mod1
set $terminal termite
gaps outer 0
gaps inner 0
set $borderwidth 1
# bindsym F1 exec ~/bin/dmenu
bindsym $mod+m exec terminator
# 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 8
# 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 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec $terminal
bindsym $mod+x exec $terminal
# Custom bindsyms
bindsym $mod+p exec ~/.config/i3/bin/logout
# kill focused window
bindsym $mod+q kill
# start dmenu (a program launcher)
#bindsym $mod+d exec --no-startup-id rofi -show run -font "FontAwesome 12" -m -1
bindsym $mod+d exec --no-startup-id ~/.config/i3/bin/rofi_app_launcher
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
# bindsym $mod+l focus up
bindsym $mod+semicolon 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+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon 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
# 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+w layout tabbed
bindsym $mod+t 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+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Workspace Variables
set $ws1 "1: "
set $ws2 "2: "
set $ws3 "3: "
set $ws4 "4: "
set $ws5 "5: "
set $ws6 "6: "
set $ws7 "7: "
# 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 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
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+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'"
# 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 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 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon 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 Up resize grow height 10 px or 10 ppt
bindsym Down 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"
bindsym $mod+Shift+f exec ~/.config/i3/bin/rofi_finder
# Custom bind keys
#bindsym $mod+l exec i3lock
#
bindsym $mod+l exec i3lock -i ~/Pictures/others/cube.png
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
# Pulse Audio controls
# run pactl list sinks
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume $(pacmd list-sinks |awk '/* index:/{print $3}') +5% # Raise
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume $(pacmd list-sinks |awk '/* index:/{print $3}') -5% # Lower
bindsym XF86AudioMute exec pactl set-sink-mute $(pacmd list-sinks |awk '/* index:/{print $3}') toggle # Mute
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
# Touchpad controls
#bindsym XF86TouchpadToggle exec ~/.toggletouchpad.sh # toggle touchpad
# Mpd keys
# bindsym F9 exec mpc stop
# bindsym F10 exec mpc toggle
# bindsym F11 exec mpc prev
# bindsym F12 exec mpc next
# multimedia keys
bindsym XF86AudioPlay exec "mpc toggle"
bindsym XF86AudioStop exec "mpc stop"
bindsym XF86AudioNext exec "mpc next"
bindsym XF86AudioPrev exec "mpc prev"
bindsym XF86AudioPause exec "mpc pause"
# i3blocks
bar {
# status_command i3blocks
# status_command py3status -c ~/.i3/i3status.conf
# position top
# font pango:Hack, FontAwesome 10
# separator_symbol " "
# strip_workspace_numbers yes
# statusline $white
# background $transparent
# separator $transparent
}
set $m1 #808080
set $m2 #FFF0E0
#BORDER BACKGROUND TEXT INDICATOR CHILD_BORDER
client.unfocused $black $black $m2 $darkblack $darkblack
client.focused_inactive $black $black $m1 $darkblack $darkblack
client.urgent $darkred $darkred $black $darkred $darkred
client.background $black
# Startup programs
exec --no-startup-id mpd
#exec --no-startup-id conky
#exec --no-startup-id dropbox &
exec --no-startup-id dunst
exec_always compton &
exec_always feh --bg-scale ~/Pictures/grub.png
exec ~/.config/i3/scripts/batnotify &
# bindsym $mod+j exec --no-startup-id feh --bg-fill "$(find ~/Pictures/wallpapers | shuf -n1)" &
#exec_always --no-startup-id nm-applet
#exec --no-startup-id termite -name ncmpcpp -e ncmpcpp -s playlist
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
# ssh passphrase
#exec --no-startup-id /usr/lib/gnome-settings-daemon/gnome-settings-daemon
# Bind App to workspace
# Check class by : xprop
assign [class="Chromium"] $ws2
assign [class="Foxit Reader"] $ws3
assign [class="Thunar"] $ws4
assign [class="Pcmanfm"] $ws4
assign [class="mtp-ng-qt"] $ws4
assign [class="Virt-manager"] $ws5
assign [class="Vmware"] $ws5
assign [class="VirtualBox"] $ws5
assign [class="Firefox"] $ws6
assign [class="Opera"] $ws6
assign [class="GNS3"] $ws7
# Assign to certain workspace
#assign [window_role="browser"] $ws2
#assign [class="(?i)qutebrowser"] $ws2
assign [instance="spotify|cheese|gimp"] $ws6
# Custom Keybinds
bindsym $mod+c exec chromium
# Press $mod+o followed by either f, t, Esc or Return to launch firefox,
# thunderbird or return to the default mode, respectively.
set $mode_launcher Launcher
bindsym $mod+o mode "$mode_launcher"
mode "$mode_launcher" {
bindsym f exec foxitreader
bindsym l exec lxappearance
bindsym t exec thunar
bindsym f exec firefox
bindsym m exec terminator
bindsym v exec virt-manager
bindsym w exec vmware
bindsym s exec simplescreenrecorder
bindsym d exec deepin-screenshot
bindsym a exec android-file-transfer
bindsym b exec virtualbox
bindsym g exec gns3
bindsym p exec pcmanfm
bindsym o exec opera
bindsym Esc mode "default"
bindsym Return mode "default"
}
# Shutdown, Reboot, Lock Screen, and Logout
set $power_mode "power"
bindsym $mod+Shift+q mode $power_mode
mode $power_mode {
bindsym p exec systemctl poweroff
bindsym r exec systemctl reboot
bindsym l exec i3lock -i ~/Pictures/cube.png , mode "default"
bindsym q exec --no-startup-id i3-msg exit, mode "default"
bindsym h exec systemctl hibernate
bindsym s exec sudo /lib/systemd/systemd-sleep hybrid-sleep
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Floating windows
#for_window [window_role="pop-up"] floating enable
#for_window [window_role="bubble"] floating enable
#for_window [window_role="task_dialog"] floating enable
#for_window [window_role="Preferences"] floating enable
for_window [window_role="task_dialog|bubble|page-info|Preferences|pop-up"] floating enable
for_window [window_role="Open Files"] floating enable sticky
for_window [window_role="File Operation Progress"] floating enable sticky
for_window [window_role="Save As"] floating enable
for_window [class="qBittorrent" window_role="pop-up"] floating enable
for_window [class="mtp-ng-qt" window_role="Open"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
#for_window [class="VirtualBox"] floating enable
# Sticky window
for_window [instance="file_progress"] sticky enable
for_window [class="info|Mate-color-select|gcolor2|timesup|QtPass|GtkFileChooserDialog"] sticky enable
# Teamviewer
for_window [instance="TeamViewer.exe"] floating enable
for_window [class="TeamViewer"] floating enable
for_window [instance="Qt-subapplication" title="TeamViewer"] move scratchpad
# Focus window settings
no_focus [window_role="pop-up"]
focus_on_window_activation focus
#for_window [class="(?i)"] focus
# Rename workspace with i3-input using numbers and text
bindsym $mod+n exec i3-input -F 'rename workspace to "%s"' -P 'New name for this workspace: '
for_window [class="chromium" instance="chromium"] border none
# screenshot
bindsym --release Print exec --no-startup-id "maim -p 0 -c 0.96,0.5,0.09 $HOME/Pictures/screenshot-$(date +%Y-%m-%d_%H-%M-%S).png"
bindsym --release Shift+Print exec --no-startup-id "maim -s -p 0 -c 0.96,0.5,0.09 $HOME/Pictures/screenshot-$(date +%Y-%m-%d_%H-%M-%S).png"