1
0
mirror of https://github.com/alrayyes/dotfiles/ synced 2023-11-14 15:56:30 +00:00

further fintuned i3wm

This commit is contained in:
Ryan 2016-11-21 18:40:55 +01:00
parent 185fcf3ed9
commit b94315d147
7 changed files with 304 additions and 15 deletions

View File

@ -151,11 +151,15 @@ workspace $workspace4 output DP1
workspace $workspace5 output DP1
workspace $workspace6 output HDMI1
assign [class="Google-chrome" instance="reddit.com"] $workspace5
assign [class="Google-chrome" instance="tweetdeck.twitter.com"] $workspace5
assign [class="Google-chrome"] $workspace2
assign [class="Firefox"] $workspace2
assign [class="Clementine"] $workspace4
assign [class="Gpodder"] $workspace4
assign [class="Hexchat"] $workspace6
assign [class="Slack"] $workspace6
assign [class="MPlayer" instance="aljazeera"] $workspace6
# reload the configuration file
bindsym $mod+Shift+c reload
@ -174,7 +178,7 @@ mode "resize" {
# Pressing down will grow the windows 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 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
@ -191,6 +195,9 @@ mode "resize" {
# arandr
for_window [title="Screen Layout Editor"] floating enable
# Thunderbird write new message, floating
for_window [title="Write:"] floating enable
# Widow Colours
# border background text indicator
client.focused $base01 $base01 $base07 $base0F
@ -201,7 +208,7 @@ client.urgent $base02 $base08 $base00 $base0F
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
colors {
colors {
separator $base03
background $base01
statusline $base05
@ -211,28 +218,42 @@ bar {
inactive_workspace $base01 $base01 $base03
urgent_workspace $base01 $base01 $base08
}
#i3bar position
position top
# Use custom i3status.conf
status_command i3status -c ~/.config/i3/i3status.conf
#font pango:DejaVu Sans Mono, Awesome 10
#i3bar position
position top
# Use custom i3status.conf
#status_command i3status -c ~/.config/i3/i3status.conf
status_command i3blocks -c ~/.config/i3/i3blocks.conf
#font pango:DejaVu Sans Mono, Awesome 10
# Show tray icons on primary display
tray_output primary
}
# Startup programs
exec_always --no-startup-id xrandr --output DP1 --primary
exec_always --no-startup-id xrandr --output HDMI1 --mode 1920x1200 --right-of DP1 --rotate left
exec_always --no-startup-id feh --bg-fill ~/Dropbox/Wallpaper/Wallpaper/gxZG9Uw.jpg
exec --no-startup-id nm-applet
exec --no-startup-id dropbox start
exec--no-startup-id compton -f
exec --no-startup-id compton -f
exec --no-startup-id redshift # f.lux
exec --no-startup-id redshift-gtk
exec google-chrome-stable --new-window --app=https://tweetdeck.twitter.com/
exec google-chrome-stable --new-window --app=https://www.reddit.com/
exec google-chrome-stable
exec firefox
exec hexchat
exec slack
exec rtmpdump -v -r rtmp://aljazeeraflashlivefs.fplive.net/aljazeeraflashlive-live/aljazeera_eng_high -o -| mplayer -name aljazeera -aop list=volume -
exec clementine
exec gpodder
# Custom KeyBinds
bindsym Control+$mod+l exec sh ~/.config/i3/i3lock
bindsym Print exec scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/Pictures/screenshots/'
bindsym Control+$mod+l exec i3lock-fancy
bindsym --release $mod+z exec scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -s -e 'mv $f ~/Dropbox/Screenshots/'
bindsym --release Shift+$mod+z exec scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/Dropbox/Screenshots/'

202
i3/.config/i3/i3blocks.conf Normal file
View File

@ -0,0 +1,202 @@
# i3blocks config file
#
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
#
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
#
# The top properties below are applied to every block, but can be overridden.
# Each block command defaults to the script name to avoid boilerplate.
command=/usr/lib/i3blocks/$BLOCK_NAME
separator_block_width=15
markup=none
# Music
[playerctl]
command=~/.config/i3/vendor/i3blocks/blocks/playerctl
label=
instance=clementine
interval=5
# Docker
[containers]
label=
command=~/.config/i3/i3blocks/container
interval=5
# Temperature
#
# Support multiple chips, though lm-sensors.
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[temperature]
label=
interval=10
# Volume indicator
#
# The first parameter sets the step (and units to display)
# The second parameter overrides the mixer selection
# See the script for details.
[volume]
#label=VOL
label=
instance=Master
#instance=PCM
interval=once
signal=10
# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label=
separator=true
interval=30
# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label=
instance=/
#instance=/mnt/data
interval=30
separator=false
[disk]
label=
instance=/home
interval=30
[cpu]
command=~/.config/i3/vendor/i3blocks/blocks/cpu
label=
interval=2
separator=false
[load_average]
label=
interval=10
# Network interface monitoring
#
# If the instance is not specified, use the interface used for default route.
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
[iface]
#instance=wlan0
label=
color=#00FF00
interval=10
separator=false
[wifi]
label=
#instance=wlp3s0
interval=10
separator=false
[whatismyip]
label=
command=~/.config/i3/i3blocks/whatismyip
color=#00FF00
interval=30
[bandwidth]
command=~/.config/i3/vendor/i3blocks/blocks/bandwidth
instance=eno1;in
label=
interval=1
separator=false
[bandwidth]
command=~/.config/i3/vendor/i3blocks/blocks/bandwidth
instance=eno1;out
label=
interval=1
#[bandwidth]
#instance=eth0
#interval=5
# CPU usage
#
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
#[cpu_usage]
#label=CPU
#interval=10
#min_width=CPU: 100.00%
#separator=false
# Battery indicator
#
# The battery instance defaults to 0.
[battery]
label=BAT
#label=⚡
#instance=1
interval=30
# Date Time
[time]
label=
command=date '+%Y-%m-%d'
interval=1800
separator=false
[time]
label=
command=date '+%H:%M:%S'
interval=1
separator=true
# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
#[mediaplayer]
#instance=spotify
#interval=5
#signal=10
# OpenVPN support
#
# Support multiple VPN, with colors.
#[openvpn]
#interval=20
# Key indicators
#
# Add the following bindings to i3 config file:
#
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
#[keyindicator]
#instance=CAPS
#interval=once
#signal=11
#[keyindicator]
#instance=NUM
#interval=once
#signal=11

View File

@ -0,0 +1,3 @@
#!/bin/sh
docker ps -q | wc -l | sed -r 's/^0$//g'

View File

@ -0,0 +1,11 @@
#!/bin/sh
ip=$(curl -s icanhazip.com);
if [[ "$BLOCK_BUTTON" -eq 1 ]];
then
netname=$(whois $ip | grep '^netname:' | awk '{print $2}' | tail -1);
echo "$netname"
else
echo "$ip"
fi

View File

@ -1,5 +0,0 @@
#!/bin/sh
scrot /tmp/screen_locked.png
convert /tmp/screen_locked.png -blur 2x2 /tmp/screen_locked2.png
i3lock -i /tmp/screen_locked2.png

1
i3/.config/i3/vendor/i3blocks vendored Submodule

@ -0,0 +1 @@
Subproject commit 97497f345013a5e044cba43b4a8059bf15cc989d

View File

@ -0,0 +1,56 @@
; Global settings for redshift
[redshift]
; Set the day and night screen temperatures
temp-day=5700
temp-night=3500
; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature.
transition=1
; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6
; Set the location-provider: 'geoclue', 'geoclue2', 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual
; Set the adjustment-method: 'randr', 'vidmode'
; type 'redshift -m list' to see all possible values.
; 'randr' is the preferred method, 'vidmode' is an older API.
; but works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=randr
; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=52.3874
lon=4.6462
; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust screen 1.
; Note that the numbering starts from 0, so this is actually the
; second screen. If this option is not specified, Redshift will try
; to adjust _all_ screens.
[randr]
screen=0