From 40dddc15f4a323d3c84c84be7bb2c5ca94d3c07c Mon Sep 17 00:00:00 2001 From: neodarz Date: Thu, 5 Sep 2019 07:46:05 +0200 Subject: Add i3 config --- README.md | 1 + config.yaml | 4 + dotfiles/config/i3/config | 423 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 428 insertions(+) create mode 100644 dotfiles/config/i3/config diff --git a/README.md b/README.md index 5a941cf..e22a5b1 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ alacritty > terminal config cheat > cheatsheets management git > global git config + i3 > i3 window manager config i3pystatus > i3 bar window manager replacement config systemd > user services for differents application ``` diff --git a/config.yaml b/config.yaml index 2be2061..577e981 100644 --- a/config.yaml +++ b/config.yaml @@ -21,6 +21,9 @@ dotfiles: f_gitconfig: src: gitconfig dst: ~/.gitconfig + d_i3: + src: config/i3 + dst: ~/.config/i3 profiles: unicorn: dotfiles: @@ -30,6 +33,7 @@ profiles: - d_systemd - d_cheat - f_gitconfig + - d_i3 fenec: dotfiles: - d_i3pystatus diff --git a/dotfiles/config/i3/config b/dotfiles/config/i3/config new file mode 100644 index 0000000..ec3df66 --- /dev/null +++ b/dotfiles/config/i3/config @@ -0,0 +1,423 @@ +# exec evolution +# This file has been auto-generated by i3-config-wiizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + + +### THEME ### + +set $WHITE #ffffff +set $BLACK #000000 + +# Layout colors bord bg text indicator (split) +client.focused $WHITE $WHITE $BLACK $WHITE +client.focused_inactive $BLACK $BLACK $BLACK $BLACK +client.unfocused $BLACK $BLACK $WHITE $BLACK +client.urgent $WHITE $BLACK $WHITE $WHITE +client.background $BLACK + +hide_edge_borders both + +### Borders ### + +#new_window pixel 4 +#new_float pixel 4 + +for_window [class="^.*"] border pixel 1 + +focus_follows_mouse no + +### Gaps ### +#set $default_gaps_inner 12 +#set $default_gaps_outer 0 +#gaps inner $default_gaps_inner +#gaps outer $default_gaps_outer + +set $ws1 I +set $ws2 II +set $ws3 III +set $ws4 IV +set $ws5 V +set $ws6 VI +set $ws7 VII +set $ws8 VIII +set $ws9 IX +set $ws10 X + + +# +# i3 config file (v4) +# +# Please see http://i3wm.org/docs/userguide.html for a complete reference! + +set $WinKey Mod4 +set $AltKey Mod1 + +# help command + +bindsym $AltKey+h exec urxvt -fn "xft:Fira Code:size=8" -name floatme --background "#000000" -cursorColor "#31363B" -geometry 88x33 -e sh ~/.scripts/what.sh +bindsym Control+h exec urxvt -fn "xft:Fira Code:size=8" -name floatme --background "#000000" -cursorColor "#31363B" -geometry 88x33 -e sh ~/.scripts/what_command_help.sh +bindsym $WinKey+a exec urxvt -fn "xft:Fira Code:size=8" -name floatme --background "#000000" -cursorColor "#31363B" -geometry 88x49 -e sh ~/.scripts/what_alias.sh + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monoid 6 + +# 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 + +# Before i3 v4.8, we used to recommend this one as the default: +# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 +# The font above is very space-efficient, that is, it looks good, sharp and +# clear in small sizes. However, its unicode glyph coverage is limited, the old +# X core fonts rendering does not support right-to-left and this being a bitmap +# font, it doesn’t scale on retina/hidpi displays. + +# Use Mouse+$WinKey to drag floating windows to their wanted position +floating_modifier $WinKey + +#for_window [class="URvxt"] floating enable +#for_window [title="Euro Truck Simulator 2"] floating enable +#for_window [title="Euro Truck Simulator 2"] move position -4px -4px, resize grow height 4px, resize grow width 3840px; + +# Sreen brightness controls +bindsym XF86MonBrightnessUp exec xbacklight -inc 1 # increase screen brightness +bindsym XF86MonBrightnessDown exec xbacklight -dec 1 # decrease screen brightness + +bindsym XF86AudioMute exec amixer set Master toggle + +bindsym XF86AudioLowerVolume exec amixer -q sset Master 1%- +bindsym XF86AudioRaiseVolume exec amixer -q sset Master 1%+ + +# Microphone control => amixer set Capture toggle +bindsym $WinKey+control+m exec amixer set Capture toggle + + +# CAPS & NUM status +bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks +bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks + +# App +bindcode 107 --release exec scrot -s '%Y-%m-%d-%H%M%S_$wx$h.png' -e 'mv $f ~/Screenshots/' +bindsym --release $WinKey+i exec scrot '%Y-%m-%d-%H%M%S_$wx$h.png' -e 'mv $f ~/Screenshots/' +bindsym --release Scroll_Lock exec scrot -sz -e '~/.scripts/dropshadow.sh $f' +bindsym $WinKey+Shift+F1 exec alacritty -e ranger +bindsym $WinKey+Shift+F2 exec alacritty -e cmus +bindsym $WinKey+Shift+F3 exec alacritty -e mm +bindsym $WinKey+Shift+F4 exec alacritty -e mosh neodarz.net --ssh="ssh -p 19977" +bindsym $WinKey+Shift+F5 exec waterfox +#bindsym $WinKey+Shift+F6 exec alacritty -e atom +bindsym $WinKey+Shift+F7 exec alacritty -e ncmpcpp +bindsym $WinKey+Shift+F8 exec alacritty -e qutebrowser +#bindsym $AltKey+a exec urxvt -name floatme --background "#000000" -cursorColor "#31363B" -font 7x13 -geometry 88x33 -e "pygmentize ~/.zsh/aliases.zsh | less" +#bindsym $WinKey+Shift+v move morkspace to output right +bindsym $WinKey+control+l exec i3lock-fancy -p -n +bindsym $WinKey+p exec ~/.scripts/launch_rofi-pass.sh +#bindsym $WinKey+Shift+$AltKey+0 exec ~/.scripts/switch-workspace.py 6 +bindsym XF86AudioPlay exec ~/.scripts/switch_audio.sh 8 +bindsym $WinKey+g exec ~/.scripts/cycle-workspace.py +bindsym Control+$AltKey+Right exec ~/.scripts/cycle-workspace-multiscreen.py right +bindsym Control+$AltKey+Left exec ~/.scripts/cycle-workspace-multiscreen.py left +bindsym Control+$AltKey+Up exec ~/.scripts/cycle-workspace-multiscreen.py top +bindsym Control+$AltKey+Down exec ~/.scripts/cycle-workspace-multiscreen.py bottom + +# start a terminal +#bindsym $WinKey+Return exec urxvt --termName 'rxvt-unicode' -fn 'xft:Fira Code:size=8' --background 'black' --color0 'black' --color8 'black' --color1 'red' --color9 'red' --color2 'green' --color10 'green' --color3 'yellow' --color11 'yellow' --color4 'blue' --color12 'blue' --color6 'cyan' --color14 'cyan' --color7 'white' --color15 'white' -cursorColor '#ffffff' +bindsym $WinKey+Return exec alacritty + +# kill focused window +bindsym $WinKey+Shift+A kill + +# start dmenu (a program launcher) +#bindsym $WinKey+d exec rofi -show run +#bindsym $WinKey+d exec rofi -run-list-command ". ~/.scripts/zsh_aliases_functions.sh" -run-command "/bin/zsh -i -c '{cmd}'" -show run +bindsym $WinKey+d exec rofi -show run +# There also is the (new) i3-dmenu-desktop which only displays applications +# shipping a .desktop file. It is a wrapper around dmenu, so you need that +# installed. +# bindsym $WinKey+d exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $WinKey+j focus left +bindsym $WinKey+k focus down +bindsym $WinKey+l focus up +bindsym $WinKey+m focus right + +# alternatively, you can use the cursor keys: +bindsym $WinKey+Left focus left +bindsym $WinKey+Down focus down +bindsym $WinKey+Up focus up +bindsym $WinKey+Right focus right + +# move focused window +bindsym $WinKey+Shift+j move left +bindsym $WinKey+Shift+k move down +bindsym $WinKey+Shift+l move up +bindsym $WinKey+Shift+M move right + +# alternatively, you can use the cursor keys: +bindsym $WinKey+Shift+Left move left +bindsym $WinKey+Shift+Down move down +bindsym $WinKey+Shift+Up move up +bindsym $WinKey+Shift+Right move right + +# split in horizontal orientation +bindsym $WinKey+h split h + +# split in vertical orientation +bindsym $WinKey+v split v + +# enter fullscreen mode for the focused container +bindsym $WinKey+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $WinKey+s layout stacking +bindsym $WinKey+z layout tabbed +bindsym $WinKey+e layout toggle split + +# toggle tiling / floating +bindsym $WinKey+t floating toggle + +# change focus between tiling / floating windows +bindsym $WinKey+Shift+space focus mode_toggle + +# focus the parent container +bindsym $WinKey+q focus parent + +# focus the child container +#bindsym $WinKey+d focus child + +# Set ~6 workspace par screen (20) +workspace 1 output DP-1 +workspace 2 output DP-1 +workspace 3 output DP-1 +workspace 4 output DP-1 +workspace 5 output DP-1 +workspace 6 output DP-1 +workspace 7 output DP-1 +workspace 8 output DP-1 +workspace 9 output DP-1 +workspace 10 output DP-1 + +workspace 11 output DP-3 +workspace 12 output DP-3 +workspace 13 output DP-3 +workspace 14 output DP-3 +workspace 15 output DP-3 +workspace 16 output DP-3 +workspace 17 output DP-3 +workspace 18 output DP-3 +workspace 19 output DP-3 +workspace 20 output DP-3 + +workspace 21 output DP-5 +workspace 22 output DP-5 +workspace 23 output DP-5 +workspace 24 output DP-5 +workspace 25 output DP-5 +workspace 26 output DP-5 +workspace 27 output DP-5 +workspace 28 output DP-5 +workspace 29 output DP-5 +workspace 30 output DP-5 + +# move focused window between monitors +bindsym $WinKey+Control+Shift+greater move workspace to output right +bindsym $WinKey+Control+less move workspace to output left + +# switch to workspace +#.#fr +#.bindsym $WinKey+ampersand workspace 1 +#.bindsym $WinKey+eacute workspace 2 +#.bindsym $WinKey+quotedbl workspace 3 +#.bindsym $WinKey+apostrophe workspace 4 +#.bindsym $WinKey+parenleft workspace 5 +#.bindsym $WinKey+minus workspace 6 +#.bindsym $WinKey+egrave workspace 7 +#.bindsym $WinKey+underscore workspace 8 +#.bindsym $WinKey+ccedilla workspace 9 +#.bindsym $WinKey+agrave workspace 10 +#.#fr. +#bepo +bindsym $WinKey+1 workspace 1 +bindsym $WinKey+2 workspace 2 +bindsym $WinKey+3 workspace 3 +bindsym $WinKey+4 workspace 4 +bindsym $WinKey+5 workspace 5 +bindsym $WinKey+6 workspace 6 +bindsym $WinKey+7 workspace 7 +bindsym $WinKey+8 workspace 8 +bindsym $WinKey+9 workspace 9 +bindsym $WinKey+0 workspace 10 +#bepo. + +# workspaces from 11-20 +#.#fr +#.bindsym $WinKey+Control+ampersand workspace 11 +#.bindsym $WinKey+Control+eacute workspace 12 +#.bindsym $WinKey+Control+quotedbl workspace 13 +#.bindsym $WinKey+Control+apostrophe workspace 14 +#.bindsym $WinKey+Control+parenleft workspace 15 +#.bindsym $WinKey+Control+minus workspace 16 +#.bindsym $WinKey+Control+egrave workspace 17 +#.bindsym $WinKey+Control+underscore workspace 18 +#.bindsym $WinKey+Control+ccedilla workspace 19 +#.bindsym $WinKey+Control+agrave workspace 20 +#.#fr. +#bepo +bindsym $WinKey+Control+1 workspace 11 +bindsym $WinKey+Control+2 workspace 12 +bindsym $WinKey+Control+3 workspace 13 +bindsym $WinKey+Control+4 workspace 14 +bindsym $WinKey+Control+5 workspace 15 +bindsym $WinKey+Control+6 workspace 16 +bindsym $WinKey+Control+7 workspace 17 +bindsym $WinKey+Control+8 workspace 18 +bindsym $WinKey+Control+9 workspace 19 +bindsym $WinKey+Control+0 workspace 20 +#bepo. + +# workspace from 21-30 +#.#fr +#.bindsym $WinKey+$AltKey+ampersand workspace 21 +#.bindsym $WinKey+$AltKey+eacute workspace 22 +#.bindsym $WinKey+$AltKey+quotedbl workspace 23 +#.bindsym $WinKey+$AltKey+apostrophe workspace 24 +#.bindsym $WinKey+$AltKey+parenleft workspace 25 +#.bindsym $WinKey+$AltKey+minus workspace 26 +#.bindsym $WinKey+$AltKey+egrave workspace 27 +#.bindsym $WinKey+$AltKey+underscore workspace 28 +#.bindsym $WinKey+$AltKey+ccedilla workspace 29 +#.bindsym $WinKey+$AltKey+agrave workspace 30 +#.#fr. +#bepo +bindsym $WinKey+$AltKey+1 workspace 21 +bindsym $WinKey+$AltKey+2 workspace 22 +bindsym $WinKey+$AltKey+3 workspace 23 +bindsym $WinKey+$AltKey+4 workspace 24 +bindsym $WinKey+$AltKey+5 workspace 25 +bindsym $WinKey+$AltKey+6 workspace 26 +bindsym $WinKey+$AltKey+7 workspace 27 +bindsym $WinKey+$AltKey+8 workspace 28 +bindsym $WinKey+$AltKey+9 workspace 29 +bindsym $WinKey+$AltKey+0 workspace 30 +#bepo. + +# move focused container to workspace +bindsym $WinKey+Shift+eacute move container to workspace 2 +bindsym $WinKey+Shift+egrave move container to workspace 7 +bindsym $WinKey+Shift+ccedilla move container to workspace 9 +bindsym $WinKey+Shift+agrave move container to workspace 10 + +bindsym Control+$AltKey+eacute move container to workspace 12 +bindsym Control+$AltKey+egrave move container to workspace 17 +bindsym Control+$AltKey+ccedilla move container to workspace 19 +bindsym Control+$AltKey+agrave move container to workspace 20 + +bindsym $WinKey+Control+$AltKey+eacute move container to workspace 22 +bindsym $WinKey+Control+$AltKey+egrave move container to workspace 27 +bindsym $WinKey+Control+$AltKey+ccedilla move container to workspace 29 +bindsym $WinKey+Control+$AltKey+agrave move container to workspace 30 + +bindsym $WinKey+Shift+1 move container to workspace 1 +bindsym $WinKey+Shift+2 move container to workspace 2 +bindsym $WinKey+Shift+3 move container to workspace 3 +bindsym $WinKey+Shift+4 move container to workspace 4 +bindsym $WinKey+Shift+5 move container to workspace 5 +bindsym $WinKey+Shift+6 move container to workspace 6 +bindsym $WinKey+Shift+7 move container to workspace 7 +bindsym $WinKey+Shift+8 move container to workspace 8 +bindsym $WinKey+Shift+9 move container to workspace 9 +bindsym $WinKey+Shift+0 move container to workspace 10 + +bindsym Control+$AltKey+1 move container to workspace 11 +bindsym Control+$AltKey+2 move container to workspace 12 +bindsym Control+$AltKey+3 move container to workspace 13 +bindsym Control+$AltKey+4 move container to workspace 14 +bindsym Control+$AltKey+5 move container to workspace 15 +bindsym Control+$AltKey+6 move container to workspace 16 +bindsym Control+$AltKey+7 move container to workspace 17 +bindsym Control+$AltKey+8 move container to workspace 18 +bindsym Control+$AltKey+9 move container to workspace 19 +bindsym Control+$AltKey+0 move container to workspace 20 + +bindsym $WinKey+Control+$AltKey+1 move container to workspace 21 +bindsym $WinKey+Control+$AltKey+2 move container to workspace 22 +bindsym $WinKey+Control+$AltKey+3 move container to workspace 23 +bindsym $WinKey+Control+$AltKey+4 move container to workspace 24 +bindsym $WinKey+Control+$AltKey+5 move container to workspace 25 +bindsym $WinKey+Control+$AltKey+6 move container to workspace 26 +#bindsym $WinKey+Control+$AltKey+4 move container to workspace 27 +bindsym $WinKey+Control+$AltKey+8 move container to workspace 28 +bindsym $WinKey+Control+$AltKey+9 move container to workspace 29 +bindsym $WinKey+Control+$AltKey+0 move container to workspace 30 + + +bindsym $AltKey+Up exec xdotool mousemove_relative --clearmodifiers -- 0 -15 +bindsym $AltKey+Down exec xdotool mousemove_relative --clearmodifiers 0 15 +bindsym $AltKey+Left exec xdotool mousemove_relative --clearmodifiers -- -15 0 +bindsym $AltKey+Right exec xdotool mousemove_relative --clearmodifiers 15 0 +bindsym $AltKey+x exec xdotool click 3 +bindsym $AltKey+w exec xdotool click --clearmodifiers --repeat 2 1 +bindsym $AltKey+c exec xdotool 2 + +# reload the configuration file +bindsym $WinKey+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $WinKey+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $WinKey+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 m 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 $WinKey+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + #status_command i3blocks + colors { + background #000000 + statusline #ffffff + inactive_workspace #000000 #000000 #ffffff + active_workspace #000000 #000000 #00ffff + focused_workspace #ffffff #000000 #ffffff + urgent_worKspace #ffffff #ffffff #000000 + } + font pango:Monospace 8 + status_command python ~/.config/i3pystatus/conf.py +} +exec /home/neodarz/.screenlayout/default.sh +#exec feh --bg-scale /home/neodarz/wallpaper_animated/black.png +#exec /home/neodarz/wallpaper_animated/wall.sh /home/neodarz/wallpaper_animated/8bit_battle_preparation.gif +exec setxkbmap fr +exec export XDG_RUNTIME_DIR=/run/user/`id -u` +exec systemctl --user start twmnd.service +#exec alacritty -e $HOME/.scripts/working.sh +exec ~/.scripts/mpvbg ~/.wallpapers/wallpaper_01.mp4 -- cgit v1.2.1