Cambios varios en i3

This commit is contained in:
drymer 2017-01-24 11:53:01 +00:00
parent 61a8ee6bfe
commit f696e5d5d9
12 changed files with 339 additions and 26 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
i3/scripts/weather
emacs.d/private-literate.org

228
i3/config.i3blocks Normal file
View File

@ -0,0 +1,228 @@
# Tango colors
# $i3-status
set color_bad = #CC0000
set color_degraded = #EDD400
set color_good = #73D216
set $mod Mod4
# Fuente para títulos de ventanas
font pango:DejaVu Sans Mono 8
# Usar Ratón+$mod para mover las ventanas flotantes
floating_modifier $mod
# Display
set $display LVDS1
set $display2 VGA1
# volver a la misma ventana que estaba apretando el mismo worskpace
workspace_auto_back_and_forth yes
# abrir una terminal
bindsym $mod+Return exec terminal
# cerrat ventana
bindsym $mod+Shift+Q kill
# arrancar dmenu
bindsym $mod+d exec dmenu_run
# Reinicia i3
bindsym $mod+Shift+r restart
# Cambiar foco
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+h focus right
# Cambiar foco con las flechas
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Mover de workspace
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# Mover de workspace usando las flechas
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Cambiar la orientación en horizontal
bindsym $mod+h split h
# Cambiar la orientación en vertical
bindsym $mod+v split v
# Fullscreen
bindsym $mod+f fullscreen
# Cambiar layout
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default
# Cambiar entre tiling / floating
bindsym $mod+Shift+space floating toggle
# Cambiar foco entre tiling / floating windows
bindsym $mod+space focus mode_toggle
# Foco al padre
bindsym $mod+a focus parent
# Definir workspaces
set $ws1 1<big></big>
set $ws2 2<big></big>
set $ws3 3<big></big>
set $ws4 4<big></big>
set $ws5 5<big></big>
set $ws6 6<big></big>
set $ws7 7<big></big>
set $ws8 8<big></big>
set $ws9 9<big></big>
set $ws10 10
# Cambiar a 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
bindsym $mod+0 workspace $ws10
# Mover a 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 $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# Workspace a monitores
workspace $ws2 output $display2
workspace $ws8 output $display1
# Cambiar tamaño de ventana
mode "Resize" {
# These bindings trigger as soon as you enter the resize mode
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 ntilde resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 1 px or 1 ppt
bindsym Down resize grow height 1 px or 1 ppt
bindsym Up resize shrink height 1 px or 1 ppt
bindsym Right resize grow width 1 px or 1 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "Resize"
# Barra principal
bar {
font pango:DejaVu Sans Mono 11, Awesome, Icons 10
status_command /usr/local/bin/i3blocks
position top
# quitar los putos números del nombre del workspace
strip_workspace_numbers yes
colors {
background #000000
separator #000000
###XXX: Details border backgr. text
focused_workspace #990099 #222222 #729FCF
inactive_workspace #222222 #222222 #729FCF
active_workspace #222222 #222222 #729FCF
urgent_workspace #FF0000 #222222 #FF0000
}
}
# Modo sistema
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id ~/.i3/scripts/exit lock, mode "default"
bindsym s exec --no-startup-id ~/.i3/scripts/exit pm-suspend, mode "default"
bindsym r exec --no-startup-id ~/.i3/scripts/exit reboot, mode "default"
bindsym e exec --no-startup-id ~/.i3/scripts/exit logout, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Escape mode "$mode_system"
new_window pixel
# Colors de las ventanas
# class border backgr text indicator
client.focused #990099 #222222 #ffffff #729FCF
client.focused_inactive #222222 #222222 #ffffff #729FCF
client.unfocused #222222 #222222 #ffffff #729FCF
client.urgent #FF0000 #8C5665 #ffffff #FF0000
# Wallpaper
exec --no-startup-id feh --bg-scale ~/Imagenes/Fondos\ de\ Pantalla/hacking-matrix_azul.png
# Autostart
exec --no-startup-id xbacklight -set 100
exec --no-startup-id bash ~/.i3/scripts/autolock.sh
exec --no-startup-id parcellite
exec --no-startup-id compton
exec --no-startup-id mpd
# Mover programas automáticamente a workspace
assign [title="(?i)emacs"] $ws1
assign [class="(?i)firefox"] $ws2
assign [class="(?i)tor"] $ws2
assign [class="(?i)qutebrowser"] $ws2
assign [class="(?i)icecat"] $ws2
assign [title="bittorrent"] $ws3
assign [class="(?i)keepassx"] $ws5
assign [title="Steam"] $ws7
assign [class="(?i)mumble"] $ws8
assign [class="(?i)mpv"] $ws8
assign [class="(?i)transmission"] $ws8
assign [class="(?i)thunderbird"] $ws9
assign [title="mutt"] $ws9
# Hacer ventanas flotantes automáticamente
for_window [window_role="Preferences"] floating enable
for_window [window_role="help-browser"] floating enable
for_window [class="(?i)xcalc"] floating enable
for_window [window_role="pop-up"] floating enable
for_window [window_role="About"] floating enable
for_window [class="(?i)wicd"] floating enable
for_window [class="(?i)plasma-desktop"] floating enable
for_window [class="(?i)klipper"] floating enable
for_window [class="(?i)feh"] floating enable
for_window [class="Progreso de operación de archivo"] floating enable
for_window [title="emacsclient"] floating enable
# i3-gaps
gaps inner 10
gaps outer 10
smart_borders on
smart_gaps on

View File

@ -12,18 +12,23 @@ separator=false
separator_block_width=5
markup=pango
# [focused window]
# command=xdotool getactivewindow getwindowname
# interval=repeat
# separator=false
# color=#9fbc00
[weather]
interval=30600
[notmuch]
interval=1800
border=#729FCF
border_top=0
border_right=0
border_left=0
signal=1
[separator]
[weather]
interval=3600
border=#729FCF
border_top=0
border_right=0
border_left=0
signal=1
[separator]
@ -72,9 +77,3 @@ border_top=0
border_right=0
border_left=0
signal=1
[separator]
[batterybar]
interval=5
min_width=loooooool

View File

@ -1,3 +1,3 @@
#!/bin/sh
xautolock -time 10 -locker "slock" -notify 30 &
xautolock -time 10 -locker "lock" -notify 30 &

View File

@ -1,11 +1,11 @@
#!/bin/sh
lock() {
slock
lock
}
case "$1" in
lock)
/usr/bin/slock &
/usr/local/bin/lock
;;
logout)
i3-msg exit

33
i3/scripts/lock Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
# i3lock blurred screen inspired by /u/patopop007 and the blog post
# http://plankenau.com/blog/post-10/gaussianlock
# Timings are on an Intel i7-2630QM @ 2.00GHz
# Dependencies:
# imagemagick
# i3lock
# scrot (optional but default)
IMAGE=/tmp/i3lock.png
SCREENSHOT="scrot $IMAGE" # 0.46s
# Alternate screenshot method with imagemagick. NOTE: it is much slower
# SCREENSHOT="import -window root $IMAGE" # 1.35s
# Here are some imagemagick blur types
# Uncomment one to use, if you have multiple, the last one will be used
# All options are here: http://www.imagemagick.org/Usage/blur/#blur_args
#BLURTYPE="0x5" # 7.52s
#BLURTYPE="0x2" # 4.39s
#BLURTYPE="5x2" # 3.80s
BLURTYPE="2x8" # 2.90s
#BLURTYPE="2x3" # 2.92s
# Get the screenshot, add the blur and lock the screen with it
$SCREENSHOT
convert $IMAGE -blur $BLURTYPE $IMAGE
i3lock -i $IMAGE
rm $IMAGE

View File

@ -14,17 +14,17 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
wlan=eth0
eth=eth1
#wlan=eth0
eth=eth0
if [ `cat /sys/class/net/$eth/operstate` = 'up' ]
then
INTERFACE=${eth}
SYMBOL="&#xf0e8;"
elif [ `cat /sys/class/net/$wlan/operstate` = 'up' ]
then
INTERFACE=${wlan}
SYMBOL="&#xf1eb;"
#elif [ `cat /sys/class/net/$wlan/operstate` = 'up' ]
#then
# INTERFACE=${wlan}
# SYMBOL="&#xf1eb;"
else
SYMBOL="&#xf127;"
fi

4
i3/scripts/notmuch Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
new=`notmuch search tag:unread and tag:inbox 2> /dev/null | wc -l`
echo "$new"

View File

@ -5,7 +5,10 @@ update="$(echo $update | grep 'No news is good news')"
version="$(cat /etc/slackware-version | cut -d' ' -f2)"
arch="$(uname -m)"
mirror="http://mirrors.slackware.com/slackware/slackware"
mirror="https://freeslack.net/fxp/freeslack64-14.2/"
wget -q -O - $mirror/ChangeLog.txt | iconv -f ISO-8859-1 -t UTF-8 > /tmp/changelog.txt
end="$(grep -n '+--------------------------+' /tmp/changelog.txt | head -n1 | cut -d':' -f1)"
changelog="$(head -n$end /tmp/changelog.txt | grep txz | cut -d'/' -f2 | cut -d':' -f1)"
num_changelog="$(head -n$end /tmp/changelog.txt | grep txz | cut -d'/' -f2 | cut -d':' -f1 | wc -l)"
@ -27,8 +30,6 @@ case $BLOCK_BUTTON in
3) notify-send -u low "`echo "$changelog"`" ;;
esac
wget -q -O - $mirror$arch-$version/ChangeLog.txt | iconv -f ISO-8859-1 -t UTF-8 > /tmp/changelog.txt
if [ -z "$update" ]
then
echo -n "<span foreground='#729FCF'>&#xf021;</span> `echo $num_changelog` Updates"

6
i3/scripts/susp Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
lock
sleep 1
echo 'mem' > /sys/power/state

40
i3/scripts/weather.example Executable file
View File

@ -0,0 +1,40 @@
#!/bin/bash
# Copyright (C) 2016 Ning Sun <sunng@about.me>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
CITY=
APPID=""
OUTPUT=$(curl --silent http://api.openweathermap.org/data/2.5/weather\?APPID\=$APPID\&q\=$CITY\&units\=metric)
TEMP=$(echo $OUTPUT | jq -r ".main.temp")
WEATHER=$(echo $OUTPUT | jq -r ".weather[0].main")
case $WEATHER in
"Clear"*)
WEATHER=
;;
"Rain"*)
WEATHER=
;;
"Thunderstorm"*)
WEATHER=
;;
"Clouds"*)
WEATHER=
;;
esac
echo "<span foreground=\"#729FCF\">$WEATHER</span> $TEMP°C"
echo "$TEMP°C"

0
i3/scripts/weather → i3/scripts/weather.old Executable file → Normal file
View File