Added i3wm, vim and zsh config.
This commit is contained in:
19
i3wm/Authenticator.sh
Executable file
19
i3wm/Authenticator.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
SECRET_GOOGLE="asdf"
|
||||
SECRET_FACEBOOK="asdf"
|
||||
SECRET_DROPBOX="asdf"
|
||||
|
||||
ARG="${1}"
|
||||
|
||||
case ${ARG} in
|
||||
"google")
|
||||
jauth -secret=${SECRET_GOOGLE}
|
||||
;;
|
||||
"facebook")
|
||||
jauth -secret=${SECRET_FACEBOOK}
|
||||
;;
|
||||
"dropbox")
|
||||
jauth -secret=${SECRET_DROPBOX}
|
||||
;;
|
||||
esac
|
||||
277
i3wm/config
Normal file
277
i3wm/config
Normal file
@@ -0,0 +1,277 @@
|
||||
#######################################
|
||||
# _____ ____ #
|
||||
# |_ _||___ \ #
|
||||
# | | __) |__ __ _ __ ___ #
|
||||
# | | |__ < \ \ /\ / /| '_ ` _ \ #
|
||||
# _| |_ ___) | \ V V / | | | | | | #
|
||||
# |_____||____/ \_/\_/ |_| |_| |_| #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#############################################
|
||||
# General configurations #
|
||||
#############################################
|
||||
|
||||
# font
|
||||
set $font "pango:RobotoMono 12"
|
||||
font $font
|
||||
|
||||
# floating modifier
|
||||
# mod1 = Alt (xmodmap to show)
|
||||
# mod4 = Winkey (xmodmap to show)
|
||||
set $mod mod4
|
||||
floating_modifier $mod
|
||||
|
||||
# remove window decorations
|
||||
new_window pixel
|
||||
|
||||
# focus follows mouse
|
||||
focus_follows_mouse yes
|
||||
|
||||
|
||||
#############################################
|
||||
# Script Section #
|
||||
#############################################
|
||||
|
||||
#
|
||||
# "xev" and "showkeys" can be usefull to determine the keycodes.
|
||||
#
|
||||
|
||||
# Sound softkeys management
|
||||
bindsym Print exec ~/.i3/volnotid.sh down
|
||||
bindsym Scroll_Lock exec ~/.i3/volnotid.sh up
|
||||
bindsym Pause exec ~/.i3/volnotid.sh mute
|
||||
|
||||
# Display brightness management
|
||||
bindsym XF86MonBrightnessUp exec "xbacklight +10"
|
||||
bindsym XF86MonBrightnessDown exec "xbacklight -10"
|
||||
|
||||
# Lenovo Key wifi-menu
|
||||
bindsym XF86Launch1 exec urxvt -e sh -c "sudo wifi-menu wlp3s0"
|
||||
|
||||
# jauth two factor authenticator
|
||||
bindsym $mod+F1 exec ~/.i3/Authenticator.sh google
|
||||
bindsym $mod+F2 exec ~/.i3/Authenticator.sh facebook
|
||||
bindsym $mod+F3 exec ~/.i3/Authenticator.sh dropbox
|
||||
|
||||
# start dmenu-launcher
|
||||
bindsym $mod+d exec ~/.i3/i3dmenu-wrapper.sh
|
||||
|
||||
# lock i3 with i3lock
|
||||
bindsym $mod+Shift+x exec ~/.i3/i3blur.py && systemctl suspend
|
||||
|
||||
#############################################
|
||||
# Keymaps #
|
||||
#############################################
|
||||
|
||||
# start terminal
|
||||
bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# change focus vim Style
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+l focus right
|
||||
bindsym $mod+j focus up
|
||||
bindsym $mod+k focus down
|
||||
|
||||
# move focused window vim Style
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+l move right
|
||||
bindsym $mod+Shift+j move up
|
||||
bindsym $mod+Shift+k move down
|
||||
|
||||
# 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+v split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+c split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# 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
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# restart i3 inplace
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
# exit i3
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3?' -b 'Yes' 'i3-msg exit'"
|
||||
|
||||
# enter the resize mode
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# scratchpad
|
||||
bindsym $mod+y scratchpad show
|
||||
bindsym $mod+x move scratchpad
|
||||
|
||||
#############################################
|
||||
# Workspace & Tags #
|
||||
#############################################
|
||||
|
||||
# name for the workspaces
|
||||
set $tag1 "1 Terminal"
|
||||
set $tag2 "2 Internet"
|
||||
set $tag3 "3 Coding"
|
||||
set $tag4 "4 Music"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace $tag1
|
||||
bindsym $mod+2 workspace $tag2
|
||||
bindsym $mod+3 workspace $tag3
|
||||
bindsym $mod+4 workspace $tag4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $tag1
|
||||
bindsym $mod+Shift+2 move container to workspace $tag2
|
||||
bindsym $mod+Shift+3 move container to workspace $tag3
|
||||
bindsym $mod+Shift+4 move container to workspace $tag4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
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
|
||||
|
||||
#############################################
|
||||
# Resize handling #
|
||||
#############################################
|
||||
|
||||
mode "resize" {
|
||||
# bindings to resize
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
#############################################
|
||||
# Colors #
|
||||
#############################################
|
||||
|
||||
# colorscheme
|
||||
set $DARKBROWN #402e2e
|
||||
set $LIGHTBROWN #978965
|
||||
set $DARKGREY #1f1f1f
|
||||
set $DARKRED #9b0e0e
|
||||
|
||||
# name #top #border #text
|
||||
client.focused $DARKBROWN $LIGHTBROWN $DARKBROWN
|
||||
client.unfocused $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
client.focused_inactive $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
client.urgent $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
|
||||
|
||||
#############################################
|
||||
# i3-bar #
|
||||
#############################################
|
||||
|
||||
bar {
|
||||
position top
|
||||
font $font
|
||||
i3bar_command /usr/bin/i3bar
|
||||
status_command i3status -c ~/.i3/i3status.conf
|
||||
separator_symbol ".::"
|
||||
|
||||
colors {
|
||||
statusline $LIGHTBROWN
|
||||
background $DARKGREY
|
||||
separator $DARKRED
|
||||
|
||||
# name #border #bg #text
|
||||
focused_workspace $LIGHTBROWN $DARKBROWN $LIGHTBROWN
|
||||
active_workspace $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
inactive_workspace $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
urgent_workspace $DARKBROWN $DARKBROWN $LIGHTBROWN
|
||||
}
|
||||
}
|
||||
|
||||
#############################################
|
||||
# specific windows #
|
||||
#############################################
|
||||
|
||||
# always floating
|
||||
for_window [class="Thunar"] floating enable
|
||||
for_window [class="Nautilus"] floating enable
|
||||
for_window [class="GParted"] floating enable
|
||||
for_window [class="Gedit"] floating enable
|
||||
for_window [class="Evince"] floating enable
|
||||
for_window [class="Telegram"] floating enable
|
||||
for_window [class="teamspeak3"] floating enable
|
||||
for_window [class="rhythmbox"] floating enable
|
||||
for_window [class="LibreOffice"] floating enable
|
||||
for_window [class="JAuth"] floating enable
|
||||
|
||||
# 0px Border
|
||||
for_window [class="chrome"] border none
|
||||
for_window [class="Firefox"] border none
|
||||
|
||||
# 1px Border
|
||||
for_window [class="URxvt" ] border 1pixel
|
||||
|
||||
#############################################
|
||||
# auto start with i3 #
|
||||
#############################################
|
||||
|
||||
# less eye pain
|
||||
exec --no-startup-id redshift-gtk
|
||||
exec --no-startup-id compton -cCGb
|
||||
|
||||
# fucking no beep!
|
||||
exec --no-startup-id xset b off
|
||||
|
||||
# set dpi for my monitor
|
||||
exec --no-startup-id xrandr --dpi 81
|
||||
|
||||
# set mouse accel
|
||||
exec --no-startup-id xset m 1/4 1
|
||||
|
||||
# volnoti volume changer
|
||||
exec --no-startup-id volnoti
|
||||
|
||||
# numlock on by default
|
||||
exec --no-startup-id numlockx on
|
||||
|
||||
# wallpapers
|
||||
exec --no-startup-id nitrogen --restore
|
||||
|
||||
# archlinux update notifier
|
||||
exec --no-startup-id aarchup
|
||||
|
||||
# dropbox daemon
|
||||
exec dropbox start
|
||||
|
||||
# telegram
|
||||
#exec -no-startup-id telegram-desktop
|
||||
48
i3wm/i3blur.py
Executable file
48
i3wm/i3blur.py
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/python2
|
||||
import gtk.gdk
|
||||
import os, sys
|
||||
from PIL import ImageFilter
|
||||
from PIL import Image
|
||||
|
||||
# Get screen and its size
|
||||
w = gtk.gdk.get_default_root_window()
|
||||
sz = w.get_size()
|
||||
|
||||
print "[DEBUG]: The size of the window is %d x %d" % sz
|
||||
|
||||
# Get a drawable with the size of the desktop
|
||||
scr = gtk.gdk.Pixbuf( gtk.gdk.COLORSPACE_RGB,
|
||||
False,
|
||||
8,
|
||||
sz[0],
|
||||
sz[1])
|
||||
|
||||
# Fill it with the screenshot
|
||||
scr = scr.get_from_drawable(w,
|
||||
w.get_colormap(),
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
sz[0],
|
||||
sz[1])
|
||||
|
||||
# Save the screenshot as png
|
||||
if(scr != None):
|
||||
scr.save("/tmp/i3screen.png","png")
|
||||
print "[DEBUG]: Screenshot saved to /tmp/i3screen.png."
|
||||
else:
|
||||
print "[DEBUG]: Unable to get the screenshot."
|
||||
|
||||
# Load the screenshot as image and blur it
|
||||
iml = Image.open("/tmp/i3screen.png")
|
||||
iml = iml.filter(ImageFilter.BLUR)
|
||||
|
||||
# Save the blured screenshot and call i3lock
|
||||
if(iml != None):
|
||||
iml.save("/tmp/i3screenblr.png", "png")
|
||||
os.system("i3lock -i /tmp/i3screenblr.png")
|
||||
print "[DEBUG]: Screenshot blured and saved to /tmp/i3screenblr.png."
|
||||
else:
|
||||
print "[DEBUG]: Unable to blur the screenshot."
|
||||
|
||||
8
i3wm/i3dmenu-wrapper.sh
Executable file
8
i3wm/i3dmenu-wrapper.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
BACKGROUND='#402e2e'
|
||||
FOREGOURND='#978965'
|
||||
SELECTED_BACKGROUND='#808080'
|
||||
SELECTED_FOREGROUND='#ffff00'
|
||||
|
||||
i3-dmenu-desktop --dmenu='dmenu -i -nb '#402e2e' -nf '#978965' -sb '#808080' -sf '#ffff00' -l 8'
|
||||
63
i3wm/i3status.conf
Normal file
63
i3wm/i3status.conf
Normal file
@@ -0,0 +1,63 @@
|
||||
# i3status configuration file.
|
||||
|
||||
general {
|
||||
colors = true
|
||||
interval = 1
|
||||
}
|
||||
|
||||
#order += "ipv6"
|
||||
order += "disk /home"
|
||||
order += "disk /"
|
||||
order += "disk /media/Data1"
|
||||
order += "disk /media/Data2"
|
||||
order += "run_watch VPN"
|
||||
order += "ethernet eth0"
|
||||
order += "cpu_temperature 0"
|
||||
order += "volume master"
|
||||
order += "tztime local"
|
||||
|
||||
ethernet eth0 {
|
||||
format_up = "🔌 %ip (%speed)"
|
||||
format_down = "🔌 down"
|
||||
}
|
||||
|
||||
run_watch DHCP {
|
||||
pidfile = "/var/run/dhclient*.pid"
|
||||
}
|
||||
|
||||
run_watch VPN {
|
||||
pidfile = "/var/run/vpn/pid"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = " 📅 %d-%m-%Y 🕑 %H:%M:%S"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "🌡 %degrees °C"
|
||||
max_threshold = 65
|
||||
path = "/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "root: %free"
|
||||
}
|
||||
|
||||
disk "/home" {
|
||||
format = "home: %free"
|
||||
}
|
||||
|
||||
disk "/media/Data1" {
|
||||
format = "data1: %free"
|
||||
}
|
||||
|
||||
disk "/media/Data2" {
|
||||
format = "data2: %free"
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = "♪ %volume"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
mixer_idx = 0
|
||||
}
|
||||
37
i3wm/volnotid.sh
Executable file
37
i3wm/volnotid.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
VOLUME=$(amixer get Master | grep Mono: | sed 's|[^[]*\[\([0-9]*\).*|\1|')
|
||||
VALUE=3dB
|
||||
MUTE=0
|
||||
|
||||
case "$1" in
|
||||
"up")
|
||||
# Increase Volume
|
||||
[[ "$VOLUME" -eq 100 ]] && VALUE=0
|
||||
amixer -q set Master $VALUE+ unmute && killall -SIGUSR1 i3status
|
||||
MUTE=0
|
||||
;;
|
||||
"down")
|
||||
# Decrease Volume
|
||||
amixer -q set Master $VALUE- unmute && killall -SIGUSR1 i3status
|
||||
MUTE=0
|
||||
# If the Volume is already 0, then mute
|
||||
if [ "$VOLUME" == "0" ]; then
|
||||
MUTE=1
|
||||
amixer -q set Master toggle && killall -SIGUSR1 i3status
|
||||
fi
|
||||
;;
|
||||
"mute")
|
||||
# Mute
|
||||
amixer -q set Master toggle && killall -SIGUSR1 i3status
|
||||
MUTE=1
|
||||
;;
|
||||
esac
|
||||
|
||||
VOLUME=$(amixer get Master | grep Mono: | sed 's|[^[]*\[\([0-9]*\).*|\1|')
|
||||
|
||||
if [ "$MUTE" == "0" ]; then
|
||||
volnoti-show $VOLUME
|
||||
else
|
||||
volnoti-show -m $VOLUME
|
||||
fi
|
||||
Reference in New Issue
Block a user