mirror of
https://github.com/bvanroll/older-dotfiles.git
synced 2025-08-28 11:32:48 +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