mirror of
https://github.com/bvanroll/older-dotfiles.git
synced 2025-08-29 12:02:49 +00:00
kdenk dak het gedaan heb
This commit is contained in:
7
fish/conf.d/omf.fish
Normal file
7
fish/conf.d/omf.fish
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Path to Oh My Fish install.
|
||||||
|
set -q XDG_DATA_HOME
|
||||||
|
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
|
||||||
|
or set -gx OMF_PATH "$HOME/.local/share/omf"
|
||||||
|
|
||||||
|
# Load Oh My Fish configuration.
|
||||||
|
source $OMF_PATH/init.fish
|
20
fish/config.fish
Normal file
20
fish/config.fish
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Add this to your ~/.config/fish/config.fish
|
||||||
|
# Syntax:
|
||||||
|
# To just rerun your last command, simply type '!!'
|
||||||
|
# '!! sudo' will prepend sudo to your most recent command
|
||||||
|
# Running !! with anything other than sudo will append the argument to your most recent command
|
||||||
|
# To add another command to prepend list remove the # on line 10 and put the command in the quotes. Repeat as needed
|
||||||
|
function !!;
|
||||||
|
set var (history | head -n 1)
|
||||||
|
if test $argv
|
||||||
|
if test $argv = "sudo" #; or "any other command you want to prepend"
|
||||||
|
eval $argv $var
|
||||||
|
else
|
||||||
|
eval $var $argv
|
||||||
|
end
|
||||||
|
else
|
||||||
|
eval $var
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
kitty + complete setup fish | source
|
29
fish/fish_variables
Normal file
29
fish/fish_variables
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# This file contains fish universal variable definitions.
|
||||||
|
# VERSION: 3.0
|
||||||
|
SETUVAR __fish_init_2_3_0:\x1d
|
||||||
|
SETUVAR fish_color_autosuggestion:555\x1ebrblack
|
||||||
|
SETUVAR fish_color_cancel:\x2dr
|
||||||
|
SETUVAR fish_color_command:005fd7
|
||||||
|
SETUVAR fish_color_comment:990000
|
||||||
|
SETUVAR fish_color_cwd:green
|
||||||
|
SETUVAR fish_color_cwd_root:red
|
||||||
|
SETUVAR fish_color_end:009900
|
||||||
|
SETUVAR fish_color_error:ff0000
|
||||||
|
SETUVAR fish_color_escape:00a6b2
|
||||||
|
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||||
|
SETUVAR fish_color_host:normal
|
||||||
|
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
|
||||||
|
SETUVAR fish_color_normal:normal
|
||||||
|
SETUVAR fish_color_operator:00a6b2
|
||||||
|
SETUVAR fish_color_param:00afff
|
||||||
|
SETUVAR fish_color_quote:999900
|
||||||
|
SETUVAR fish_color_redirection:00afff
|
||||||
|
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
|
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
|
SETUVAR fish_color_user:brgreen
|
||||||
|
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||||
|
SETUVAR fish_greeting:\x1d
|
||||||
|
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||||
|
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
|
||||||
|
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||||
|
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
17
fish/functions/audition.fish
Normal file
17
fish/functions/audition.fish
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
function audition
|
||||||
|
read -n 1 -p 'echo "this program will audition every file in this folder via aplay and ask you if its usable or not, ctrl c now to exit"'; mkdir usable; mkdir unusable; for f in ./*
|
||||||
|
aplay $f
|
||||||
|
set y "r"
|
||||||
|
while [ $y = "r" ]
|
||||||
|
read -n 1 -P 'echo "usable or no? (y,n,r)"' y
|
||||||
|
if [ $y = "r" ]
|
||||||
|
aplay $f
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if [ $y = "y" ]
|
||||||
|
cp $f "usable/$f"
|
||||||
|
else
|
||||||
|
cp $f "unusable/$f"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
3
fish/functions/c.fish
Normal file
3
fish/functions/c.fish
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
function c
|
||||||
|
clear
|
||||||
|
end
|
3
fish/functions/fish_greeting.fish
Normal file
3
fish/functions/fish_greeting.fish
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
function fish_greeting
|
||||||
|
figlet laborwave -f slant | lolcat
|
||||||
|
end
|
1
fish/functions/fish_prompt.fish
Symbolic link
1
fish/functions/fish_prompt.fish
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/beppe/.local/share/omf/themes/jacaetevha/fish_prompt.fish
|
3
fish/functions/l.fish
Normal file
3
fish/functions/l.fish
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
function l
|
||||||
|
lsd
|
||||||
|
end
|
7
fish/functions/la.fish
Normal file
7
fish/functions/la.fish
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
function la --description 'list all files'
|
||||||
|
if count $argv > /dev/null
|
||||||
|
lsd -a $argv
|
||||||
|
else
|
||||||
|
lsd -a
|
||||||
|
end
|
||||||
|
end
|
7
fish/functions/lla.fish
Normal file
7
fish/functions/lla.fish
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
function lla --description 'like la but with a list view'
|
||||||
|
if count $argv > /dev/null
|
||||||
|
lsd -la $argv
|
||||||
|
else
|
||||||
|
lsd -la
|
||||||
|
end
|
||||||
|
end
|
7
fish/functions/lt.fish
Normal file
7
fish/functions/lt.fish
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
function lt --description 'list all tree view'
|
||||||
|
if count $argv > /dev/null
|
||||||
|
lsd -a --tree $argv
|
||||||
|
else
|
||||||
|
lsd -a --tree
|
||||||
|
end
|
||||||
|
end
|
6
fish/functions/playall.fish
Normal file
6
fish/functions/playall.fish
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
function playall
|
||||||
|
for f in ./*
|
||||||
|
echo "playing $f"
|
||||||
|
aplay $f
|
||||||
|
end
|
||||||
|
end
|
407
i3/config
Normal file
407
i3/config
Normal file
@@ -0,0 +1,407 @@
|
|||||||
|
# This file has been auto-generated by i3-config-wizard(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).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
#exec always xrandr --output DP-1 --off --output DVI-I-1 --primary --mode 1920x1080 --pos 1280x840 --rotate normal --output DVI-D-1 --mode 1280x1024 --pos 0x896 --rotate normal --output HDMI-1 --mode 1920x1080 --pos 3200x0 --rotate left
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:RobotoMono 8
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# 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+$mod to drag floating windows to their wanted position floating_modifier $mod
|
||||||
|
|
||||||
|
# all variables
|
||||||
|
#
|
||||||
|
# terminals (if i ever want urxvt i can use a secondairy link)
|
||||||
|
#set $term1 termite
|
||||||
|
set $term1 kitty -c ~/.config/kitty/white.conf
|
||||||
|
set $term2 kitty
|
||||||
|
|
||||||
|
#browser
|
||||||
|
#set $brow qutebrowser
|
||||||
|
set $brow firefox⁻developer-edition
|
||||||
|
# Keys bindings for easy access
|
||||||
|
set $bright XF86MonBrightnessUp
|
||||||
|
set $dim XF86MonBrightnessDown
|
||||||
|
set $volUp XF86AudioRaiseVolume
|
||||||
|
set $volDown XF86AudioLowerVolume
|
||||||
|
set $mute XF86AudioMute
|
||||||
|
# whats up its ya boy
|
||||||
|
#set $volUp "amixer -q sset Master 10%+"
|
||||||
|
#set $volDown "amixer -q sset Master 10%-"
|
||||||
|
#set $mute "amixer -q sset Master toggle"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec $term1
|
||||||
|
bindsym $mod+Shift+Return exec $term2
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
#start dmenu
|
||||||
|
#bindsym $mod+d exec dmenu_run -nb black -nf white -sb white -sf black -fn RobotoMono:size=10
|
||||||
|
|
||||||
|
#start rofi
|
||||||
|
#bindsym $mod+d exec rofi -show run -hide-scrollbar -lines 3 -eh 1 -width 40 -location 8 -xoffset 170 -yoffset 70 -padding 30 -disable-history -font "RobotoMono 18"
|
||||||
|
|
||||||
|
|
||||||
|
#keybindings
|
||||||
|
#laptop
|
||||||
|
bindsym $mod+Shift+F5 exec xbacklight -dec 5
|
||||||
|
bindsym $mod+Shift+F6 exec xbacklight -inc 5
|
||||||
|
bindsym $dim exec xbacklight -set 1
|
||||||
|
bindsym $mod+$dim exec xbacklight -set 0
|
||||||
|
bindsym $bright exec xbacklight -set 70
|
||||||
|
bindsym $mod+$bright exec xbacklight -set 100
|
||||||
|
bindsym $mod+$volUp exec amixer -q sset Master 5%+
|
||||||
|
bindsym $mod+Shift+F1 exec amixer -q sset Master toggle
|
||||||
|
bindsym $mod+Shift+F2 exec amixer -q sset Master 5%-
|
||||||
|
bindsym $mod+Shift+F3 exec amixer -q sset Master 5%+
|
||||||
|
bindsym $mod+$volDown exec amixer -q sset master 5%-
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Home exec i3-msg restart
|
||||||
|
#bindsym $mod+Shift+$volUp exec amixer -q sset Master 100%
|
||||||
|
#bindsym $mod+Shift+$volDown exec amixer -q sset Master 5%
|
||||||
|
bindsym $mod+End exec systemctl suspend
|
||||||
|
bindsym $mod+$mute exec amixer -q sset Master 0%
|
||||||
|
|
||||||
|
#personal
|
||||||
|
#bindsym $mod+o exec $brow
|
||||||
|
#bindsym $mod+i exec $term1 -e vim
|
||||||
|
bindsym $mod+Shift+f exec $term1 -e ranger
|
||||||
|
|
||||||
|
# rofi with change window feature (like select window in tmux)
|
||||||
|
# bindsym $mod+Shift+semicolon exec rofi -show window -location 5 -width 50 -lines 15 -disable-history -font "RobotoMono 12"
|
||||||
|
# bindsym $mod+Shift+semicolon exec rofi -show window -location 5 -width 50 -lines 15 -disable-history -font "RobotoMono 12"
|
||||||
|
|
||||||
|
# change focus (try with vim keybiding for practice vim editor) (i3wm keybinding movement scheme conflict with vim wich will be disaster to use i3wm+vim together)
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l move right
|
||||||
|
|
||||||
|
# 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+shift+v split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter 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
|
||||||
|
#bindsym $mod+Shift+space mode "floating"
|
||||||
|
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace 1
|
||||||
|
bindsym $mod+2 workspace 2
|
||||||
|
bindsym $mod+3 workspace 3
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
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
|
||||||
|
|
||||||
|
# cycle between workspace
|
||||||
|
bindsym $mod+Tab workspace next
|
||||||
|
bindsym $mod+Shift+Tab workspace prev
|
||||||
|
bindsym Alt+Tab focus next
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4
|
||||||
|
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
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+r reload
|
||||||
|
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
#bindsym $mod+Shift+r restart
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize+move" {
|
||||||
|
# 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 h resize shrink width 6 px or 6 ppt
|
||||||
|
bindsym j resize grow height 6 px or 6 ppt
|
||||||
|
bindsym k resize shrink height 6 px or 6 ppt
|
||||||
|
bindsym l resize grow width 6 px or 6 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 6 px or 6 ppt
|
||||||
|
bindsym Down resize grow height 6 px or 6 ppt
|
||||||
|
bindsym Up resize shrink height 6 px or 6 ppt
|
||||||
|
bindsym Right resize grow width 6 px or 6 ppt
|
||||||
|
|
||||||
|
# bind movement in resize mode
|
||||||
|
bindsym Shift+h move left
|
||||||
|
bindsym Shift+j move down
|
||||||
|
bindsym Shift+k move up
|
||||||
|
bindsym Shift+l move right
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "floating" {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bindsym Shift+$mod+h resize shrink width 6 px or 6 ppt
|
||||||
|
bindsym Shift+$mod+j resize grow height 6 px or 6 ppt
|
||||||
|
bindsym Shift+$mod+k resize shrink height 6 px or 6 ppt
|
||||||
|
bindsym Shift+$mod+l resize grow width 6 px or 6 ppt
|
||||||
|
|
||||||
|
bindsym Shift+Left resize shrink width 6 px or 6 ppt
|
||||||
|
bindsym Shift+Down resize grow height 6 px or 6 ppt
|
||||||
|
bindsym Shift+Up resize shrink height 6 px or 6 ppt
|
||||||
|
bindsym Shift+Right resize grow width 6 px or 6 ppt
|
||||||
|
|
||||||
|
bindsym Shift+h move left
|
||||||
|
bindsym Shift+j move down
|
||||||
|
bindsym Shift+k move up
|
||||||
|
bindsym Shift+l move right
|
||||||
|
|
||||||
|
# bindsym $mod+space mode "default" for_window [class="[.]*"] floating disable
|
||||||
|
|
||||||
|
bindsym $mod+space mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bar {
|
||||||
|
|
||||||
|
status_command SCRIPT_DIR=/home/beppe/.config/i3blocks i3blocks -c ~/.config/i3blocks/config
|
||||||
|
#status_command i3blocks -c ~/.config/i3blocks/config
|
||||||
|
colors {
|
||||||
|
background #989898
|
||||||
|
focused_workspace #000000 #00007F #ffffff
|
||||||
|
active_workspace #000000 #00007F #ffffff
|
||||||
|
inactive_workspace #002b36 #586e75 #002b36
|
||||||
|
urgent_workspace #d33682 #d33682 #fdf6e3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize+move"
|
||||||
|
|
||||||
|
# Disable titlebar
|
||||||
|
new_window pixel 1
|
||||||
|
new_float pixel 1
|
||||||
|
|
||||||
|
# Gaps (i3-gaps)
|
||||||
|
gaps inner 6
|
||||||
|
gaps outer 0
|
||||||
|
|
||||||
|
# Window Border color
|
||||||
|
client.focused #ffffff #ffffff #000000 #c8395b
|
||||||
|
client.urgent #900000 #900000 #ffffff #c8395b
|
||||||
|
|
||||||
|
# Enable popup during fullscreen
|
||||||
|
popup_during_fullscreen smart
|
||||||
|
|
||||||
|
# Mouse, please stop focus whenever you hover to whatever windows plz :(
|
||||||
|
focus_follows_mouse no
|
||||||
|
|
||||||
|
bindsym $mod+p exec rofi -show run
|
||||||
|
#bindsym $mod+shift+p exec rofi -show window
|
||||||
|
#bindsym $mod+b exec polybar statusbar &
|
||||||
|
|
||||||
|
|
||||||
|
# playerctl settings
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Left exec playerctl previous
|
||||||
|
bindsym $mod+Shift+Right exec playerctl next
|
||||||
|
bindsym $mod+Shift+p exec playerctl play-pause
|
||||||
|
|
||||||
|
bindsym $mod+shift+e exit
|
||||||
|
|
||||||
|
#startupStuff
|
||||||
|
#set polybar
|
||||||
|
#exec polybar statusbar &
|
||||||
|
#bindsym $mod+End exec termite -e htop
|
||||||
|
bindsym $mod+Home exec ranger
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+n exec nm-connection-editor
|
||||||
|
|
||||||
|
# Set Wallpaper
|
||||||
|
exec --no-startup-id feh --bg-scale ~/Pictures/wallpaper/wallpaper.png
|
||||||
|
exec compton -CGb
|
||||||
|
exec --no-startup-id clipit
|
||||||
|
#exec xautolock -detectsleep -time 3 -locker "systemctl suspend"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
exec setxkbmap us -option caps:escape
|
||||||
|
#exec xmodmap -e "keycode 117 = Down"
|
||||||
|
exec xmodmap -e "keysym Caps_Lock = Escape"
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# startupScript for space 1
|
||||||
|
#exec ~/.startupScripts/space1
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#experimental
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
#increase border, decrease border
|
||||||
|
|
||||||
|
#bindsym $mod+Shift+b
|
||||||
|
#bindsym $mod+b
|
||||||
|
|
||||||
|
|
||||||
|
#mode experiments
|
||||||
|
#
|
||||||
|
|
||||||
|
#bindsym $mod+o mode "launcher"
|
||||||
|
#
|
||||||
|
#set $enableDef i3-msg mode default
|
||||||
|
#mode "launcher" {
|
||||||
|
# bindsym o exec firefox-developer-edition
|
||||||
|
# bindsym v exec vim
|
||||||
|
# bindsym e exec ranger
|
||||||
|
#
|
||||||
|
# bindsym s mode "spotify or sublime"
|
||||||
|
# bindsym Escape mode "default"
|
||||||
|
# bindsym Return mode "default"
|
||||||
|
# bindsym g mode "default"
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
#mode "spotify or sublime"{
|
||||||
|
# bindsym p exec spotify
|
||||||
|
# bindsym u exec subl3
|
||||||
|
# bindsym Escape mode "default"
|
||||||
|
# bindsym Return mode "default"
|
||||||
|
# bindsym s mode "launcher"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
|
||||||
|
bindsym $mod+g mode "gaps"
|
||||||
|
|
||||||
|
mode "gaps" {
|
||||||
|
bindsym i mode "gaps_inner"
|
||||||
|
bindsym o mode "gaps_outer"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "gaps_inner" {
|
||||||
|
bindsym plus gaps inner all plus 5
|
||||||
|
bindsym minus gaps inner all minus 5
|
||||||
|
bindsym equals gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner current plus 5
|
||||||
|
bindsym Shift+minus gaps inner current minus 5
|
||||||
|
bindsym Shift+equals gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "gaps_outer" {
|
||||||
|
|
||||||
|
bindsym plus gaps outer all plus 5
|
||||||
|
bindsym minus gaps outer all minus 5
|
||||||
|
bindsym equals gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer current plus 5
|
||||||
|
bindsym Shift+minus gaps outer current minus 5
|
||||||
|
bindsym Shift+equals gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
exec i3-msg gaps outer current set 15
|
||||||
|
bindsym $mod+plus gaps outer current plus 1
|
||||||
|
bindsym $mod+Shift+plus gaps inner current plus 1
|
||||||
|
bindsym $mod+minus gaps outer current minus 1
|
||||||
|
bindsym $mod+Shift+minus gaps inner current minus 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
exec xset r rate 250 20
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
#float everything at the start
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
90
i3blocks/bandwidth
Executable file
90
i3blocks/bandwidth
Executable file
@@ -0,0 +1,90 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (C) 2012 Stefan Breunig <stefan+measure-net-speed@mathphys.fsk.uni-heidelberg.de>
|
||||||
|
# Copyright (C) 2014 kaueraal
|
||||||
|
# Copyright (C) 2015 Thiago Perrotta <perrotta dot thiago at poli dot ufrj dot br>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
# Use the provided interface, otherwise the device used for the default route.
|
||||||
|
if [[ -n $BLOCK_INSTANCE ]]; then
|
||||||
|
INTERFACE=$BLOCK_INSTANCE
|
||||||
|
else
|
||||||
|
INTERFACE=$(ip route | awk '/^default/ { print $5 ; exit }')
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Issue #36 compliant.
|
||||||
|
if ! [ -e "/sys/class/net/${INTERFACE}/operstate" ] || ! [ "`cat /sys/class/net/${INTERFACE}/operstate`" = "up" ]
|
||||||
|
then
|
||||||
|
echo "$INTERFACE down"
|
||||||
|
echo "$INTERFACE down"
|
||||||
|
echo "#FF0000"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# path to store the old results in
|
||||||
|
path="/dev/shm/$(basename $0)-${INTERFACE}"
|
||||||
|
|
||||||
|
# grabbing data for each adapter.
|
||||||
|
read rx < "/sys/class/net/${INTERFACE}/statistics/rx_bytes"
|
||||||
|
read tx < "/sys/class/net/${INTERFACE}/statistics/tx_bytes"
|
||||||
|
|
||||||
|
# get time
|
||||||
|
time=$(date +%s)
|
||||||
|
|
||||||
|
# write current data if file does not exist. Do not exit, this will cause
|
||||||
|
# problems if this file is sourced instead of executed as another process.
|
||||||
|
if ! [[ -f "${path}" ]]; then
|
||||||
|
echo "${time} ${rx} ${tx}" > "${path}"
|
||||||
|
chmod 0666 "${path}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# read previous state and update data storage
|
||||||
|
read old < "${path}"
|
||||||
|
echo "${time} ${rx} ${tx}" > "${path}"
|
||||||
|
|
||||||
|
# parse old data and calc time passed
|
||||||
|
old=(${old//;/ })
|
||||||
|
time_diff=$(( $time - ${old[0]} ))
|
||||||
|
|
||||||
|
# sanity check: has a positive amount of time passed
|
||||||
|
[[ "${time_diff}" -gt 0 ]] || exit
|
||||||
|
|
||||||
|
# calc bytes transferred, and their rate in byte/s
|
||||||
|
rx_diff=$(( $rx - ${old[1]} ))
|
||||||
|
tx_diff=$(( $tx - ${old[2]} ))
|
||||||
|
rx_rate=$(( $rx_diff / $time_diff ))
|
||||||
|
tx_rate=$(( $tx_diff / $time_diff ))
|
||||||
|
|
||||||
|
# shift by 10 bytes to get KiB/s. If the value is larger than
|
||||||
|
# 1024^2 = 1048576, then display MiB/s instead
|
||||||
|
|
||||||
|
# incoming
|
||||||
|
echo -n "IN "
|
||||||
|
rx_kib=$(( $rx_rate >> 10 ))
|
||||||
|
if [[ "$rx_rate" -gt 1048576 ]]; then
|
||||||
|
printf '%sM' "`echo "scale=1; $rx_kib / 1024" | bc`"
|
||||||
|
else
|
||||||
|
echo -n "${rx_kib}K"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n " "
|
||||||
|
|
||||||
|
# outgoing
|
||||||
|
echo -n "OUT "
|
||||||
|
tx_kib=$(( $tx_rate >> 10 ))
|
||||||
|
if [[ "$tx_rate" -gt 1048576 ]]; then
|
||||||
|
printf '%sM' "`echo "scale=1; $tx_kib / 1024" | bc`"
|
||||||
|
else
|
||||||
|
echo -n "${tx_kib}K"
|
||||||
|
fi
|
74
i3blocks/battery
Executable file
74
i3blocks/battery
Executable file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
||||||
|
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
||||||
|
#
|
||||||
|
# Licensed under the terms of the GNU GPL v3, or any later version.
|
||||||
|
#
|
||||||
|
# This script is meant to use with i3blocks. It parses the output of the "acpi"
|
||||||
|
# command (often provided by a package of the same name) to read the status of
|
||||||
|
# the battery, and eventually its remaining time (to full charge or discharge).
|
||||||
|
#
|
||||||
|
# The color will gradually change for a percentage below 85%, and the urgency
|
||||||
|
# (exit code 33) is set if there is less that 5% remaining.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
|
||||||
|
my $acpi;
|
||||||
|
my $status;
|
||||||
|
my $percent;
|
||||||
|
my $full_text;
|
||||||
|
my $short_text;
|
||||||
|
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
|
||||||
|
|
||||||
|
# read the first line of the "acpi" command output
|
||||||
|
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
|
||||||
|
$acpi = <ACPI>;
|
||||||
|
close(ACPI);
|
||||||
|
|
||||||
|
# fail on unexpected output
|
||||||
|
if ($acpi !~ /: (\w+), (\d+)%/) {
|
||||||
|
die "$acpi\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$status = $1;
|
||||||
|
$percent = $2;
|
||||||
|
$full_text = "$percent%";
|
||||||
|
|
||||||
|
if ($status eq 'Discharging') {
|
||||||
|
$full_text .= ' ▼';
|
||||||
|
} elsif ($status eq 'Charging') {
|
||||||
|
$full_text .= ' ▲';
|
||||||
|
}
|
||||||
|
|
||||||
|
$short_text = $full_text;
|
||||||
|
|
||||||
|
if ($acpi =~ /(\d\d:\d\d):/) {
|
||||||
|
$full_text .= " ($1)";
|
||||||
|
}
|
||||||
|
|
||||||
|
# print text
|
||||||
|
print "$full_text\n";
|
||||||
|
print "$short_text\n";
|
||||||
|
|
||||||
|
# consider color and urgent flag only on discharge
|
||||||
|
if ($status eq 'Discharging') {
|
||||||
|
|
||||||
|
# if ($percent < 20) {
|
||||||
|
# print "#FF0000\n";
|
||||||
|
# } elsif ($percent < 40) {
|
||||||
|
# print "#FFAE00\n";
|
||||||
|
# } elsif ($percent < 60) {
|
||||||
|
# print "#FFF600\n";
|
||||||
|
# } elsif ($percent < 85) {
|
||||||
|
# print "#A8FF00\n";
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# if ($percent < 5) {
|
||||||
|
# exit(33);
|
||||||
|
# }
|
||||||
|
}
|
||||||
|
|
||||||
|
exit(0);
|
8
i3blocks/brightness
Executable file
8
i3blocks/brightness
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
case $BLOCK_BUTTON in
|
||||||
|
3) xbacklight -set 20 ;;
|
||||||
|
4) xbacklight -inc 10 ;;
|
||||||
|
5) xbacklight -dec 10 ;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
printf "%.0f" "$(xbacklight -get)"
|
198
i3blocks/config
Executable file
198
i3blocks/config
Executable file
@@ -0,0 +1,198 @@
|
|||||||
|
# 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=$SCRIPT_DIR/$BLOCK_NAME
|
||||||
|
separator_block_width=15
|
||||||
|
markup=none
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Volume indicator
|
||||||
|
#
|
||||||
|
# The first parameter sets the step (and units to display)
|
||||||
|
# The second parameter overrides the mixer selection
|
||||||
|
# See the script for details.
|
||||||
|
# # Memory usage
|
||||||
|
#
|
||||||
|
# The type defaults to "mem" if the instance is not specified.
|
||||||
|
# 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.
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#[load_average]
|
||||||
|
#interval=10
|
||||||
|
|
||||||
|
# Battery indicator
|
||||||
|
#
|
||||||
|
# The battery instance defaults to 0.
|
||||||
|
|
||||||
|
# Date Time
|
||||||
|
#
|
||||||
|
# Generic media player support
|
||||||
|
#
|
||||||
|
# This displays "ARTIST - SONG" if a music is playing.
|
||||||
|
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
|
||||||
|
#
|
||||||
|
#[colors]
|
||||||
|
#command=echo "<span color='red'>roses</span> and <span color='#0000ff'>violets</span>"
|
||||||
|
#markup=pango
|
||||||
|
#interval=once
|
||||||
|
|
||||||
|
|
||||||
|
[mediaplayer]
|
||||||
|
instance=spotify
|
||||||
|
interval=5
|
||||||
|
signal=10
|
||||||
|
label=♪
|
||||||
|
#color=#000000
|
||||||
|
|
||||||
|
# OpenVPN support
|
||||||
|
#
|
||||||
|
# Support multiple VPN, with colors.
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
label=RAM
|
||||||
|
separator=false
|
||||||
|
interval=30
|
||||||
|
#color=#000000
|
||||||
|
|
||||||
|
#
|
||||||
|
#[memory]
|
||||||
|
#label=SWAP
|
||||||
|
#instance=swap
|
||||||
|
#separator=false
|
||||||
|
#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=DISK
|
||||||
|
#instance=/mnt/data
|
||||||
|
interval=30
|
||||||
|
#color=#000000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#[openvpn]
|
||||||
|
#interval=20
|
||||||
|
|
||||||
|
# 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=TEMP
|
||||||
|
#interval=10
|
||||||
|
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#[iface]
|
||||||
|
#instance=wlan0
|
||||||
|
#color=#00FF00
|
||||||
|
#interval=10
|
||||||
|
#label="eth"
|
||||||
|
|
||||||
|
[wifi]
|
||||||
|
instance=wlp3s0
|
||||||
|
interval=10
|
||||||
|
label=⥮
|
||||||
|
#color=#000000
|
||||||
|
|
||||||
|
#
|
||||||
|
#[bandwidth]
|
||||||
|
##instance=eth0
|
||||||
|
#interval=5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[brightness]
|
||||||
|
label=💻
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[volume]
|
||||||
|
#label=VOL
|
||||||
|
label=🔊
|
||||||
|
instance=Master
|
||||||
|
#instance=PCM
|
||||||
|
interval=1
|
||||||
|
signal=10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
[battery]
|
||||||
|
#label=BAT
|
||||||
|
label=I⚡
|
||||||
|
instance=0
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[battery]
|
||||||
|
label=E⚡
|
||||||
|
instance=1
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[time]
|
||||||
|
command=date '+%Y-%m-%d %H:%M'
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
|
55
i3blocks/cpu_usage
Executable file
55
i3blocks/cpu_usage
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
||||||
|
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
||||||
|
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
||||||
|
#
|
||||||
|
# Licensed under the terms of the GNU GPL v3, or any later version.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
use Getopt::Long;
|
||||||
|
|
||||||
|
# default values
|
||||||
|
my $t_warn = 50;
|
||||||
|
my $t_crit = 80;
|
||||||
|
my $cpu_usage = -1;
|
||||||
|
|
||||||
|
sub help {
|
||||||
|
print "Usage: cpu_usage [-w <warning>] [-c <critical>]\n";
|
||||||
|
print "-w <percent>: warning threshold to become yellow\n";
|
||||||
|
print "-c <percent>: critical threshold to become red\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
GetOptions("help|h" => \&help,
|
||||||
|
"w=i" => \$t_warn,
|
||||||
|
"c=i" => \$t_crit);
|
||||||
|
|
||||||
|
# Get CPU usage
|
||||||
|
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
|
||||||
|
open (MPSTAT, 'mpstat 1 1 |') or die;
|
||||||
|
while (<MPSTAT>) {
|
||||||
|
if (/^.*\s+(\d+\.\d+)\s+$/) {
|
||||||
|
$cpu_usage = 100 - $1; # 100% - %idle
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(MPSTAT);
|
||||||
|
|
||||||
|
$cpu_usage eq -1 and die 'Can\'t find CPU information';
|
||||||
|
|
||||||
|
# Print short_text, full_text
|
||||||
|
printf "%.2f%%\n", $cpu_usage;
|
||||||
|
printf "%.2f%%\n", $cpu_usage;
|
||||||
|
|
||||||
|
# Print color, if needed
|
||||||
|
if ($cpu_usage >= $t_crit) {
|
||||||
|
print "#FF0000\n";
|
||||||
|
exit 33;
|
||||||
|
} elsif ($cpu_usage >= $t_warn) {
|
||||||
|
print "#FFFC00\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0;
|
41
i3blocks/disk
Executable file
41
i3blocks/disk
Executable file
@@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
DIR="${BLOCK_INSTANCE:-$HOME}"
|
||||||
|
ALERT_LOW="${1:-10}" # color will turn red under this value (default: 10%)
|
||||||
|
|
||||||
|
df -h -P -l "$DIR" | awk -v alert_low=$ALERT_LOW '
|
||||||
|
/\/.*/ {
|
||||||
|
# full text
|
||||||
|
print $4
|
||||||
|
|
||||||
|
# short text
|
||||||
|
print $4
|
||||||
|
|
||||||
|
use=$5
|
||||||
|
|
||||||
|
# no need to continue parsing
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
END {
|
||||||
|
gsub(/%$/,"",use)
|
||||||
|
if (100 - use < alert_low) {
|
||||||
|
# color
|
||||||
|
print "#FF0000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'
|
1
i3blocks/i3blocks
Symbolic link
1
i3blocks/i3blocks
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/beppe/.config/i3blocks
|
61
i3blocks/iface
Executable file
61
i3blocks/iface
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Use the provided interface, otherwise the device used for the default route.
|
||||||
|
if [[ -n $BLOCK_INSTANCE ]]; then
|
||||||
|
IF=$BLOCK_INSTANCE
|
||||||
|
else
|
||||||
|
IF=$(ip route | awk '/^default/ { print $5 ; exit }')
|
||||||
|
fi
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless
|
||||||
|
# connection (think desktop), the corresponding block should not be displayed.
|
||||||
|
[[ ! -d /sys/class/net/${IF} ]] && exit
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if [[ "$(cat /sys/class/net/$IF/operstate)" = 'down' ]]; then
|
||||||
|
echo ✕ # full text
|
||||||
|
#echo down # short text
|
||||||
|
echo \#FF0000 # color
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
-4)
|
||||||
|
AF=inet ;;
|
||||||
|
-6)
|
||||||
|
AF=inet6 ;;
|
||||||
|
*)
|
||||||
|
AF=inet6? ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# if no interface is found, use the first device with a global scope
|
||||||
|
IPADDR=$(ip addr show $IF | perl -n -e "/$AF ([^\/]+).* scope global/ && print \$1 and exit")
|
||||||
|
|
||||||
|
case $BLOCK_BUTTON in
|
||||||
|
3) echo -n "$IPADDR" | xclip -q -se c ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
echo "$IPADDR" # full text
|
||||||
|
echo "$IPADDR" # short text
|
70
i3blocks/keyindicator
Executable file
70
i3blocks/keyindicator
Executable file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# Copyright 2014 Marcelo Cerri <mhcerri at gmail dot com>
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
use Getopt::Long;
|
||||||
|
use File::Basename;
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
my $indicator = $ENV{BLOCK_INSTANCE} || "CAPS";
|
||||||
|
my $color_on = "#00FF00";
|
||||||
|
my $color_off = "#222222";
|
||||||
|
|
||||||
|
sub help {
|
||||||
|
my $program = basename($0);
|
||||||
|
printf "Usage: %s [-c <color on>] [-C <color off>]\n", $program;
|
||||||
|
printf " -c <color on>: hex color to use when indicator is on\n";
|
||||||
|
printf " -C <color off>: hex color to use when indicator is off\n";
|
||||||
|
printf "\n";
|
||||||
|
printf "Note: environment variable \$BLOCK_INSTANCE should be one of:\n";
|
||||||
|
printf " CAPS, NUM (default is CAPS).\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Getopt::Long::config qw(no_ignore_case);
|
||||||
|
GetOptions("help|h" => \&help,
|
||||||
|
"c=s" => \$color_on,
|
||||||
|
"C=s" => \$color_off) or exit 1;
|
||||||
|
|
||||||
|
# Key mapping
|
||||||
|
my %indicators = (
|
||||||
|
CAPS => 0x00000001,
|
||||||
|
NUM => 0x00000002,
|
||||||
|
);
|
||||||
|
|
||||||
|
# Retrieve key flags
|
||||||
|
my $mask = 0;
|
||||||
|
open(XSET, "xset -q |") or die;
|
||||||
|
while (<XSET>) {
|
||||||
|
if (/LED mask:\s*([0-9]+)/) {
|
||||||
|
$mask = $1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(XSET);
|
||||||
|
|
||||||
|
# Output
|
||||||
|
printf "%s\n", $indicator;
|
||||||
|
printf "%s\n", $indicator;
|
||||||
|
if (($indicators{$indicator} || 0) & $mask) {
|
||||||
|
printf "%s\n", $color_on;
|
||||||
|
} else {
|
||||||
|
printf "%s\n", $color_off;
|
||||||
|
}
|
||||||
|
exit 0
|
34
i3blocks/load_average
Executable file
34
i3blocks/load_average
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
load="$(cut -d ' ' -f1 /proc/loadavg)"
|
||||||
|
cpus="$(nproc)"
|
||||||
|
|
||||||
|
# full text
|
||||||
|
echo "$load"
|
||||||
|
|
||||||
|
# short text
|
||||||
|
echo "$load"
|
||||||
|
|
||||||
|
# color if load is too high
|
||||||
|
awk -v cpus=$cpus -v cpuload=$load '
|
||||||
|
BEGIN {
|
||||||
|
if (cpus <= cpuload) {
|
||||||
|
print "#FF0000";
|
||||||
|
exit 33;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'
|
76
i3blocks/mediaplayer
Executable file
76
i3blocks/mediaplayer
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
# Copyright (C) 2014 Tony Crisci <tony@dubstepdish.com>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
# Requires playerctl binary to be in your path (except cmus)
|
||||||
|
# See: https://github.com/acrisci/playerctl
|
||||||
|
|
||||||
|
# Set instance=NAME in the i3blocks configuration to specify a music player
|
||||||
|
# (playerctl will attempt to connect to org.mpris.MediaPlayer2.[NAME] on your
|
||||||
|
# DBus session).
|
||||||
|
|
||||||
|
use Env qw(BLOCK_INSTANCE);
|
||||||
|
|
||||||
|
my @metadata = ();
|
||||||
|
my $player_arg = "";
|
||||||
|
|
||||||
|
if ($BLOCK_INSTANCE) {
|
||||||
|
$player_arg = "--player='$BLOCK_INSTANCE'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == 1) {
|
||||||
|
system("playerctl $player_arg previous");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
|
||||||
|
system("playerctl $player_arg play-pause");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
|
||||||
|
system("playerctl $player_arg next");
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($player_arg eq '' or $player_arg =~ /cmus$/) {
|
||||||
|
# try cmus first
|
||||||
|
my @cmus = split /^/, qx(cmus-remote -Q);
|
||||||
|
if ($? == 0) {
|
||||||
|
foreach my $line (@cmus) {
|
||||||
|
my @data = split /\s/, $line;
|
||||||
|
if (shift @data eq 'tag') {
|
||||||
|
my $key = shift @data;
|
||||||
|
my $value = join ' ', @data;
|
||||||
|
|
||||||
|
@metadata[0] = $value if $key eq 'artist';
|
||||||
|
@metadata[1] = $value if $key eq 'title';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (@metadata) {
|
||||||
|
# metadata found so we are done
|
||||||
|
print(join ' - ', @metadata);
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# if cmus was given, we are done
|
||||||
|
exit 0 unless $player_arg eq '';
|
||||||
|
}
|
||||||
|
|
||||||
|
my $artist = qx(playerctl $player_arg metadata artist);
|
||||||
|
# exit status will be nonzero when playerctl cannot find your player
|
||||||
|
exit(0) if $?;
|
||||||
|
push(@metadata, $artist) if $artist;
|
||||||
|
|
||||||
|
my $title = qx(playerctl $player_arg metadata title);
|
||||||
|
exit(0) if $?;
|
||||||
|
push(@metadata, $title) if $title;
|
||||||
|
|
||||||
|
print(join(" - ", @metadata)) if @metadata;
|
49
i3blocks/memory
Executable file
49
i3blocks/memory
Executable file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
TYPE="${BLOCK_INSTANCE:-mem}"
|
||||||
|
|
||||||
|
awk -v type=$TYPE '
|
||||||
|
/^MemTotal:/ {
|
||||||
|
mem_total=$2
|
||||||
|
}
|
||||||
|
/^MemFree:/ {
|
||||||
|
mem_free=$2
|
||||||
|
}
|
||||||
|
/^Buffers:/ {
|
||||||
|
mem_free+=$2
|
||||||
|
}
|
||||||
|
/^Cached:/ {
|
||||||
|
mem_free+=$2
|
||||||
|
}
|
||||||
|
/^SwapTotal:/ {
|
||||||
|
swap_total=$2
|
||||||
|
}
|
||||||
|
/^SwapFree:/ {
|
||||||
|
swap_free=$2
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
# full text
|
||||||
|
if (type == "swap")
|
||||||
|
printf("%.1fG\n", (swap_total-swap_free)/1024/1024)
|
||||||
|
else
|
||||||
|
printf("%.1fG\n", mem_free/1024/1024)
|
||||||
|
|
||||||
|
# TODO: short text
|
||||||
|
|
||||||
|
# TODO: color (if less than X%)
|
||||||
|
}
|
||||||
|
' /proc/meminfo
|
149
i3blocks/openvpn
Executable file
149
i3blocks/openvpn
Executable file
@@ -0,0 +1,149 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
# Made by Pierre Mavro/Deimosfr <deimos@deimos.fr>
|
||||||
|
# Licensed under the terms of the GNU GPL v3, or any later version.
|
||||||
|
# Version: 0.2
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# 1. The configuration name of OpenVPN should be familiar for you (home,work...)
|
||||||
|
# 2. The device name in your configuration file should be fully named (tun0,tap1...not only tun or tap)
|
||||||
|
# 3. When you launch one or multiple OpenVPN connexion, be sure the PID file is written in the correct folder (ex: --writepid /run/openvpn/home.pid)
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
use Getopt::Long;
|
||||||
|
|
||||||
|
my $openvpn_enabled='/dev/shm/openvpn_i3blocks_enabled';
|
||||||
|
my $openvpn_disabled='/dev/shm/openvpn_i3blocks_disabled';
|
||||||
|
|
||||||
|
# Print output
|
||||||
|
sub print_output {
|
||||||
|
my $ref_pid_files = shift;
|
||||||
|
my @pid_files = @$ref_pid_files;
|
||||||
|
my $change=0;
|
||||||
|
|
||||||
|
# Total pid files
|
||||||
|
my $total_pid = @pid_files;
|
||||||
|
if ($total_pid == 0) {
|
||||||
|
print "VPN: down\n"x2;
|
||||||
|
# Delete OpenVPN i3blocks temp files
|
||||||
|
if (-f $openvpn_enabled) {
|
||||||
|
unlink $openvpn_enabled or die "Can't delete $openvpn_enabled\n";
|
||||||
|
# Colorize if VPN has just went down
|
||||||
|
print '#FF0000\n';
|
||||||
|
}
|
||||||
|
unless (-f $openvpn_disabled) {
|
||||||
|
open(my $shm, '>', $openvpn_disabled) or die "Can't write $openvpn_disabled\n";
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if interface device is present
|
||||||
|
my $vpn_found=0;
|
||||||
|
my $pid;
|
||||||
|
my $cmd_line;
|
||||||
|
my @config_name;
|
||||||
|
my @config_path;
|
||||||
|
my $interface;
|
||||||
|
my $current_config_path;
|
||||||
|
my $current_config_name;
|
||||||
|
foreach (@pid_files) {
|
||||||
|
# Get current PID
|
||||||
|
$pid=0;
|
||||||
|
open(PID, '<', $_);
|
||||||
|
while(<PID>) {
|
||||||
|
chomp $_;
|
||||||
|
$pid = $_;
|
||||||
|
}
|
||||||
|
close(PID);
|
||||||
|
# Check if PID has been found
|
||||||
|
if ($pid ==0) {
|
||||||
|
print "Can't get PID $_: $!\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if PID is still alive
|
||||||
|
$cmd_line='/proc/'.$pid.'/cmdline';
|
||||||
|
if (-f $cmd_line) {
|
||||||
|
# Get config name
|
||||||
|
open(CMD_LINE, '<', $cmd_line);
|
||||||
|
while(<CMD_LINE>) {
|
||||||
|
chomp $_;
|
||||||
|
if ($_ =~ /--config\s*(.*\.conf)/) {
|
||||||
|
# Get interface from config file
|
||||||
|
$current_config_path = $1;
|
||||||
|
# Remove unwanted escape chars
|
||||||
|
$current_config_path =~ s/\x{00}//g;
|
||||||
|
$interface = 'null';
|
||||||
|
# Get configuration name
|
||||||
|
if ($current_config_path =~ /(\w+).conf/) {
|
||||||
|
$current_config_name=$1;
|
||||||
|
} else {
|
||||||
|
$current_config_name='unknow';
|
||||||
|
}
|
||||||
|
# Get OpenVPN interface device name
|
||||||
|
open(CONFIG, '<', $current_config_path) or die "Can't read config file '$current_config_path': $!\n";
|
||||||
|
while(<CONFIG>) {
|
||||||
|
chomp $_;
|
||||||
|
if ($_ =~ /dev\s+(\w+)/) {
|
||||||
|
$interface=$1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(CONFIG);
|
||||||
|
# check if interface exist
|
||||||
|
unless ($interface eq 'null') {
|
||||||
|
if (-d "/sys/class/net/$interface") {
|
||||||
|
push @config_name, $current_config_name;
|
||||||
|
$vpn_found=1;
|
||||||
|
# Write enabled file
|
||||||
|
unless (-f $openvpn_enabled) {
|
||||||
|
open(my $shm, '>', $openvpn_enabled) or die "Can't write $openvpn_enabled\n";
|
||||||
|
$change=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(CMD_LINE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if PID found
|
||||||
|
my $names;
|
||||||
|
my $short_status;
|
||||||
|
if ($vpn_found == 1) {
|
||||||
|
$names = join('/', @config_name);
|
||||||
|
$short_status='up';
|
||||||
|
} else {
|
||||||
|
$short_status='down';
|
||||||
|
$names = $short_status;
|
||||||
|
}
|
||||||
|
|
||||||
|
print "VPN: $names\n";
|
||||||
|
print "VPN: $short_status\n";
|
||||||
|
|
||||||
|
# Print color if there were changes
|
||||||
|
print "#00FF00\n" if ($change == 1);
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub check_opts {
|
||||||
|
# Vars
|
||||||
|
my @pid_file=glob '/run/openvpn/*.pid';
|
||||||
|
|
||||||
|
# Set options
|
||||||
|
GetOptions( "help|h" => \&help,
|
||||||
|
"p=s" => \@pid_file);
|
||||||
|
|
||||||
|
print_output(\@pid_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub help {
|
||||||
|
print "Usage: openvpn [-d pid folder files]\n";
|
||||||
|
print "-d : pid folder files (default /run/openvpn/*.pid)\n";
|
||||||
|
print "Note: devices in configuration file should be named with their number (ex: tun0, tap1)\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
&check_opts;
|
69
i3blocks/temperature
Executable file
69
i3blocks/temperature
Executable file
@@ -0,0 +1,69 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
||||||
|
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
||||||
|
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
||||||
|
# Copyright 2014 Benjamin Chretien <chretien at lirmm dot fr>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
use Getopt::Long;
|
||||||
|
|
||||||
|
binmode(STDOUT, ":utf8");
|
||||||
|
|
||||||
|
# default values
|
||||||
|
my $t_warn = 70;
|
||||||
|
my $t_crit = 90;
|
||||||
|
my $chip = "";
|
||||||
|
my $temperature = -9999;
|
||||||
|
|
||||||
|
sub help {
|
||||||
|
print "Usage: temperature [-w <warning>] [-c <critical>] [--chip <chip>]\n";
|
||||||
|
print "-w <percent>: warning threshold to become yellow\n";
|
||||||
|
print "-c <percent>: critical threshold to become red\n";
|
||||||
|
print "--chip <chip>: sensor chip\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
GetOptions("help|h" => \&help,
|
||||||
|
"w=i" => \$t_warn,
|
||||||
|
"c=i" => \$t_crit,
|
||||||
|
"chip=s" => \$chip);
|
||||||
|
|
||||||
|
# Get chip temperature
|
||||||
|
open (SENSORS, "sensors -u $chip |") or die;
|
||||||
|
while (<SENSORS>) {
|
||||||
|
if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) {
|
||||||
|
$temperature = $1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(SENSORS);
|
||||||
|
|
||||||
|
$temperature eq -9999 and die 'Cannot find temperature';
|
||||||
|
|
||||||
|
# Print short_text, full_text
|
||||||
|
print "$temperature°C\n" x2;
|
||||||
|
|
||||||
|
# Print color, if needed
|
||||||
|
if ($temperature >= $t_crit) {
|
||||||
|
print "#FF0000\n";
|
||||||
|
exit 33;
|
||||||
|
} elsif ($temperature >= $t_warn) {
|
||||||
|
print "#FFFC00\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0;
|
70
i3blocks/volume
Executable file
70
i3blocks/volume
Executable file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# The second parameter overrides the mixer selection
|
||||||
|
# For PulseAudio users, use "pulse"
|
||||||
|
# For Jack/Jack2 users, use "jackplug"
|
||||||
|
# For ALSA users, you may use "default" for your primary card
|
||||||
|
# or you may use hw:# where # is the number of the card desired
|
||||||
|
MIXER="default"
|
||||||
|
[ -n "$(lsmod | grep pulse)" ] && MIXER="pulse"
|
||||||
|
[ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"
|
||||||
|
MIXER="${2:-$MIXER}"
|
||||||
|
MIXER="default"
|
||||||
|
# The instance option sets the control to report and configure
|
||||||
|
# This defaults to the first control of your selected mixer
|
||||||
|
# For a list of the available, use `amixer -D $Your_Mixer scontrols`
|
||||||
|
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |
|
||||||
|
sed -n "s/Simple mixer control '\([A-Za-z ]*\)',0/\1/p" |
|
||||||
|
head -n1
|
||||||
|
)}"
|
||||||
|
|
||||||
|
# The first parameter sets the step to change the volume by (and units to display)
|
||||||
|
# This may be in in % or dB (eg. 5% or 3dB)
|
||||||
|
STEP="${1:-5%}"
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
capability() { # Return "Capture" if the device is a capture device
|
||||||
|
amixer -D $MIXER get $SCONTROL |
|
||||||
|
sed -n "s/ Capabilities:.*cvolume.*/Capture/p"
|
||||||
|
}
|
||||||
|
|
||||||
|
volume() {
|
||||||
|
amixer -D $MIXER get $SCONTROL $(capability)
|
||||||
|
}
|
||||||
|
|
||||||
|
format() {
|
||||||
|
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'
|
||||||
|
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "'
|
||||||
|
# If dB was selected, print that instead
|
||||||
|
perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1')
|
||||||
|
perl_filter+='"; exit}'
|
||||||
|
perl -ne "$perl_filter"
|
||||||
|
}
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
case $BLOCK_BUTTON in
|
||||||
|
3) amixer -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute
|
||||||
|
4) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase
|
||||||
|
5) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease
|
||||||
|
esac
|
||||||
|
|
||||||
|
volume | format
|
46
i3blocks/wifi
Executable file
46
i3blocks/wifi
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
INTERFACE="${BLOCK_INSTANCE:-wlan0}"
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless
|
||||||
|
# connection (think desktop), the corresponding block should not be displayed.
|
||||||
|
[[ ! -d /sys/class/net/${INTERFACE}/wireless ]] ||
|
||||||
|
[[ "$(cat /sys/class/net/$INTERFACE/operstate)" = 'down' ]] && exit
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
echo $QUALITY% # full text
|
||||||
|
echo $QUALITY% # short text
|
||||||
|
|
||||||
|
# color
|
||||||
|
if [[ $QUALITY -ge 80 ]]; then
|
||||||
|
echo "#00FF00"
|
||||||
|
elif [[ $QUALITY -lt 80 ]]; then
|
||||||
|
echo "#FFF600"
|
||||||
|
elif [[ $QUALITY -lt 60 ]]; then
|
||||||
|
echo "#FFAE00"
|
||||||
|
elif [[ $QUALITY -lt 40 ]]; then
|
||||||
|
echo "#FF0000"
|
||||||
|
fi
|
44
init.sh
Normal file
44
init.sh
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
|
||||||
|
### check for folders existing, and make symlinks
|
||||||
|
|
||||||
|
if [ -d ~/.config/i3blocks ]; then
|
||||||
|
mv ~/.config/i3blocks ~/.config/i3blocksBACKUP
|
||||||
|
fi
|
||||||
|
ln -s ./i3blocks ~/.config/i3blocks
|
||||||
|
|
||||||
|
if [ -d ~/.config/kitty ]; then
|
||||||
|
mv ~/.config/kitty ~/.config/kittyBACKUP
|
||||||
|
fi
|
||||||
|
ln -s ./kitty ~/.config/kitty
|
||||||
|
|
||||||
|
if [ -d ~/.config/fish ]; then
|
||||||
|
mv ~/.config/fish ~/.config/fishBACKUP
|
||||||
|
fi
|
||||||
|
ln -s ./fish ~/.config/fish
|
||||||
|
|
||||||
|
|
||||||
|
if [ -d ~/.config/i3 ]; then
|
||||||
|
mv ~/.config/i3 ~/.config/i3BACKUP
|
||||||
|
fi
|
||||||
|
ln -s ./i3 ~/.config/i3
|
||||||
|
|
||||||
|
if [ -d ~/.vim ]; then
|
||||||
|
mv ./.vim ~/.vim
|
||||||
|
fi
|
||||||
|
ln -s ./vim ~/.vim
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f ~/.vimrc ]; then
|
||||||
|
mv ~/.vimrc ~/.vimrcBACKUP
|
||||||
|
fi
|
||||||
|
ln -s ./.vimrc ~/.vimrc
|
||||||
|
if [ -f ~/.fishrc ]; then
|
||||||
|
mv ~/.fishrc ~/.fishrcBACKUP
|
||||||
|
fi
|
||||||
|
ln -s ./.fishrc ~/.fishrc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
1006
kitty/kitty.conf
Normal file
1006
kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load Diff
980
kitty/white.conf
Normal file
980
kitty/white.conf
Normal file
@@ -0,0 +1,980 @@
|
|||||||
|
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
|
||||||
|
|
||||||
|
#: Fonts {{{
|
||||||
|
|
||||||
|
#: kitty has very powerful font management. You can configure
|
||||||
|
#: individual font faces and even specify special fonts for particular
|
||||||
|
#: characters.
|
||||||
|
|
||||||
|
# font_family monospace
|
||||||
|
# bold_font auto
|
||||||
|
# italic_font auto
|
||||||
|
# bold_italic_font auto
|
||||||
|
|
||||||
|
#: You can specify different fonts for the bold/italic/bold-italic
|
||||||
|
#: variants. By default they are derived automatically, by the OSes
|
||||||
|
#: font system. Setting them manually is useful for font families that
|
||||||
|
#: have many weight variants like Book, Medium, Thick, etc. For
|
||||||
|
#: example::
|
||||||
|
|
||||||
|
#: font_family Operator Mono Book
|
||||||
|
#: bold_font Operator Mono Medium
|
||||||
|
#: italic_font Operator Mono Book Italic
|
||||||
|
#: bold_italic_font Operator Mono Medium Italic
|
||||||
|
|
||||||
|
# font_size 11.0
|
||||||
|
|
||||||
|
#: Font size (in pts)
|
||||||
|
|
||||||
|
# adjust_line_height 0
|
||||||
|
# adjust_column_width 0
|
||||||
|
|
||||||
|
#: Change the size of each character cell kitty renders. You can use
|
||||||
|
#: either numbers, which are interpreted as pixels or percentages
|
||||||
|
#: (number followed by %), which are interpreted as percentages of the
|
||||||
|
#: unmodified values. You can use negative pixels or percentages less
|
||||||
|
#: than 100% to reduce sizes (but this might cause rendering
|
||||||
|
#: artifacts).
|
||||||
|
|
||||||
|
# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
|
||||||
|
|
||||||
|
#: Map the specified unicode codepoints to a particular font. Useful
|
||||||
|
#: if you need special rendering for some symbols, such as for
|
||||||
|
#: Powerline. Avoids the need for patched fonts. Each unicode code
|
||||||
|
#: point is specified in the form U+<code point in hexadecimal>. You
|
||||||
|
#: can specify multiple code points, separated by commas and ranges
|
||||||
|
#: separated by hyphens. symbol_map itself can be specified multiple
|
||||||
|
#: times. Syntax is::
|
||||||
|
|
||||||
|
#: symbol_map codepoints Font Family Name
|
||||||
|
|
||||||
|
# box_drawing_scale 0.001, 1, 1.5, 2
|
||||||
|
|
||||||
|
#: Change the sizes of the lines used for the box drawing unicode
|
||||||
|
#: characters These values are in pts. They will be scaled by the
|
||||||
|
#: monitor DPI to arrive at a pixel value. There must be four values
|
||||||
|
#: corresponding to thin, normal, thick, and very thick lines.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Cursor customization {{{
|
||||||
|
|
||||||
|
# cursor #cccccc
|
||||||
|
|
||||||
|
#: Default cursor color
|
||||||
|
|
||||||
|
# cursor_text_color #111111
|
||||||
|
|
||||||
|
#: Choose the color of text under the cursor. If you want it rendered
|
||||||
|
#: with the background color of the cell underneath instead, use the
|
||||||
|
#: special keyword: background
|
||||||
|
|
||||||
|
# cursor_shape block
|
||||||
|
|
||||||
|
#: The cursor shape can be one of (block, beam, underline)
|
||||||
|
|
||||||
|
# cursor_blink_interval 0.5
|
||||||
|
# cursor_stop_blinking_after 15.0
|
||||||
|
|
||||||
|
#: The interval (in seconds) at which to blink the cursor. Set to zero
|
||||||
|
#: to disable blinking. Note that numbers smaller than repaint_delay
|
||||||
|
#: will be limited to repaint_delay. Stop blinking cursor after the
|
||||||
|
#: specified number of seconds of keyboard inactivity. Set to zero to
|
||||||
|
#: never stop blinking.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Scrollback {{{
|
||||||
|
|
||||||
|
# scrollback_lines 2000
|
||||||
|
|
||||||
|
#: Number of lines of history to keep in memory for scrolling back.
|
||||||
|
#: Memory is allocated on demand. Negative numbers are (effectively)
|
||||||
|
#: infinite scrollback. Note that using very large scrollback is not
|
||||||
|
#: recommended as it can slow down resizing of the terminal and also
|
||||||
|
#: use large amounts of RAM.
|
||||||
|
|
||||||
|
# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
|
||||||
|
|
||||||
|
#: Program with which to view scrollback in a new window. The
|
||||||
|
#: scrollback buffer is passed as STDIN to this program. If you change
|
||||||
|
#: it, make sure the program you use can handle ANSI escape sequences
|
||||||
|
#: for colors and text formatting. INPUT_LINE_NUMBER in the command
|
||||||
|
#: line above will be replaced by an integer representing which line
|
||||||
|
#: should be at the top of the screen.
|
||||||
|
|
||||||
|
# scrollback_pager_history_size 0
|
||||||
|
|
||||||
|
#: Separate scrollback history size, used only for browsing the
|
||||||
|
#: scrollback buffer (in MB). This separate buffer is not available
|
||||||
|
#: for interactive scrolling but will be piped to the pager program
|
||||||
|
#: when viewing scrollback buffer in a separate window. The current
|
||||||
|
#: implementation stores one character in 4 bytes, so approximatively
|
||||||
|
#: 2500 lines per megabyte at 100 chars per line. A value of zero or
|
||||||
|
#: less disables this feature. The maximum allowed size is 4GB.
|
||||||
|
|
||||||
|
# wheel_scroll_multiplier 5.0
|
||||||
|
|
||||||
|
#: Modify the amount scrolled by the mouse wheel. Note this is only
|
||||||
|
#: used for low precision scrolling devices, not for high precision
|
||||||
|
#: scrolling on platforms such as macOS and Wayland. Use negative
|
||||||
|
#: numbers to change scroll direction.
|
||||||
|
|
||||||
|
# touch_scroll_multiplier 1.0
|
||||||
|
|
||||||
|
#: Modify the amount scrolled by a touchpad. Note this is only used
|
||||||
|
#: for high precision scrolling devices on platforms such as macOS and
|
||||||
|
#: Wayland. Use negative numbers to change scroll direction.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Mouse {{{
|
||||||
|
|
||||||
|
# url_color #0087BD
|
||||||
|
# url_style curly
|
||||||
|
|
||||||
|
#: The color and style for highlighting URLs on mouse-over. url_style
|
||||||
|
#: can be one of: none, single, double, curly
|
||||||
|
|
||||||
|
# open_url_modifiers kitty_mod
|
||||||
|
|
||||||
|
#: The modifier keys to press when clicking with the mouse on URLs to
|
||||||
|
#: open the URL
|
||||||
|
|
||||||
|
# open_url_with default
|
||||||
|
|
||||||
|
#: The program with which to open URLs that are clicked on. The
|
||||||
|
#: special value default means to use the operating system's default
|
||||||
|
#: URL handler.
|
||||||
|
|
||||||
|
# copy_on_select no
|
||||||
|
|
||||||
|
#: Copy to clipboard on select. With this enabled, simply selecting
|
||||||
|
#: text with the mouse will cause the text to be copied to clipboard.
|
||||||
|
#: Useful on platforms such as macOS that do not have the concept of
|
||||||
|
#: primary selections. Note that this is a security risk, as all
|
||||||
|
#: programs, including websites open in your browser can read the
|
||||||
|
#: contents of the clipboard.
|
||||||
|
|
||||||
|
# rectangle_select_modifiers ctrl+alt
|
||||||
|
|
||||||
|
#: The modifiers to use rectangular selection (i.e. to select text in
|
||||||
|
#: a rectangular block with the mouse)
|
||||||
|
|
||||||
|
# select_by_word_characters :@-./_~?&=%+#
|
||||||
|
|
||||||
|
#: Characters considered part of a word when double clicking. In
|
||||||
|
#: addition to these characters any character that is marked as an
|
||||||
|
#: alpha-numeric character in the unicode database will be matched.
|
||||||
|
|
||||||
|
# click_interval -1.0
|
||||||
|
|
||||||
|
#: The interval between successive clicks to detect double/triple
|
||||||
|
#: clicks (in seconds). Negative numbers will use the system default
|
||||||
|
#: instead, if available, or fallback to 0.5.
|
||||||
|
|
||||||
|
# mouse_hide_wait 3.0
|
||||||
|
|
||||||
|
#: Hide mouse cursor after the specified number of seconds of the
|
||||||
|
#: mouse not being used. Set to zero to disable mouse cursor hiding.
|
||||||
|
|
||||||
|
# focus_follows_mouse no
|
||||||
|
|
||||||
|
#: Set the active window to the window under the mouse when moving the
|
||||||
|
#: mouse around
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Performance tuning {{{
|
||||||
|
|
||||||
|
# repaint_delay 10
|
||||||
|
|
||||||
|
#: Delay (in milliseconds) between screen updates. Decreasing it,
|
||||||
|
#: increases frames-per-second (FPS) at the cost of more CPU usage.
|
||||||
|
#: The default value yields ~100 FPS which is more than sufficient for
|
||||||
|
#: most uses. Note that to actually achieve 100 FPS you have to either
|
||||||
|
#: set sync_to_monitor to no or use a monitor with a high refresh
|
||||||
|
#: rate.
|
||||||
|
|
||||||
|
# input_delay 3
|
||||||
|
|
||||||
|
#: Delay (in milliseconds) before input from the program running in
|
||||||
|
#: the terminal is processed. Note that decreasing it will increase
|
||||||
|
#: responsiveness, but also increase CPU usage and might cause flicker
|
||||||
|
#: in full screen programs that redraw the entire screen on each loop,
|
||||||
|
#: because kitty is so fast that partial screen updates will be drawn.
|
||||||
|
|
||||||
|
# sync_to_monitor yes
|
||||||
|
|
||||||
|
#: Sync screen updates to the refresh rate of the monitor. This
|
||||||
|
#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing)
|
||||||
|
#: when scrolling. However, it limits the rendering speed to the
|
||||||
|
#: refresh rate of your monitor. With a very high speed mouse/high
|
||||||
|
#: keyboard repeat rate, you may notice some slight input latency. If
|
||||||
|
#: so, set this to no.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Terminal bell {{{
|
||||||
|
|
||||||
|
# enable_audio_bell yes
|
||||||
|
|
||||||
|
#: Enable/disable the audio bell. Useful in environments that require
|
||||||
|
#: silence.
|
||||||
|
|
||||||
|
# visual_bell_duration 0.0
|
||||||
|
|
||||||
|
#: Visual bell duration. Flash the screen when a bell occurs for the
|
||||||
|
#: specified number of seconds. Set to zero to disable.
|
||||||
|
|
||||||
|
# window_alert_on_bell yes
|
||||||
|
|
||||||
|
#: Request window attention on bell. Makes the dock icon bounce on
|
||||||
|
#: macOS or the taskbar flash on linux.
|
||||||
|
|
||||||
|
# bell_on_tab yes
|
||||||
|
|
||||||
|
#: Show a bell symbol on the tab if a bell occurs in one of the
|
||||||
|
#: windows in the tab and the window is not the currently focused
|
||||||
|
#: window
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Window layout {{{
|
||||||
|
|
||||||
|
# remember_window_size yes
|
||||||
|
# initial_window_width 640
|
||||||
|
# initial_window_height 400
|
||||||
|
|
||||||
|
#: If enabled, the window size will be remembered so that new
|
||||||
|
#: instances of kitty will have the same size as the previous
|
||||||
|
#: instance. If disabled, the window will initially have size
|
||||||
|
#: configured by initial_window_width/height, in pixels. You can use a
|
||||||
|
#: suffix of "c" on the width/height values to have them interpreted
|
||||||
|
#: as number of cells instead of pixels.
|
||||||
|
|
||||||
|
# enabled_layouts *
|
||||||
|
|
||||||
|
#: The enabled window layouts. A comma separated list of layout names.
|
||||||
|
#: The special value all means all layouts. The first listed layout
|
||||||
|
#: will be used as the startup layout. For a list of available
|
||||||
|
#: layouts, see the
|
||||||
|
#: https://sw.kovidgoyal.net/kitty/index.html#layouts.
|
||||||
|
|
||||||
|
# window_resize_step_cells 2
|
||||||
|
# window_resize_step_lines 2
|
||||||
|
|
||||||
|
#: The step size (in units of cell width/cell height) to use when
|
||||||
|
#: resizing windows. The cells value is used for horizontal resizing
|
||||||
|
#: and the lines value for vertical resizing.
|
||||||
|
|
||||||
|
# window_border_width 1.0
|
||||||
|
|
||||||
|
#: The width (in pts) of window borders. Will be rounded to the
|
||||||
|
#: nearest number of pixels based on screen resolution. Note that
|
||||||
|
#: borders are displayed only when more than one window is visible.
|
||||||
|
#: They are meant to separate multiple windows.
|
||||||
|
|
||||||
|
# draw_minimal_borders yes
|
||||||
|
|
||||||
|
#: Draw only the minimum borders needed. This means that only the
|
||||||
|
#: minimum needed borders for inactive windows are drawn. That is only
|
||||||
|
#: the borders that separate the inactive window from a neighbor. Note
|
||||||
|
#: that setting a non-zero window margin overrides this and causes all
|
||||||
|
#: borders to be drawn.
|
||||||
|
|
||||||
|
# window_margin_width 0.0
|
||||||
|
|
||||||
|
#: The window margin (in pts) (blank area outside the border)
|
||||||
|
|
||||||
|
# single_window_margin_width -1000.0
|
||||||
|
|
||||||
|
#: The window margin (in pts) to use when only a single window is
|
||||||
|
#: visible. Negative values will cause the value of
|
||||||
|
#: window_margin_width to be used instead.
|
||||||
|
|
||||||
|
# window_padding_width 0.0
|
||||||
|
|
||||||
|
#: The window padding (in pts) (blank area between the text and the
|
||||||
|
#: window border)
|
||||||
|
|
||||||
|
# active_border_color #00ff00
|
||||||
|
|
||||||
|
#: The color for the border of the active window
|
||||||
|
|
||||||
|
# inactive_border_color #cccccc
|
||||||
|
|
||||||
|
#: The color for the border of inactive windows
|
||||||
|
|
||||||
|
# bell_border_color #ff5a00
|
||||||
|
|
||||||
|
#: The color for the border of inactive windows in which a bell has
|
||||||
|
#: occurred
|
||||||
|
|
||||||
|
# inactive_text_alpha 1.0
|
||||||
|
|
||||||
|
#: Fade the text in inactive windows by the specified amount (a number
|
||||||
|
#: between zero and one, with zero being fully faded).
|
||||||
|
|
||||||
|
# hide_window_decorations no
|
||||||
|
|
||||||
|
#: Hide the window decorations (title-bar and window borders). Whether
|
||||||
|
#: this works and exactly what effect it has depends on the window
|
||||||
|
#: manager/operating system.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Tab bar {{{
|
||||||
|
|
||||||
|
# tab_bar_edge bottom
|
||||||
|
|
||||||
|
#: Which edge to show the tab bar on, top or bottom
|
||||||
|
|
||||||
|
# tab_bar_margin_width 0.0
|
||||||
|
|
||||||
|
#: The margin to the left and right of the tab bar (in pts)
|
||||||
|
|
||||||
|
# tab_bar_style fade
|
||||||
|
|
||||||
|
#: The tab bar style, can be one of: fade, separator or hidden. In the
|
||||||
|
#: fade style, each tab's edges fade into the background color, in the
|
||||||
|
#: separator style, tabs are separated by a configurable separator.
|
||||||
|
|
||||||
|
# tab_fade 0.25 0.5 0.75 1
|
||||||
|
|
||||||
|
#: Control how each tab fades into the background when using fade for
|
||||||
|
#: the tab_bar_style. Each number is an alpha (between zero and one)
|
||||||
|
#: that controls how much the corresponding cell fades into the
|
||||||
|
#: background, with zero being no fade and one being full fade. You
|
||||||
|
#: can change the number of cells used by adding/removing entries to
|
||||||
|
#: this list.
|
||||||
|
|
||||||
|
# tab_separator " ┇"
|
||||||
|
|
||||||
|
#: The separator between tabs in the tab bar when using separator as
|
||||||
|
#: the tab_bar_style.
|
||||||
|
|
||||||
|
# tab_title_template {title}
|
||||||
|
|
||||||
|
#: A template to render the tab title. The default just renders the
|
||||||
|
#: title. If you wish to include the tab-index as well, use something
|
||||||
|
#: like: {index}: {title}. Useful if you have shortcuts mapped for
|
||||||
|
#: goto_tab N.
|
||||||
|
|
||||||
|
# active_tab_foreground #000
|
||||||
|
# active_tab_background #eee
|
||||||
|
# active_tab_font_style bold-italic
|
||||||
|
# inactive_tab_foreground #444
|
||||||
|
# inactive_tab_background #999
|
||||||
|
# inactive_tab_font_style normal
|
||||||
|
|
||||||
|
#: Tab bar colors and styles
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Color scheme {{{
|
||||||
|
|
||||||
|
# foreground #dddddd
|
||||||
|
# background #000000
|
||||||
|
|
||||||
|
#: The foreground and background colors
|
||||||
|
|
||||||
|
# background_opacity 1.0
|
||||||
|
# dynamic_background_opacity no
|
||||||
|
|
||||||
|
#: The opacity of the background. A number between 0 and 1, where 1 is
|
||||||
|
#: opaque and 0 is fully transparent. This will only work if
|
||||||
|
#: supported by the OS (for instance, when using a compositor under
|
||||||
|
#: X11). Note that it only sets the default background color's
|
||||||
|
#: opacity. This is so that things like the status bar in vim,
|
||||||
|
#: powerline prompts, etc. still look good. But it means that if you
|
||||||
|
#: use a color theme with a background color in your editor, it will
|
||||||
|
#: not be rendered as transparent. Instead you should change the
|
||||||
|
#: default background color in your kitty config and not use a
|
||||||
|
#: background color in the editor color scheme. Or use the escape
|
||||||
|
#: codes to set the terminals default colors in a shell script to
|
||||||
|
#: launch your editor. Be aware that using a value less than 1.0 is a
|
||||||
|
#: (possibly significant) performance hit. If you want to dynamically
|
||||||
|
#: change transparency of windows set dynamic_background_opacity to
|
||||||
|
#: yes (this is off by default as it has a performance cost)
|
||||||
|
|
||||||
|
# dim_opacity 0.75
|
||||||
|
|
||||||
|
#: How much to dim text that has the DIM/FAINT attribute set. One
|
||||||
|
#: means no dimming and zero means fully dimmed (i.e. invisible).
|
||||||
|
|
||||||
|
# selection_foreground #000000
|
||||||
|
# selection_background #FFFACD
|
||||||
|
|
||||||
|
#: The foreground and background for text selected with the mouse
|
||||||
|
|
||||||
|
|
||||||
|
#: The 16 terminal colors. There are 8 basic colors, each color has a
|
||||||
|
#: dull and bright version. You can also set the remaining colors from
|
||||||
|
#: the 256 color table as color16 to color255.
|
||||||
|
|
||||||
|
# color0 #000000
|
||||||
|
# color8 #767676
|
||||||
|
|
||||||
|
#: black
|
||||||
|
|
||||||
|
# color1 #cc0403
|
||||||
|
# color9 #f2201f
|
||||||
|
|
||||||
|
#: red
|
||||||
|
|
||||||
|
# color2 #19cb00
|
||||||
|
# color10 #23fd00
|
||||||
|
|
||||||
|
#: green
|
||||||
|
|
||||||
|
# color3 #cecb00
|
||||||
|
# color11 #fffd00
|
||||||
|
|
||||||
|
#: yellow
|
||||||
|
|
||||||
|
# color4 #0d73cc
|
||||||
|
# color12 #1a8fff
|
||||||
|
|
||||||
|
#: blue
|
||||||
|
|
||||||
|
# color5 #cb1ed1
|
||||||
|
# color13 #fd28ff
|
||||||
|
|
||||||
|
#: magenta
|
||||||
|
|
||||||
|
# color6 #0dcdcd
|
||||||
|
# color14 #14ffff
|
||||||
|
|
||||||
|
#: cyan
|
||||||
|
|
||||||
|
# color7 #dddddd
|
||||||
|
# color15 #ffffff
|
||||||
|
|
||||||
|
#: white
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Advanced {{{
|
||||||
|
|
||||||
|
# shell .
|
||||||
|
|
||||||
|
#: The shell program to execute. The default value of . means to use
|
||||||
|
#: whatever shell is set as the default shell for the current user.
|
||||||
|
#: Note that on macOS if you change this, you might need to add
|
||||||
|
#: --login to ensure that the shell starts in interactive mode and
|
||||||
|
#: reads its startup rc files.
|
||||||
|
|
||||||
|
# editor .
|
||||||
|
|
||||||
|
#: The console editor to use when editing the kitty config file or
|
||||||
|
#: similar tasks. A value of . means to use the environment variable
|
||||||
|
#: EDITOR. Note that this environment variable has to be set not just
|
||||||
|
#: in your shell startup scripts but system-wide, otherwise kitty will
|
||||||
|
#: not see it.
|
||||||
|
|
||||||
|
# close_on_child_death no
|
||||||
|
|
||||||
|
#: Close the window when the child process (shell) exits. If no (the
|
||||||
|
#: default), the terminal will remain open when the child exits as
|
||||||
|
#: long as there are still processes outputting to the terminal (for
|
||||||
|
#: example disowned or backgrounded processes). If yes, the window
|
||||||
|
#: will close as soon as the child process exits. Note that setting it
|
||||||
|
#: to yes means that any background processes still using the terminal
|
||||||
|
#: can fail silently because their stdout/stderr/stdin no longer work.
|
||||||
|
|
||||||
|
# allow_remote_control no
|
||||||
|
|
||||||
|
#: Allow other programs to control kitty. If you turn this on other
|
||||||
|
#: programs can control all aspects of kitty, including sending text
|
||||||
|
#: to kitty windows, opening new windows, closing windows, reading the
|
||||||
|
#: content of windows, etc. Note that this even works over ssh
|
||||||
|
#: connections.
|
||||||
|
|
||||||
|
# env
|
||||||
|
|
||||||
|
#: Specify environment variables to set in all child processes. Note
|
||||||
|
#: that environment variables are expanded recursively, so if you
|
||||||
|
#: use::
|
||||||
|
|
||||||
|
#: env MYVAR1=a
|
||||||
|
#: env MYVAR2=${MYVAR1}/${HOME}/b
|
||||||
|
|
||||||
|
#: The value of MYVAR2 will be a/<path to home directory>/b.
|
||||||
|
|
||||||
|
# startup_session none
|
||||||
|
|
||||||
|
#: Path to a session file to use for all kitty instances. Can be
|
||||||
|
#: overridden by using the kitty --session command line option for
|
||||||
|
#: individual instances. See
|
||||||
|
#: https://sw.kovidgoyal.net/kitty/index.html#sessions in the kitty
|
||||||
|
#: documentation for details. Note that relative paths are interpreted
|
||||||
|
#: with respect to the kitty config directory. Environment variables
|
||||||
|
#: in the path are expanded.
|
||||||
|
|
||||||
|
# clipboard_control write-clipboard write-primary
|
||||||
|
|
||||||
|
#: Allow programs running in kitty to read and write from the
|
||||||
|
#: clipboard. You can control exactly which actions are allowed. The
|
||||||
|
#: set of possible actions is: write-clipboard read-clipboard write-
|
||||||
|
#: primary read-primary The default is to allow writing to the
|
||||||
|
#: clipboard and primary selection. Note that enabling the read
|
||||||
|
#: functionality is a security risk as it means that any program, even
|
||||||
|
#: one running on a remote server via SSH can read your clipboard.
|
||||||
|
|
||||||
|
# term xterm-kitty
|
||||||
|
|
||||||
|
#: The value of the TERM environment variable to set. Changing this
|
||||||
|
#: can break many terminal programs, only change it if you know what
|
||||||
|
#: you are doing, not because you read some advice on Stack Overflow
|
||||||
|
#: to change it. The TERM variable if used by various programs to get
|
||||||
|
#: information about the capabilities and behavior of the terminal. If
|
||||||
|
#: you change it, depending on what programs you run, and how
|
||||||
|
#: different the terminal you are changing it to is, various things
|
||||||
|
#: from key-presses, to colors, to various advanced features may not
|
||||||
|
#: work.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: OS specific tweaks {{{
|
||||||
|
|
||||||
|
# macos_titlebar_color system
|
||||||
|
|
||||||
|
#: Change the color of the kitty window's titlebar on macOS. A value
|
||||||
|
#: of system means to use the default system color, a value of
|
||||||
|
#: background means to use the background color of the currently
|
||||||
|
#: active window and finally you can use an arbitrary color, such as
|
||||||
|
#: #12af59 or red. WARNING: This option works by using a hack, as
|
||||||
|
#: there is no proper Cocoa API for it. It sets the background color
|
||||||
|
#: of the entire window and makes the titlebar transparent. As such it
|
||||||
|
#: is incompatible with background_opacity. If you want to use both,
|
||||||
|
#: you are probably better off just hiding the titlebar with
|
||||||
|
#: hide_window_decorations.
|
||||||
|
|
||||||
|
# macos_option_as_alt yes
|
||||||
|
|
||||||
|
#: Use the option key as an alt key. With this set to no, kitty will
|
||||||
|
#: use the macOS native Option+Key = unicode character behavior. This
|
||||||
|
#: will break any Alt+key keyboard shortcuts in your terminal
|
||||||
|
#: programs, but you can use the macOS unicode input technique.
|
||||||
|
|
||||||
|
# macos_hide_from_tasks no
|
||||||
|
|
||||||
|
#: Hide the kitty window from running tasks (Option+Tab) on macOS.
|
||||||
|
|
||||||
|
# macos_quit_when_last_window_closed no
|
||||||
|
|
||||||
|
#: Have kitty quit when all the top-level windows are closed. By
|
||||||
|
#: default, kitty will stay running, even with no open windows, as is
|
||||||
|
#: the expected behavior on macOS.
|
||||||
|
|
||||||
|
# macos_window_resizable yes
|
||||||
|
|
||||||
|
#: Disable this if you want kitty top-level (OS) windows to not be
|
||||||
|
#: resizable on macOS.
|
||||||
|
|
||||||
|
# macos_thicken_font 0
|
||||||
|
|
||||||
|
#: Draw an extra border around the font with the given width, to
|
||||||
|
#: increase legibility at small font sizes. For example, a value of
|
||||||
|
#: 0.75 will result in rendering that looks similar to sub-pixel
|
||||||
|
#: antialiasing at common font sizes.
|
||||||
|
|
||||||
|
# macos_traditional_fullscreen no
|
||||||
|
|
||||||
|
#: Use the traditional full-screen transition, that is faster, but
|
||||||
|
#: less pretty.
|
||||||
|
|
||||||
|
# macos_custom_beam_cursor no
|
||||||
|
|
||||||
|
#: Enable/disable custom mouse cursor for macOS that is easier to see
|
||||||
|
#: on both light and dark backgrounds. WARNING: this might make your
|
||||||
|
#: mouse cursor invisible on dual GPU machines.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Keyboard shortcuts {{{
|
||||||
|
|
||||||
|
#: For a list of key names, see: GLFW keys
|
||||||
|
#: <http://www.glfw.org/docs/latest/group__keys.html>. The name to use
|
||||||
|
#: is the part after the GLFW_KEY_ prefix. For a list of modifier
|
||||||
|
#: names, see: GLFW mods
|
||||||
|
#: <http://www.glfw.org/docs/latest/group__mods.html>
|
||||||
|
|
||||||
|
#: On Linux you can also use XKB key names to bind keys that are not
|
||||||
|
#: supported by GLFW. See XKB keys
|
||||||
|
#: <https://github.com/xkbcommon/libxkbcommon/blob/master/xkbcommon/xkbcommon-
|
||||||
|
#: keysyms.h> for a list of key names. The name to use is the part
|
||||||
|
#: after the XKB_KEY_ prefix. Note that you should only use an XKB key
|
||||||
|
#: name for keys that are not present in the list of GLFW keys.
|
||||||
|
|
||||||
|
#: Finally, you can use raw system key codes to map keys. To see the
|
||||||
|
#: system key code for a key, start kitty with the kitty --debug-
|
||||||
|
#: keyboard option. Then kitty will output some debug text for every
|
||||||
|
#: key event. In that text look for ``native_code`` the value of that
|
||||||
|
#: becomes the key name in the shortcut. For example:
|
||||||
|
|
||||||
|
#: .. code-block:: none
|
||||||
|
|
||||||
|
#: on_key_input: glfw key: 65 native_code: 0x61 action: PRESS mods: 0x0 text: 'a'
|
||||||
|
|
||||||
|
#: Here, the key name for the A key is 0x61 and you can use it with::
|
||||||
|
|
||||||
|
#: map ctrl+0x61 something
|
||||||
|
|
||||||
|
#: to map ctrl+a to something.
|
||||||
|
|
||||||
|
#: You can use the special action no_op to unmap a keyboard shortcut
|
||||||
|
#: that is assigned in the default configuration.
|
||||||
|
|
||||||
|
#: You can combine multiple actions to be triggered by a single
|
||||||
|
#: shortcut, using the syntax below::
|
||||||
|
|
||||||
|
#: map key combine <separator> action1 <separator> action2 <separator> action3 ...
|
||||||
|
|
||||||
|
#: For example::
|
||||||
|
|
||||||
|
#: map kitty_mod+e combine : new_window : next_layout
|
||||||
|
|
||||||
|
#: this will create a new window and switch to the next available
|
||||||
|
#: layout
|
||||||
|
|
||||||
|
#: You can use multi-key shortcuts using the syntax shown below::
|
||||||
|
|
||||||
|
#: map key1>key2>key3 action
|
||||||
|
|
||||||
|
#: For example::
|
||||||
|
|
||||||
|
#: map ctrl+f>2 set_font_size 20
|
||||||
|
|
||||||
|
# kitty_mod ctrl+shift
|
||||||
|
|
||||||
|
#: The value of kitty_mod is used as the modifier for all default
|
||||||
|
#: shortcuts, you can change it in your kitty.conf to change the
|
||||||
|
#: modifiers for all the default shortcuts.
|
||||||
|
|
||||||
|
# clear_all_shortcuts no
|
||||||
|
|
||||||
|
#: You can have kitty remove all shortcut definition seen up to this
|
||||||
|
#: point. Useful, for instance, to remove the default shortcuts.
|
||||||
|
|
||||||
|
#: Clipboard {{{
|
||||||
|
|
||||||
|
# map kitty_mod+c copy_to_clipboard
|
||||||
|
|
||||||
|
#: There is also a copy_or_interrupt action that can be optionally
|
||||||
|
#: mapped to Ctrl+c. It will copy only if there is a selection and
|
||||||
|
#: send an interrupt otherwise.
|
||||||
|
|
||||||
|
# map kitty_mod+v paste_from_clipboard
|
||||||
|
# map kitty_mod+s paste_from_selection
|
||||||
|
# map shift+insert paste_from_selection
|
||||||
|
# map kitty_mod+o pass_selection_to_program
|
||||||
|
|
||||||
|
#: You can also pass the contents of the current selection to any
|
||||||
|
#: program using pass_selection_to_program. By default, the system's
|
||||||
|
#: open program is used, but you can specify your own, for example::
|
||||||
|
|
||||||
|
#: map kitty_mod+o pass_selection_to_program firefox
|
||||||
|
|
||||||
|
#: You can pass the current selection to a terminal program running in
|
||||||
|
#: a new kitty window, by using the @selection placeholder::
|
||||||
|
|
||||||
|
#: map kitty_mod+y new_window less @selection
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Scrolling {{{
|
||||||
|
|
||||||
|
# map kitty_mod+up scroll_line_up
|
||||||
|
# map kitty_mod+k scroll_line_up
|
||||||
|
# map kitty_mod+down scroll_line_down
|
||||||
|
# map kitty_mod+j scroll_line_down
|
||||||
|
# map kitty_mod+page_up scroll_page_up
|
||||||
|
# map kitty_mod+page_down scroll_page_down
|
||||||
|
# map kitty_mod+home scroll_home
|
||||||
|
# map kitty_mod+end scroll_end
|
||||||
|
# map kitty_mod+h show_scrollback
|
||||||
|
|
||||||
|
#: You can pipe the contents of the current screen + history buffer as
|
||||||
|
#: STDIN to an arbitrary program using the ``pipe`` function. For
|
||||||
|
#: example, the following opens the scrollback buffer in less in an
|
||||||
|
#: overlay window::
|
||||||
|
|
||||||
|
#: map f1 pipe @ansi overlay less +G -R
|
||||||
|
|
||||||
|
#: For more details on piping screen and buffer contents to external
|
||||||
|
#: programs, see pipe.
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Window management {{{
|
||||||
|
|
||||||
|
# map kitty_mod+enter new_window
|
||||||
|
|
||||||
|
#: You can open a new window running an arbitrary program, for
|
||||||
|
#: example::
|
||||||
|
|
||||||
|
#: map kitty_mod+y new_window mutt
|
||||||
|
|
||||||
|
#: You can open a new window with the current working directory set to
|
||||||
|
#: the working directory of the current window using::
|
||||||
|
|
||||||
|
#: map ctrl+alt+enter new_window_with_cwd
|
||||||
|
|
||||||
|
#: You can open a new window that is allowed to control kitty via the
|
||||||
|
#: kitty remote control facility by prefixing the command line with @.
|
||||||
|
#: Any programs running in that window will be allowed to control
|
||||||
|
#: kitty. For example::
|
||||||
|
|
||||||
|
#: map ctrl+enter new_window @ some_program
|
||||||
|
|
||||||
|
# map kitty_mod+n new_os_window
|
||||||
|
# map kitty_mod+w close_window
|
||||||
|
# map kitty_mod+] next_window
|
||||||
|
# map kitty_mod+[ previous_window
|
||||||
|
# map kitty_mod+f move_window_forward
|
||||||
|
# map kitty_mod+b move_window_backward
|
||||||
|
# map kitty_mod+` move_window_to_top
|
||||||
|
# map kitty_mod+r start_resizing_window
|
||||||
|
# map kitty_mod+1 first_window
|
||||||
|
# map kitty_mod+2 second_window
|
||||||
|
# map kitty_mod+3 third_window
|
||||||
|
# map kitty_mod+4 fourth_window
|
||||||
|
# map kitty_mod+5 fifth_window
|
||||||
|
# map kitty_mod+6 sixth_window
|
||||||
|
# map kitty_mod+7 seventh_window
|
||||||
|
# map kitty_mod+8 eighth_window
|
||||||
|
# map kitty_mod+9 ninth_window
|
||||||
|
# map kitty_mod+0 tenth_window
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Tab management {{{
|
||||||
|
|
||||||
|
# map kitty_mod+right next_tab
|
||||||
|
# map kitty_mod+left previous_tab
|
||||||
|
# map kitty_mod+t new_tab
|
||||||
|
# map kitty_mod+q close_tab
|
||||||
|
# map kitty_mod+. move_tab_forward
|
||||||
|
# map kitty_mod+, move_tab_backward
|
||||||
|
# map kitty_mod+alt+t set_tab_title
|
||||||
|
|
||||||
|
#: You can also create shortcuts to go to specific tabs, with 1 being
|
||||||
|
#: the first tab, 2 the second tab and -1 being the previously active
|
||||||
|
#: tab::
|
||||||
|
|
||||||
|
#: map ctrl+alt+1 goto_tab 1
|
||||||
|
#: map ctrl+alt+2 goto_tab 2
|
||||||
|
|
||||||
|
#: Just as with new_window above, you can also pass the name of
|
||||||
|
#: arbitrary commands to run when using new_tab and use
|
||||||
|
#: new_tab_with_cwd. Finally, if you want the new tab to open next to
|
||||||
|
#: the current tab rather than at the end of the tabs list, use::
|
||||||
|
|
||||||
|
#: map ctrl+t new_tab !neighbor [optional cmd to run]
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Layout management {{{
|
||||||
|
|
||||||
|
# map kitty_mod+l next_layout
|
||||||
|
|
||||||
|
#: You can also create shortcuts to switch to specific layouts::
|
||||||
|
|
||||||
|
#: map ctrl+alt+t goto_layout tall
|
||||||
|
#: map ctrl+alt+s goto_layout stack
|
||||||
|
|
||||||
|
#: Similarly, to switch back to the previous layout::
|
||||||
|
|
||||||
|
#: map ctrl+alt+p last_used_layout
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Font sizes {{{
|
||||||
|
|
||||||
|
#: You can change the font size for all top-level kitty OS windows at
|
||||||
|
#: a time or only the current one.
|
||||||
|
|
||||||
|
# map kitty_mod+equal change_font_size all +2.0
|
||||||
|
# map kitty_mod+minus change_font_size all -2.0
|
||||||
|
# map kitty_mod+backspace change_font_size all 0
|
||||||
|
|
||||||
|
#: To setup shortcuts for specific font sizes::
|
||||||
|
|
||||||
|
#: map kitty_mod+f6 change_font_size all 10.0
|
||||||
|
|
||||||
|
#: To setup shortcuts to change only the current OS window's font
|
||||||
|
#: size::
|
||||||
|
|
||||||
|
#: map kitty_mod+f6 change_font_size current 10.0
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Select and act on visible text {{{
|
||||||
|
|
||||||
|
#: Use the hints kitten to select text and either pass it to an
|
||||||
|
#: external program or insert it into the terminal or copy it to the
|
||||||
|
#: clipboard.
|
||||||
|
|
||||||
|
# map kitty_mod+e kitten hints
|
||||||
|
|
||||||
|
#: Open a currently visible URL using the keyboard. The program used
|
||||||
|
#: to open the URL is specified in open_url_with.
|
||||||
|
|
||||||
|
# map kitty_mod+p>f kitten hints --type path --program -
|
||||||
|
|
||||||
|
#: Select a path/filename and insert it into the terminal. Useful, for
|
||||||
|
#: instance to run git commands on a filename output from a previous
|
||||||
|
#: git command.
|
||||||
|
|
||||||
|
# map kitty_mod+p>shift+f kitten hints --type path
|
||||||
|
|
||||||
|
#: Select a path/filename and open it with the default open program.
|
||||||
|
|
||||||
|
# map kitty_mod+p>l kitten hints --type line --program -
|
||||||
|
|
||||||
|
#: Select a line of text and insert it into the terminal. Use for the
|
||||||
|
#: output of things like: ls -1
|
||||||
|
|
||||||
|
# map kitty_mod+p>w kitten hints --type word --program -
|
||||||
|
|
||||||
|
#: Select words and insert into terminal.
|
||||||
|
|
||||||
|
# map kitty_mod+p>h kitten hints --type hash --program -
|
||||||
|
|
||||||
|
#: Select something that looks like a hash and insert it into the
|
||||||
|
#: terminal. Useful with git, which uses sha1 hashes to identify
|
||||||
|
#: commits
|
||||||
|
|
||||||
|
|
||||||
|
#: The hints kitten has many more modes of operation that you can map
|
||||||
|
#: to different shortcuts. For a full description see kittens/hints.
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
#: Miscellaneous {{{
|
||||||
|
|
||||||
|
# map kitty_mod+f11 toggle_fullscreen
|
||||||
|
# map kitty_mod+u kitten unicode_input
|
||||||
|
# map kitty_mod+f2 edit_config_file
|
||||||
|
# map kitty_mod+escape kitty_shell window
|
||||||
|
|
||||||
|
#: Open the kitty shell in a new window/tab/overlay/os_window to
|
||||||
|
#: control kitty using commands.
|
||||||
|
|
||||||
|
# map kitty_mod+a>m set_background_opacity +0.1
|
||||||
|
# map kitty_mod+a>l set_background_opacity -0.1
|
||||||
|
# map kitty_mod+a>1 set_background_opacity 1
|
||||||
|
# map kitty_mod+a>d set_background_opacity default
|
||||||
|
# map kitty_mod+delete clear_terminal reset active
|
||||||
|
|
||||||
|
#: You can create shortcuts to clear/reset the terminal. For example::
|
||||||
|
|
||||||
|
#: # Reset the terminal
|
||||||
|
#: map kitty_mod+f9 clear_terminal reset active
|
||||||
|
#: # Clear the terminal screen by erasing all contents
|
||||||
|
#: map kitty_mod+f10 clear_terminal clear active
|
||||||
|
#: # Clear the terminal scrollback by erasing it
|
||||||
|
#: map kitty_mod+f11 clear_terminal scrollback active
|
||||||
|
#: # Scroll the contents of the screen into the scrollback
|
||||||
|
#: map kitty_mod+f12 clear_terminal scroll active
|
||||||
|
|
||||||
|
#: If you want to operate on all windows instead of just the current
|
||||||
|
#: one, use all instead of :italic`active`.
|
||||||
|
|
||||||
|
#: It is also possible to remap Ctrl+L to both scroll the current
|
||||||
|
#: screen contents into the scrollback buffer and clear the screen,
|
||||||
|
#: instead of just clearing the screen::
|
||||||
|
|
||||||
|
#: map ctrl+l combine : clear_terminal scroll active : send_text normal,application
|
||||||
|
|
||||||
|
|
||||||
|
#: You can tell kitty to send arbitrary (UTF-8) encoded text to the
|
||||||
|
#: client program when pressing specified shortcut keys. For example::
|
||||||
|
|
||||||
|
#: map ctrl+alt+a send_text all Special text
|
||||||
|
|
||||||
|
#: This will send "Special text" when you press the ctrl+alt+a key
|
||||||
|
#: combination. The text to be sent is a python string literal so you
|
||||||
|
#: can use escapes like \x1b to send control codes or \u21fb to send
|
||||||
|
#: unicode characters (or you can just input the unicode characters
|
||||||
|
#: directly as UTF-8 text). The first argument to send_text is the
|
||||||
|
#: keyboard modes in which to activate the shortcut. The possible
|
||||||
|
#: values are normal or application or kitty or a comma separated
|
||||||
|
#: combination of them. The special keyword all means all modes. The
|
||||||
|
#: modes normal and application refer to the DECCKM cursor key mode
|
||||||
|
#: for terminals, and kitty refers to the special kitty extended
|
||||||
|
#: keyboard protocol.
|
||||||
|
|
||||||
|
#: Another example, that outputs a word and then moves the cursor to
|
||||||
|
#: the start of the line (same as pressing the Home key)::
|
||||||
|
|
||||||
|
#: map ctrl+alt+a send_text normal Word\x1b[H
|
||||||
|
#: map ctrl+alt+a send_text application Word\x1bOH
|
||||||
|
|
||||||
|
#: }}}
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
background #fdf6e3
|
||||||
|
foreground #657b83
|
||||||
|
cursor #586e75
|
||||||
|
|
||||||
|
selection_background #475b62
|
||||||
|
selection_foreground #eae3cb
|
||||||
|
|
||||||
|
color0 #073642
|
||||||
|
color8 #002b36
|
||||||
|
|
||||||
|
color1 #dc322f
|
||||||
|
color9 #cb4b16
|
||||||
|
|
||||||
|
color2 #859900
|
||||||
|
color10 #586e75
|
||||||
|
|
||||||
|
color3 #b58900
|
||||||
|
color11 #657b83
|
||||||
|
|
||||||
|
color4 #268bd2
|
||||||
|
color12 #839496
|
||||||
|
|
||||||
|
color5 #d33682
|
||||||
|
color13 #6c71c4
|
||||||
|
|
||||||
|
color6 #2aa198
|
||||||
|
color14 #93a1a1
|
||||||
|
|
||||||
|
color7 #eee8d5
|
||||||
|
color15 #fdf6e3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Base16 Atelier Plateau - kitty color config
|
||||||
|
# Bram de Haan (http://atelierbramdehaan.nl)
|
||||||
|
#background #1b1818
|
||||||
|
#foreground #8a8585
|
||||||
|
#selection_background #8a8585
|
||||||
|
#selection_foreground #1b1818
|
||||||
|
#url_color #7e7777
|
||||||
|
#cursor #8a8585
|
||||||
|
#active_border_color #655d5d
|
||||||
|
#active_tab_background #1b1818
|
||||||
|
#active_tab_foreground #8a8585
|
||||||
|
#inactive_tab_background #292424
|
||||||
|
#inactive_tab_foreground #7e7777
|
||||||
|
#
|
||||||
|
## normal
|
||||||
|
#color0 #1b1818
|
||||||
|
#color1 #ca4949
|
||||||
|
#color2 #4b8b8b
|
||||||
|
#color3 #a06e3b
|
||||||
|
#color4 #7272ca
|
||||||
|
#color5 #8464c4
|
||||||
|
#color6 #5485b6
|
||||||
|
#color7 #8a8585
|
||||||
|
#
|
||||||
|
## bright
|
||||||
|
#color8 #655d5d
|
||||||
|
#color9 #b45a3c
|
||||||
|
#color10 #292424
|
||||||
|
#color11 #585050
|
||||||
|
#color12 #7e7777
|
||||||
|
#color13 #e7dfdf
|
||||||
|
#color14 #bd5187
|
||||||
|
#color15 #8a8585
|
Reference in New Issue
Block a user