Trying out GNU stow

Signed-off-by: TuDatTr <tran.tuan-dat@mailbox.org>
This commit is contained in:
TuDatTr
2018-01-08 01:53:16 +01:00
parent badbb8e1f5
commit 215bf58939
295 changed files with 4 additions and 5 deletions

406
i3/.config/i3/config Normal file
View File

@@ -0,0 +1,406 @@
# i3 config file (v4)
################################################################################################
####################################### System Settings ########################################
################################################################################################
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
set $mod Mod4
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# font xft:Noto Sans 12
focus_follows_mouse no
################################################################################################
####################################### Window Settings ########################################
################################################################################################
# Configure
# border style <normal|1pixel|pixel xx|none|pixel>
new_window pixel 1
new_float normal
hide_edge_borders none
################################################################################################
## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ##
################################################################################################
exec --no-startup-id volumeicon
bindsym $mod+Ctrl+m exec termite -e 'alsamixer'
#exec --no-startup-id pulseaudio
#exec --no-startup-id pa-applet
#bindsym $mod+Ctrl+m exec pavucontrol
################################################################################################
###################################### Workspace Settings ######################################
################################################################################################
# Workspace names
set $ws1 ""
set $ws2 ""
set $ws3 ""
set $ws4 ""
set $ws5 ""
set $ws6 ""
set $ws7 ""
set $ws8 ""
# 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
# 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
# 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
# Open applications on specific workspaces
assign [class="Firefox"] $ws2
assign [class="Spotify"] $ws7
assign [class="Thunderbird"] $ws3
assign [class="Keepassx2"] $ws8
assign [class="Veracrypt"] $ws8
# Open specific applications in floating mode
for_window [title="alsamixer"] flMoating 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 [title="MuseScore: Play Panel"] floating enable
for_window [class="Nitrogen"] floating enable sticky enable border normal
for_window [class="Oblogout"] fullscreen enable
for_window [class="octopi"] floating enable
for_window [title="About Pale Moon"] floating enable
for_window [class="Pamac-manager"] floating enable
for_window [class="Pavucontrol"] 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)System-config-printer.py"] floating enable border normal
for_window [class="Skype"] floating enable border normal
for_window [class="Thus"] floating enable border normal
for_window [class="Timeset-gui"] floating enable border normal
for_window [class="(?i)virtualbox"] floating enable border normal
for_window [class="Xfburn"] floating enable
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
###############################################################################
############################ Startup Applications #############################
###############################################################################
exec --no-startup-id ~/.scripts/startup.sh
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id nitrogen --restore; sleep 1; compton -b
exec --no-startup-id nm-applet
exec --no-startup-id blueman-applet
exec --no-startup-id xfce4-power-manager
#exec --no-startup-id pamac-tray
#exec --no-startup-id clipit
exec --no-startup-id start_conky_maia
exec_always --no-startup-id ff-theme-util
exec_always --no-startup-id fix_xcursor
exec --no-startup-id xautolock -time 10 -locker "python ~/.scripts/i3lock.py"
exec --no-startup-id nextcloud
###############################################################################
################################# Keybindings #################################
###############################################################################
# start a terminal
bindsym $mod+Return exec termite
# kill focused window
bindsym $mod+Shift+q kill
# start program launcher
bindsym $mod+d exec --no-startup-id dmenu_run
# launch categorized menu
bindsym $mod+z exec --no-startup-id morc_menu
# Screen brightness controls
bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
# Application Shortcuts
bindsym $mod+b exec firefox
bindsym $mod+e exec pcmanfm
bindsym $mod+m exec thunderbird
# bindsym $mod+t exec --no-startup-id pkill compton
# bindsym $mod+Ctrl+t exec --no-startup-id compton -b
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
bindsym Print exec --no-startup-id i3-scrot
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon 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
# 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+semicolon workspace next
bindsym $mod+Ctrl+j workspace prev
# 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 "python ~/.scripts/i3lock.py", mode "default"
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
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
# exit resize mode: Enter or Escape
bindsym $mod+g mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Lock screen
bindsym $mod+9 exec --no-startup-id "python ~/.scripts/i3lock.py"
# hide/unhide i3status bar
bindsym $mod+Alt_L bar mode toggle
# Color palette used for the terminal ( ~/.extend.Xresources file )
# Colors are gathered based on the documentation:
# https://i3wm.org/docs/userguide.html#xresources
# Change the variable name at the place you want to match the color
# of your terminal like this:
# [example]
# If you want your bar to have the same background color as your
# terminal background change the line 362 from:
# background $i3_background
# to:
# background $term_background
# Same logic applied to everything else.
# set_from_resource $term_background background
# set_from_resource $term_foreground foreground
# set_from_resource $term_color0 color0
# set_from_resource $term_color1 color1
# set_from_resource $term_color2 color2
# set_from_resource $term_color3 color3
# set_from_resource $term_color4 color4
# set_from_resource $term_color5 color5
# set_from_resource $term_color6 color6
# set_from_resource $term_color7 color7
# set_from_resource $term_color8 color8
# set_from_resource $term_color9 color9
# set_from_resource $term_color10 color10
# set_from_resource $term_color11 color11
# set_from_resource $term_color12 color12
# set_from_resource $term_color13 color13
# set_from_resource $term_color14 color14
# set_from_resource $term_color15 color15
# Color palette used for i3
# Variables are set based on the documentation:
# https://i3wm.org/dovs/userguide.html#variables
# Changing the value of one of the variables will
# effect all the areas with the same color.
set $i3_color1 #f9faf9
set $i3_color2 #595b5b
set $i3_color3 #353836
set $i3_color4 #16a085
set $i3_color5 #fdf6e3
set $i3_color6 #eee8d5
set $i3_color7 #e5201d
set $i3_color8 #808380
set $i3_color9 #434745
set $i3_color10 #454948
set $i3_color11 #80fff9
set $i3_color12 #fdf6e3
set $i3_color13 #cb4b16
set $i3_color14 #268bd2
set $i3_color15 #000000
set $i3_color16 #ffffff
set $i3_color17 #0c0c0c
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
status_command ~/.scripts/conkyi3
position top
font xft:Noto Sans 10
# strip_workspace_numbers yes
colors {
separator $i3_color3
background $i3_color10
statusline $i3_color1
# border bground text
focused_workspace $i3_color8 $i3_color4 $i3_color16
inactive_workspace $i3_color8 $i3_color10 $i3_color16
urgent_workspace $i3_color8 $i3_color4 $i3_color16
}
}
# Theme colors
# class border backgr. text indic. child_border
client.focused $i3_color4 $i3_color8 $i3_color11 $i3_color12
client.focused_inactive $i3_color9 $i3_color9 $i3_color4 $i3_color10
client.unfocused $i3_color9 $i3_color9 $i3_color4 $i3_color10
client.urgent $i3_color13 $i3_color12 $i3_color4 $i3_color14
client.placeholder $i3_color15 $i3_color17 $i3_color16 $i3_color15 $i3_color17
client.background $i3_color10
#############################
### settings for i3-gaps: ###
#############################
# Set inner/outer gaps
gaps inner 15
gaps outer -4
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
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 $mod+g mode "default"
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 $mod+g mode "default"
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 $mod+g mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}

85
i3/.config/termite/config Normal file
View File

@@ -0,0 +1,85 @@
[options]
#allow_bold = true
#audible_bell = false
#clickable_url = true
#dynamic_title = true
font = Monospace 12
#fullscreen = true
#geometry = 640x480
#icon_name = terminal
mouse_autohide = true
#scroll_on_output = false
#scroll_on_keystroke = true
# Length of the scrollback buffer, 0 disabled the scrollback buffer
# and setting it to a negative value means "infinite scrollback"
scrollback_lines = 10000
#search_wrap = true
#urgent_on_bell = true
hyperlinks = true
# $BROWSER is used by default if set, with xdg-open as a fallback
#browser = xdg-open
# "system", "on" or "off"
#cursor_blink = system
# "block", "underline" or "ibeam"
#cursor_shape = block
# Hide links that are no longer valid in url select overlay mode
#filter_unmatched_urls = true
# Emit escape sequences for extra modified keys
#modify_other_keys = false
# set size hints for the window
#size_hints = false
# "off", "left" or "right"
#scrollbar = off
[colors]
# If both of these are unset, cursor falls back to the foreground color,
# and cursor_foreground falls back to the background color.
#cursor = #dcdccc
#cursor_foreground = #dcdccc
#foreground = #dcdccc
#foreground_bold = #ffffff
# 20% background transparency (requires a compositor)
background = rgba(63, 63, 63, 0.5)
# If unset, will reverse foreground and background
#highlight = #2f2f2f
# Colors from color0 to color254 can be set
color0 = #303462
color1 = #60b48a
color2 = #60b48a
color3 = #dfaf8f
color4 = #5294E2
color5 = #dc8cc3
color6 = #8cd0d3
color7 = #dcdccc
color8 = #709080
color9 = #60b48a
color10 = #60b48a
color11 = #f0dfaf
color12 = #94bff3
color13 = #ec93d3
color14 = #93e0e3
color15 = #123456
[hints]
#font = Monospace 12
#foreground = #dcdccc
#background = #3f3f3f
#active_foreground = #e68080
#active_background = #3f3f3f
#padding = 2
#border = #3f3f3f
#border_width = 0.5
#roundness = 2.0
# vim: ft=dosini cms=#%s

4
i3/.scripts/conkyi3 Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
echo "{\"version\":1}"
echo "[[]"
exec conky -c /home/tuan/.scripts/conkyrc

51
i3/.scripts/conkyrc Executable file
View File

@@ -0,0 +1,51 @@
background no
out_to_console yes
out_to_x no
max_text_width 0
own_window no
update_interval 0.5
total_run_times 0
short_units yes
if_up_strictness address
use_spacer right
override_utf8_locale no
cpu_avg_samples 2
TEXT
,[
#Pacman
#{"full_text":" ","color":"\#AEB404","separator":false,"separator_block_width":6},\
#{"full_text":"[${execi 200 checkupdates | wc -l}]","color":"\#808080","separator":false,"separator_block_width":6},\
#AUR
#{"full_text":" ","color":"\#AEB404","separator":false,"separator_block_width":6},\
#{"full_text":"[${execi 1900 cower -u | wc -l}]","color":"\#808080","separator":false,"separator_block_width":6},\
#Kernel
#{"full_text":" ","color":"\#FF4000","separator":false,"separator_block_width":6},\
#{"full_text":"[${kernel}]","color":"\#808080","separator":false,"separator_block_width":6},\
#{ "full_text": ": ${kernel}","color":"\#FF4000"},
#Wifi
{"full_text":" ","color":"\#00FF00","separator":false,"separator_block_width":6},\
{"full_text":"[${wireless_essid wlp2s0}]","color":"\#808080","separator":false,"separator_block_width":6},\
#{"full_text": ": [${upspeed wlp2s0}] ", "color":"\#00FF00", "separator": false, "separator_block_width":6},\
#Finds current volume.
{"full_text":" ","color":"\#268BD2","separator":false,"separator_block_width":6},\
{"full_text":"${exec amixer -c 0 get Master | grep Mono: | cut -d " " -f6} ","color":"\#808080","separator":false,"separator_block_width":6},\
#{"full_text": ": ${exec amixer -c 0 get Master | grep Mono: | cut -d " " -f6} ", "color":"\#268BD2"},
#Brighness
{"full_text":" ","color":"\#F7FE2E","separator":false,"separator_block_width":6},\
{"full_text":"[${exec xbacklight| awk '{printf("%d\n",$1 + 0.5)}'}%] ","color":"\#808080","separator":false,"separator_block_width":6},\
#{ "full_text": ": ${exec xbacklight| awk '{printf("%d\n",$1 + 0.5)}'}% ", "color":"\#F7FE2E"},
#CPU
#{"full_text":" ","color":"\#8D00FF","separator":false,"separator_block_width":6},\
#{"full_text":"[$cpu%]","color":"\#808080","separator":false,"separator_block_width":6},\
#{"full_text": " :[$cpu%] ", "color":"\#8D00FF", "separator": false, "separator_block_width":6},\
#Battery
{"full_text":" ","color":"\#00FF00","separator":false,"separator_block_width":6},\
{"full_text":"[${battery_percent BAT1}%]","color":"\#808080","separator":false,"separator_block_width":6},\
#{"full_text": ":[${battery_percent BAT1}%] ","color":"\#dedede"},
#Calender/Time
{"full_text":" ","color":"\#2E9AFE","separator":false,"separator_block_width":6},\
{"full_text":"${time %a %b %d}","color":"\#808080","separator":false},\
#{"full_text": " :${time %a %d %b} ${time %H:%M:%S} ","color": "\#2E9AFE", "separator": false},
{"full_text":" ","color":"\#0404B4","separator":false,"separator_block_width":6},\
{"full_text":"${time %H:%M:%S} ","color":"\#808080","separator":false}
]

41
i3/.scripts/dotfiles.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# A script to manage my dotfiles and copy them to my git
dotfiles=$HOME/.dotfiles
# -avv for debugging purposes
# -a for normal use
copy(){
# rsync -avv $HOME/$1 $dotfiles/$1
rsync -a $HOME/$1 $dotfiles/$1
}
notify-send "Copied dotfiles."
# i3 gaps
# Powerline fonts must be installed
printf "\nCopying i3 configs...\n"
copy .config/i3/
# Termite
printf "\nCopying Termite configs...\n"
copy .config/termite/
# Scripts
printf "\nCopying Scripts...\n"
copy .scripts/
# zsh
printf "\nCopying zsh configs...\n"
copy .zshrc
copy .warprc
# Emacs
# printf "For Emacs (with elpy) following python modules are needed: jedi rope importmagic autopep8 yapf flake8"
# printf "You must also add '~/.local/bin' to your path."
printf "\nCopying emacs configs...\n"
copy .emacs
copy .emacs.d/snippets/
# Latex templates
copy Templates/

138
i3/.scripts/i3lock.py Executable file
View File

@@ -0,0 +1,138 @@
import datetime
import os
from PIL import Image
def screenshot():
os.system('import -window root /tmp/i3lock.png')
def pixelate():
pixelSize = 12
image = Image.open('/tmp/i3lock.png')
image_x = image.size[0]
image_y = image.size[1]
image = image.resize((int(image_x / pixelSize), int(image_y / pixelSize)),
Image.NEAREST)
image_x = image.size[0]
image_y = image.size[1]
image = image.resize((image_x * pixelSize, image_y * pixelSize),
Image.NEAREST)
image.save('/tmp/i3lock.png')
def getResolution():
image = Image.open('/tmp/i3lock.png')
return image.size
def lock_config():
'Generation of a customized lock command'
# constants
lock_core = 'i3lock'
default_fontsize = 32
# resolution
res = getResolution()
# res_x = int(res[0])
res_y = int(res[1])
# alignments
left_margin = int(res[0] / 25)
# clock pos
clock_x = left_margin
clock_y = int(res_y * (83 / 100))
date_x = left_margin
date_y = clock_y + default_fontsize
# clock config
lock_clock_args = '-k'
lock_clock_align = '--time-align 1 --date-align 1 --layout-align 1'
clock = "{} {}".format(lock_clock_args, lock_clock_align)
# time
lock_time_pos = '--timepos="{}:{}"'.format(clock_x, clock_y)
lock_time_size = '--timesize={}'.format(default_fontsize * 2)
time = "{} {}".format(lock_time_pos, lock_time_size)
# date
lock_date_pos = '--datepos="{}:{}"'.format(date_x, date_y)
lock_date_size = '--datesize={}'.format(default_fontsize)
date = "{} {}".format(lock_date_pos, lock_date_size)
# done
datetime = "{} {}".format(time, date)
# Indicator config
# Indicator inner
# Color of the circle while resting/typing | Color: transparenet
lock_rest_color = '--insidecolor 00000000 '
# Color of the circle while "VERIFYING..." | Color: transparent
lock_ver_color = '--insidevercolor 00000000 '
# Color of the circle if wrong | Color: transparent
lock_wrong_color = '--insidewrongcolor 00000000 '
indicator_inner = "{} {} {}".format(lock_rest_color, lock_wrong_color,
lock_ver_color)
# indicator_outer_ring
# Default Color of the ring | Color: torquoise
lock_ring = '--ringcolor 00CED1FF'
# Color of ring when wrong pw | Color: red
lock_ring_w = '--ringwrongcolor D10000FF'
# Color of ring when verifying | color dark-torquoise
lock_ring_v = '--ringvercolor 25B6B8FF'
# Color on Keypresses | Color: green
lock_press = '--keyhlcolor 00D103FF'
# Color on Deletion | Color: orange
lock_del = '--bshlcolor D13400FF'
# Color of seperator | Color: dark-blue
lock_sep_color = '--separatorcolor 0000D1FF'
indicator_outer_ring = "{} {} {} {} {} {}".format(lock_ring, lock_ring_w,
lock_ring_v, lock_press,
lock_del, lock_sep_color)
# done
indicator = "{} {}".format(indicator_inner, indicator_outer_ring)
# background
lock_pic = '-i /tmp/i3lock.png'
return "{} {} {} {} {}".format(lock_core, clock, datetime, indicator,
lock_pic)
def log_command(command):
write_mode = ''
home = os.path.expanduser('~')
log_file_path = "{}/{}".format(home, ".scripts/lock.log")
if (os.path.isfile(log_file_path)):
write_mode = 'a'
else:
write_mode = 'w'
with open(log_file_path, write_mode) as f:
f.write("[{}] {}\n".format(str(datetime.datetime.now()), command))
f.close()
def lock():
'Locks the System'
command = lock_config()
log_command(command)
os.system(command)
if __name__ == '__main__':
screenshot()
pixelate()
lock()

136
i3/.scripts/pipes.sh Executable file
View File

@@ -0,0 +1,136 @@
#!/usr/bin/env bash
# pipes.sh: Animated pipes terminal screensaver.
#
# This modified version is maintained at:
#
# https://github.com/pipeseroni/pipes.sh
VERSION=1.2.0
M=32768
p=1
f=75 s=13 r=2000 t=0
w=80 h=24
resize() {
w=$(tput cols) h=$(tput lines)
}
# ab -> idx = a*4 + b
# 0: up, 1: right, 2: down, 3: left
# 00 means going up , then going up -> ┃
# 12 means going right, then going down -> ┓
sets=(
"┃┏ ┓┛━┓ ┗┃┛┗ ┏━"
"│╭ ╮╯─╮ ╰│╯╰ ╭─"
"│┌ ┐┘─┐ └│┘└ ┌─"
"║╔ ╗╝═╗ ╚║╝╚ ╔═"
"|+ ++-+ +|++ +-"
"|/ \/-\ \|/\ /-"
".. .... .... .."
".o oo.o o.oo o."
"-\ /\|/ /-\/ \|" # railway
"╿┍ ┑┚╼┒ ┕╽┙┖ ┎╾" # knobby pipe
)
v=()
RNDSTART=0
BOLD=1
NOCOLOR=0
OPTIND=1
while getopts "p:t:f:s:r:RBChv" arg; do
case $arg in
p) ((p=(OPTARG>0)?OPTARG:p));;
t)
if [[ "$OPTARG" = c???????????????? ]]; then
V+=(${#sets[@]})
sets+=("${OPTARG:1}")
else
((OPTARG>=0 && OPTARG<${#sets[@]})) && V+=($OPTARG)
fi
;;
f) ((f=(OPTARG>19 && OPTARG<101)?OPTARG:f));;
s) ((s=(OPTARG>4 && OPTARG<16 )?OPTARG:s));;
r) ((r=(OPTARG>=0)?OPTARG:r));;
R) RNDSTART=1;;
B) BOLD=0;;
C) NOCOLOR=1;;
h) echo -e "Usage: $(basename $0) [OPTION]..."
echo -e "Animated pipes terminal screensaver.\n"
echo -e " -p [1-]\tnumber of pipes (D=1)."
echo -e " -t [0-$((${#sets[@]} - 1))]\ttype of pipes, can be used more than once (D=0)."
echo -e " -t c[16 chars]\tcustom type of pipes."
echo -e " -f [20-100]\tframerate (D=75)."
echo -e " -s [5-15]\tprobability of a straight fitting (D=13)."
echo -e " -r LIMIT\treset after x characters, 0 if no limit (D=2000)."
echo -e " -R \t\trandom starting point."
echo -e " -B \t\tno bold effect."
echo -e " -C \t\tno color."
echo -e " -h\t\thelp (this screen)."
echo -e " -v\t\tprint version number.\n"
exit 0;;
v) echo "$(basename -- "$0") $VERSION"
exit 0
esac
done
# set default values if not by options
((${#V[@]})) || V=(0)
cleanup() {
# clear up standard input
read -t 0.001 && cat </dev/stdin>/dev/null
# terminal has no smcup and rmcup capabilities
((FORCE_RESET)) && reset && exit 0
tput rmcup
tput cnorm
stty echo
((NOCOLOR)) && echo -ne '\x1b[0m'
exit 0
}
trap resize SIGWINCH
trap cleanup HUP TERM
trap 'break 2' INT
resize
for (( i=1; i<=p; i++ )); do
c[i]=$((i%8)) n[i]=0 l[i]=0
((x[i]=RNDSTART==1?RANDOM*w/32768:w/2))
((y[i]=RNDSTART==1?RANDOM*h/32768:h/2))
v[i]=${V[${#V[@]} * RANDOM / M]}
done
stty -echo
tput smcup || FORCE_RESET=1
tput civis
tput clear
# any key press exits the loop and this script
while REPLY=; read -t 0.0$((1000/f)) -n 1 2>/dev/null; [[ -z $REPLY ]] ; do
for (( i=1; i<=p; i++ )); do
# New position:
((${l[i]}%2)) && ((x[i]+=-${l[i]}+2,1)) || ((y[i]+=${l[i]}-1))
# Loop on edges (change color on loop):
((${x[i]}>=w||${x[i]}<0||${y[i]}>=h||${y[i]}<0)) && ((c[i]=RANDOM%8, v[i]=V[${#V[@]}*RANDOM/M]))
((x[i]=(x[i]+w)%w))
((y[i]=(y[i]+h)%h))
# New random direction:
((n[i]=RANDOM%s-1))
((n[i]=(${n[i]}>1||${n[i]}==0)?${l[i]}:${l[i]}+${n[i]}))
((n[i]=(${n[i]}<0)?3:${n[i]}%4))
# Print:
tput cup ${y[i]} ${x[i]}
echo -ne "\x1b[${BOLD}m"
[[ $NOCOLOR == 0 ]] && echo -ne "\x1b[3${c[i]}m"
echo -n "${sets[v[i]]:l[i]*4+n[i]:1}"
l[i]=${n[i]}
done
((r>0 && t*p>=r)) && tput reset && tput civis && t=0 || ((t++))
done
cleanup

3
i3/.scripts/startup.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/zsh
xrandr --output "eDP1" --mode "1920x1080"