macbook syncing
commit
57b610f138
@ -1 +1,3 @@
|
||||
*.swp
|
||||
gui/i3/wallpaper.jpg
|
||||
passwords/gnupg/.*
|
||||
|
@ -1,4 +1,4 @@
|
||||
# dotfiles
|
||||
|
||||
### TODO
|
||||
- Need to correct the ST linking of configs to have 1 repo and then link in config.h as needed
|
||||
- Add main polybar file and create bar as needed from modules
|
||||
|
@ -1,2 +1,8 @@
|
||||
feh
|
||||
imagemagick
|
||||
rofi
|
||||
mpv
|
||||
mpd
|
||||
mpc
|
||||
playerctl
|
||||
zscroll-git
|
||||
|
@ -1 +0,0 @@
|
||||
14:11:33 LOG
|
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
# yellow for in progress
|
||||
polybar-msg action calendar-sync hook 3 1>/dev/null
|
||||
OUTPUT=$(CALCURSE_CALDAV_PASSWORD=$(pass show cal.keegandeppe.com/kdeppe 2>&1) calcurse-caldav 2>&1)
|
||||
ERRORS=$(echo "$OUTPUT" | grep error)
|
||||
|
||||
if [ -n "$ERRORS" ] ; then
|
||||
polybar-msg action calendar-sync hook 2 1>/dev/null
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# success, show green for a few seconds and quit
|
||||
polybar-msg action calendar-sync hook 1 1>/dev/null
|
||||
sleep 3
|
||||
polybar-msg action calendar-sync hook 0 1>/dev/null
|
||||
exit 0
|
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
WM_DESKTOP=$(xdotool getwindowfocus)
|
||||
|
||||
if [[ $WM_DESKTOP == "4194404" ]] ; then
|
||||
echo ""
|
||||
else
|
||||
WM_CLASS=$(xprop -id "$WM_DESKTOP" WM_CLASS | awk 'NF {print $NF}' | sed 's/"//g')
|
||||
WM_NAME=$(xprop -id "$WM_DESKTOP" WM_NAME | cut -d '=' -f 2 | awk -F '"' '{print $2}')
|
||||
|
||||
# filtering
|
||||
if [ "$WM_NAME" == "tmux" ] ; then
|
||||
echo "tmux"
|
||||
elif [ "$WM_CLASS" == "st-256color" ] ; then
|
||||
echo "st"
|
||||
elif [ "$WM_CLASS" == "Brave-browser" ] ; then
|
||||
echo "Brave"
|
||||
elif [ "$WM_CLASS" == "Spotify" ] ; then
|
||||
echo "Spotify"
|
||||
elif [ "$WM_CLASS" == "Zathura" ] ; then
|
||||
echo "Zathura"
|
||||
else
|
||||
echo "$WM_NAME"
|
||||
fi
|
||||
fi
|
||||
|
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
# checks if instance of arg 1 exists, will show it if it does
|
||||
exists=$(i3-msg "[instance=$1] scratchpad show" 2>&1 | grep ERROR)
|
||||
if [ -n "$exists" ] ; then
|
||||
# creating it then showing
|
||||
if [ -z "$1" ] ; then
|
||||
echo "Missing class in arg 1" >&2
|
||||
exit 1
|
||||
elif [ -z "$2" ] ; then
|
||||
echo "Missing command to launch application in arg 2" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# runs remaining commands and shows
|
||||
${@:2} 2>&1 1>/dev/null &
|
||||
sleep 1
|
||||
# lets application load then shows it on scratchpad
|
||||
i3-msg "[instance=$1] scratchpad show" 1>/dev/null
|
||||
fi
|
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -n "$1" ] ; then
|
||||
URL="$1"
|
||||
fi
|
||||
|
||||
i3-msg "workspace 1; exec brave --new-window $URL"
|
||||
sleep 0.3
|
||||
i3-msg "[class=st-256color] focus"
|
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ ! -e "$ZSH/oh-my-zsh.sh" ] ; then
|
||||
/bin/zsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussel/oh-my-zsh/master/tools/install.sh)"
|
||||
/bin/zsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --keep-zshrc --unattended"
|
||||
fi
|
||||
|
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$1" == '--toggle' ]; then
|
||||
playerctl --player=spotify play-pause
|
||||
fi
|
||||
|
||||
if [[ "$1" == "--scroll" ]] ; then
|
||||
zscroll -l $2 \
|
||||
-p " " \
|
||||
--delay 0.5 \
|
||||
--update-check true \
|
||||
--match-command "playerctl --player=spotify status" \
|
||||
--match-text "Playing" "--scroll 1" \
|
||||
--match-text "Paused" "--scroll 0" \
|
||||
"playerctl --player=spotify metadata -s --format '{{artist}} - {{title}}'" &
|
||||
wait
|
||||
fi
|
||||
|
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Gets the current seafile status to display icon
|
||||
|
||||
SYNC_COMPLETE=$(printf '%s %s' '%{F#0F0}' $(echo -e '\Uf0216')) # green
|
||||
SYNC_IN_PROGRESS=$(printf '%s %s' '%{F#FF0}' $(echo -e '\Uf1216')) # yellow
|
||||
SYNC_FAILED=$(printf '%s %s' '%{F#F00}' $(echo -e '\Uf0b98')) # red
|
||||
|
||||
if ! command -v seaf-cli &>/dev/null ; then
|
||||
echo "Seafile not downloaded to device!">&2
|
||||
echo "$SYNC_FAILED"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# getting folder status and trimming headers
|
||||
SEAFILE_STATUS=$(seaf-cli status | tail -n +2)
|
||||
ERRORS=$(echo "$SEAFILE_STATUS" | grep "error")
|
||||
if [[ -n "$ERRORS" ]] ; then
|
||||
# some directories have errors
|
||||
echo "Error: Failed to sync">&2
|
||||
echo "$ERRORS">&2
|
||||
echo "$SYNC_FAILED"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
IN_PROGRESS=$(echo "$SEAFILE_STATUS" | grep -v "synchronized")
|
||||
if [[ -n "$IN_PROGRESS" ]] ; then
|
||||
# some form of syncing in progress
|
||||
echo "$SYNC_IN_PROGRESS"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ -z "$IN_PROGRESS" ]] ; then
|
||||
# nothing in progress and no errors
|
||||
echo "$SYNC_COMPLETE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# should never get here
|
||||
echo "UNKNOWN_ERROR!">&2
|
||||
exit 1
|
@ -1,14 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
# checks for agent status and echos to status bar
|
||||
|
||||
if [ -S ~/.ssh/ssh_auth_sock ] ; then
|
||||
# agent active
|
||||
clr='#[fg=color34]' # green
|
||||
symb=$(echo -e '\uf00c')
|
||||
|
||||
#ICON=$(echo -e '\Uf08c0')
|
||||
|
||||
if [[ -S ~/.ssh/ssh_auth_sock ]] ; then
|
||||
ICON=$(echo -e '\uf00c')
|
||||
if [[ "$1" == "-t" ]] ; then
|
||||
DEFAULT=' #[default]'
|
||||
clr='#[fg=color34]'
|
||||
else
|
||||
clr='%{F#0F0}'
|
||||
fi
|
||||
else
|
||||
# agent not active
|
||||
clr='#[fg=color1]' # red
|
||||
symb=$(echo -e '\uf00d')
|
||||
ICON=$(echo -e '\uf00d')
|
||||
if [[ "$1" == "-t" ]] ; then
|
||||
DEFAULT=' #[default]'
|
||||
clr='#[fg=color1]'
|
||||
else
|
||||
clr='%{F#F00}'
|
||||
fi
|
||||
fi
|
||||
|
||||
printf 'Agent %s%s #[default]' $clr $symb
|
||||
printf 'Agent %s%s%s' $clr $ICON "$DEFAULT"
|
||||
|
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
calindx="$HOME/.local/share/calcurse/.env"
|
||||
todoitems=$(calcurse --todo=1 --format-todo="%m\n"| tail -n +2 )
|
||||
readarray -t todolist <<<$todoitems
|
||||
|
||||
# get index
|
||||
if [[ ! -f "$calindx" ]] ; then
|
||||
echo "INDEX=0" > "$calindx"
|
||||
fi
|
||||
|
||||
source "$calindx"
|
||||
|
||||
# increment
|
||||
if [[ "$1" == "inc" ]] ; then
|
||||
((INDEX+=1))
|
||||
elif [[ "$1" == "dec" ]] ; then
|
||||
((INDEX-=1))
|
||||
fi
|
||||
|
||||
# perform checks on the index. Adjusts to dynamic lists
|
||||
if [[ $INDEX -ge ${#todolist[@]} ]] ; then
|
||||
INDEX=0 # loops
|
||||
elif [[ $INDEX -lt 0 ]] ; then
|
||||
INDEX=$((${#todolist[@]}-1))
|
||||
fi
|
||||
|
||||
# saves index
|
||||
echo "INDEX=$INDEX" > "$calindx"
|
||||
printf '%s (%d/%d)\n' "${todolist[$INDEX]}" $(($INDEX+1)) ${#todolist[@]}
|
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
wallpapers_dir=~/.local/share/wallpapers
|
||||
finder="rofi-dmenu Wallpaper"
|
||||
|
||||
cd "$wallpapers_dir"
|
||||
|
||||
# fzf selector
|
||||
if [ "$1" == '-s' ] ; then
|
||||
# follows links and omits the env file
|
||||
selection=$(find -L -type f -printf '%P\n' | $finder)
|
||||
if [ -n "$selection" ] ; then
|
||||
# didnt exit
|
||||
feh --bg-scale "$selection"
|
||||
fi
|
||||
fi
|
||||
|
||||
# feh slideshow selector
|
||||
if [ "$1" == '-p' ] ; then
|
||||
# follows links and omits the env file
|
||||
# find -L -type f -printf '%P\n' | feh -A "echo '%f';"
|
||||
echo "BROKEN">&2
|
||||
exit 1
|
||||
fi
|
@ -0,0 +1,40 @@
|
||||
require('keymap')
|
||||
require('plugins')
|
||||
require('calcurse')
|
||||
|
||||
-- prevent cursor override
|
||||
vim.cmd('set guicursor=')
|
||||
-- basic settings
|
||||
vim.cmd('filetype plugin indent on')
|
||||
vim.cmd('set ts=4 sts=4 sw=4 expandtab')
|
||||
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
vim.opt.compatible = false
|
||||
|
||||
-- colorscheme and syntax settings
|
||||
vim.cmd([[
|
||||
syntax enable
|
||||
colorscheme hybrid
|
||||
hi Normal ctermbg=NONE
|
||||
]])
|
||||
|
||||
-- defaults to transparent
|
||||
transparent = true
|
||||
|
||||
-- timeouts
|
||||
vim.opt.ttimeout = true
|
||||
vim.opt.ttimeoutlen = 100
|
||||
|
||||
-- nvim tree basics
|
||||
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- vimwiki changes
|
||||
vim.cmd([[
|
||||
let g:vimwiki_list = [{'path': '~/vimwiki/',
|
||||
\ 'syntax': 'markdown', 'ext':'.md'}]
|
||||
]])
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
-- calcurse -> markdown
|
||||
vim.api.nvim_create_autocmd({"BufRead","BufNewFile"}, {
|
||||
pattern = {"/tmp/calcurse*","~/.local/share/calcurse/notes/*"},
|
||||
command = "set filetype=markdown",
|
||||
})
|
||||
|
||||
|
@ -0,0 +1,33 @@
|
||||
require("transparent")
|
||||
|
||||
vim.g.mapleader = " "
|
||||
|
||||
vim.keymap.set("n", "<leader>b", ":lua toggleTransparent()<CR>")
|
||||
|
||||
-- nvim-tree bindings
|
||||
|
||||
vim.keymap.set("n", "<leader>t", ":NvimTreeToggle<CR>")
|
||||
|
||||
vim.keymap.set("n", "<leader>s", ":lua spellToggle()<CR>")
|
||||
|
||||
-- toggle spell check
|
||||
function spellToggle()
|
||||
if vim.o.spell == nil or vim.o.spell then
|
||||
vim.o.spell = false
|
||||
else
|
||||
vim.o.spell = true
|
||||
end
|
||||
end
|
||||
|
||||
-- markdown preview
|
||||
|
||||
vim.keymap.set("n", "<leader>p", ":MarkdownPreviewToggle<CR>")
|
||||
|
||||
-- custom shell script to move windows
|
||||
vim.cmd([[
|
||||
function OpenMarkdownPreview (url)
|
||||
execute "silent ! markdown-preview.sh " . a:url
|
||||
endfunction
|
||||
]])
|
||||
|
||||
vim.g.mkdp_browserfunc = 'OpenMarkdownPreview'
|
@ -0,0 +1,12 @@
|
||||
require('tree')
|
||||
|
||||
-- airline settings
|
||||
if vim.g.airline_symbols == nil then
|
||||
vim.g.airline_symbols = vim.empty_dict()
|
||||
end
|
||||
|
||||
vim.g.airline_powerline_fonts = 1
|
||||
vim.g.airline_symbols.linenr = ''
|
||||
vim.g.airline_symbols.maxlinenr = ''
|
||||
vim.g.airline_symbols.dirty = ''
|
||||
|
@ -0,0 +1,9 @@
|
||||
function toggleTransparent()
|
||||
transparent = not transparent
|
||||
if transparent then
|
||||
vim.cmd("hi Normal ctermbg=NONE")
|
||||
else
|
||||
vim.cmd("set background=dark")
|
||||
vim.cmd("syntax enable")
|
||||
end
|
||||
end
|
@ -0,0 +1,40 @@
|
||||
require('nvim-tree').setup({
|
||||
open_on_tab = false,
|
||||
filters = {
|
||||
dotfiles = true,
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
quit_on_open = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
showHiddenFiles = false
|
||||
|
||||
local function open_nvim_tree(data)
|
||||
|
||||
-- buffer is a directory
|
||||
local directory = vim.fn.isdirectory(data.file) == 1
|
||||
|
||||
local empty_file = data.file == ""
|
||||
|
||||
if not directory and not empty_file then
|
||||
return
|
||||
end
|
||||
|
||||
if directory then
|
||||
vim.cmd.cd(data.file)
|
||||
end
|
||||
vim.cmd.enew()
|
||||
vim.cmd.bw(data.buf)
|
||||
-- change to directory and open
|
||||
require("nvim-tree.api").tree.open()
|
||||
end
|
||||
|
||||
-- toggle dotfiles visibility
|
||||
vim.keymap.set("n", "<leader>d", ":lua require('nvim-tree.api').tree.toggle_hidden_filter()<CR>")
|
||||
|
||||
-- nvim-tree open at startup
|
||||
vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree, })
|
||||
|
@ -0,0 +1,8 @@
|
||||
vim.cmd('packadd vim-go')
|
||||
|
||||
vim.g.go_hightlight_types = 1
|
||||
vim.g.go_hightlight_fields = 1
|
||||
vim.g.go_hightlight_functions = 1
|
||||
vim.g.go_hightlight_function_calls = 1
|
||||
vim.g.go_hightlight_operators = 1
|
||||
vim.g.go_hightlight_extra_types = 1
|
@ -0,0 +1,14 @@
|
||||
-- adding packages
|
||||
vim.cmd('packadd vim-markdown')
|
||||
vim.cmd('packadd vimwiki')
|
||||
-- setting spell check
|
||||
vim.cmd([[
|
||||
setlocal spell
|
||||
setlocal wrap
|
||||
]])
|
||||
|
||||
-- markdown plugin settings
|
||||
vim.opt.conceallevel = 2
|
||||
vim.g.vim_markdown_folding_disabled = 1
|
||||
vim.g.vim_markdown_math = 1
|
||||
vim.g.vim_markdown_strikethrough = 1
|
@ -0,0 +1,2 @@
|
||||
-- adding packages
|
||||
vim.cmd('packadd vim-typescript')
|
@ -0,0 +1 @@
|
||||
Subproject commit bbb6d4891009de7dab05ad8fc2d39f272d7a751c
|
@ -0,0 +1 @@
|
||||
Subproject commit 23cc4bca2f586c8c2f7d2cb78bbbfec4b7361763
|
@ -0,0 +1 @@
|
||||
Subproject commit 5d3d1b6cbdc4be0b4c6105c1ab1f769d76d3c68f
|
@ -0,0 +1 @@
|
||||
Subproject commit fea8bee382b2051b0137fd2cacf0862823ee69b3
|
@ -0,0 +1 @@
|
||||
Subproject commit 02cc3874738bc0f86e4b91f09b8a0ac88aef8e96
|
@ -0,0 +1 @@
|
||||
Subproject commit 038e3a6ca59f11b3bb6a94087c1792322d1a1d5c
|
@ -0,0 +1 @@
|
||||
Subproject commit 52f3ca3474d51f5021696ffb7297d989e49121ac
|
@ -0,0 +1 @@
|
||||
Subproject commit 07d19f0299762669c6f93fbadb8249da6ba9de62
|
@ -0,0 +1 @@
|
||||
Subproject commit 52f3ca3474d51f5021696ffb7297d989e49121ac
|
@ -1 +0,0 @@
|
||||
/home/spinach/.dotfiles/gui/wallpapers/pine_tree.jpg
|
@ -1 +0,0 @@
|
||||
/home/spinach/.dotfiles/gui/wallpapers/pine_tree.jpg
|
@ -0,0 +1,8 @@
|
||||
include base.conf
|
||||
|
||||
# binding workspaces
|
||||
workspace 1 output DP-2
|
||||
workspace 2 output DP-0
|
||||
|
||||
# poly bar
|
||||
exec_always --no-startup-id polybar-launch.sh desktop-bar
|
@ -0,0 +1,3 @@
|
||||
include base.conf
|
||||
# poly bar
|
||||
exec_always --no-startup-id polybar-launch.sh thinkpad-bar
|
@ -0,0 +1,8 @@
|
||||
include base.conf
|
||||
|
||||
# binding workspaces
|
||||
workspace 1 output DP-2
|
||||
workspace 2 output DP-1
|
||||
|
||||
# poly bar
|
||||
exec_always --no-startup-id polybar-launch.sh work-bar
|
@ -1,127 +0,0 @@
|
||||
[colors]
|
||||
background = #1D1F21
|
||||
background-alt = #373B41
|
||||
foreground = #C5C8C6
|
||||
primary = #F0C674
|
||||
secondary = #8ABEB7
|
||||
disabled = #707880
|
||||
alert = #A54242
|
||||
|
||||
[bar/main-bar]
|
||||
width = 100%
|
||||
height = 24pt
|
||||
radius = 5
|
||||
|
||||
; seperator
|
||||
separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
module-margin = 1
|
||||
padding = 2
|
||||
|
||||
; font
|
||||
font-0 = Hack Nerd Font;2
|
||||
|
||||
monitor = ${env:MONITOR:}
|
||||
|
||||
bottom = false
|
||||
|
||||
fixed-center = true
|
||||
|
||||
; hybrid bg color, might go lighter grey
|
||||
background = ${colors.background}
|
||||
|
||||
; hybrid fg color, might go lighter if I go lighter grey
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
modules-left = xworkspaces xwindow
|
||||
modules-center = weather
|
||||
modules-right = pulseaudio memory cpu eth date
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
label-active-underline= ${colors.primary}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:40:...%
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = "VOL "
|
||||
format-volume-prefix-foreground = ${colors.primary}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
label-muted = muted
|
||||
label-muted-foreground = ${colors.disabled}
|
||||
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
|
||||
exec = weather -pd
|
||||
interval = 30
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "RAM "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %total%
|
||||
format = <bar-used> <label>
|
||||
|
||||
bar-used-indicator =
|
||||
bar-used-width = 10
|
||||
bar-used-fill = ▐
|
||||
bar-used-empty = _
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "CPU "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage:2%%
|
||||
|
||||
[network-base]
|
||||
type = internal/network
|
||||
interval = 5
|
||||
format-connected = <label-connected>
|
||||
format-connected-prefix = "ETH "
|
||||
format-connected-prefix-foreground = ${colors.primary}
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||
|
||||
[module/eth]
|
||||
inherit = network-base
|
||||
interface-type = wired
|
||||
;label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
||||
label-connected = %ifname% %linkspeed%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
date = %A, %b %d %l:%M %P
|
||||
;date = %H:%M
|
||||
date-alt = %Y-%m-%d %H:%M:%S
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
@ -1,139 +0,0 @@
|
||||
[colors]
|
||||
background = #1D1F21
|
||||
background-alt = #373B41
|
||||
foreground = #C5C8C6
|
||||
primary = #F0C674
|
||||
secondary = #8ABEB7
|
||||
disabled = #707880
|
||||
alert = #A54242
|
||||
|
||||
[bar/main-bar]
|
||||
width = 100%
|
||||
height = 24pt
|
||||
radius = 5
|
||||
|
||||
; seperator
|
||||
separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
module-margin = 1
|
||||
padding = 2
|
||||
|
||||
; font
|
||||
font-0 = Hack Nerd Font;2
|
||||
|
||||
monitor = ${env:MONITOR:}
|
||||
|
||||
bottom = false
|
||||
|
||||
fixed-center = true
|
||||
|
||||
; hybrid bg color, might go lighter grey
|
||||
background = ${colors.background}
|
||||
|
||||
; hybrid fg color, might go lighter if I go lighter grey
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
modules-left = xworkspaces xwindow
|
||||
modules-center = weather
|
||||
modules-right = battery pulseaudio memory cpu eth date
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
label-active-underline= ${colors.primary}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:40:...%
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = "VOL "
|
||||
format-volume-prefix-foreground = ${colors.primary}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
label-muted = muted
|
||||
label-muted-foreground = ${colors.disabled}
|
||||
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
|
||||
exec = weather -pd
|
||||
interval = 30
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "RAM "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %total%
|
||||
format = <bar-used> <label>
|
||||
|
||||
bar-used-indicator =
|
||||
bar-used-width = 10
|
||||
bar-used-fill = ▐
|
||||
bar-used-empty = _
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
|
||||
poll-interval = 5
|
||||
|
||||
low-at = 10
|
||||
|
||||
format-charging = <label-charging>
|
||||
format-discharging = <label-discharging>
|
||||
|
||||
label-charging = %percentage%% %time%
|
||||
|
||||
label-discharging = %percentage%% %time%
|
||||
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "CPU "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage:2%%
|
||||
|
||||
[network-base]
|
||||
type = internal/network
|
||||
interval = 5
|
||||
format-connected = <label-connected>
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||
|
||||
[module/eth]
|
||||
inherit = network-base
|
||||
interface-type = wired
|
||||
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
date = %A, %b %d %l:%M %P
|
||||
;date = %H:%M
|
||||
date-alt = %Y-%m-%d %H:%M:%S
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
@ -1,144 +0,0 @@
|
||||
[colors]
|
||||
background = #1D1F21
|
||||
background-alt = #373B41
|
||||
foreground = #C5C8C6
|
||||
primary = #F0C674
|
||||
secondary = #8ABEB7
|
||||
disabled = #707880
|
||||
alert = #A54242
|
||||
|
||||
[bar/main-bar]
|
||||
width = 100%
|
||||
height = 16pt
|
||||
radius = 5
|
||||
|
||||
; seperator
|
||||
separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
module-margin = 1
|
||||
padding = 2
|
||||
|
||||
; font
|
||||
font-0 = Hack Nerd Font:size=10;2
|
||||
|
||||
monitor = ${env:MONITOR:}
|
||||
|
||||
bottom = false
|
||||
|
||||
; hybrid bg color, might go lighter grey
|
||||
background = ${colors.background}
|
||||
|
||||
; hybrid fg color, might go lighter if I go lighter grey
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
modules-left = xworkspaces xwindow weather
|
||||
modules-right = battery pulseaudio memory cpu wlan date
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
label-active-underline= ${colors.primary}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:20:...%
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = "VOL "
|
||||
format-volume-prefix-foreground = ${colors.primary}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
label-muted = muted
|
||||
label-muted-foreground = ${colors.disabled}
|
||||
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
|
||||
exec = weather -p
|
||||
interval = 30
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "RAM "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage_used%%
|
||||
format = <label>
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
|
||||
poll-interval = 10
|
||||
|
||||
low-at = 10
|
||||
|
||||
format-discharging-prefix = "BAT "
|
||||
format-discharging-prefix-foreground = ${colors.primary}
|
||||
format-discharging = <label-discharging>
|
||||
|
||||
format-charging-prefix = "CHR "
|
||||
format-charging-prefix-foreground = ${colors.primary}
|
||||
format-charging = <label-charging>
|
||||
|
||||
time-format = %l:%M
|
||||
|
||||
label-charging = %percentage%%%time%
|
||||
|
||||
label-discharging = %percentage%%%time%
|
||||
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "CPU "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage%%
|
||||
|
||||
[network-base]
|
||||
type = internal/network
|
||||
interval = 5
|
||||
format-connected = <label-connected>
|
||||
format-connected-foreground = ${colors.primary}
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-foreground = ${colors.disabled}
|
||||
|
||||
[module/wlan]
|
||||
inherit = network-base
|
||||
interface-type = wireless
|
||||
label-connected = %ifname%
|
||||
|
||||
[module/eth]
|
||||
inherit = network-base
|
||||
interface-type = wired
|
||||
label-connected = %{F#F0C674}%ifname%%{F-} %net_speed%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
date = %a, %b %d %l:%M %P
|
||||
;date = %H:%M
|
||||
date-alt = %Y-%m-%d %H:%M:%S
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
@ -0,0 +1,297 @@
|
||||
[colors]
|
||||
background = #001D1F21
|
||||
background-alt = #373B41
|
||||
#foreground = #C5C8C6
|
||||
foreground = #DDD
|
||||
primary = #F0C674
|
||||
secondary = #8ABEB7
|
||||
disabled = #707880
|
||||
alert = #A54242
|
||||
|
||||
[section/base-bar]
|
||||
; base bar settings
|
||||
width = 100%
|
||||
radius = 5
|
||||
; font
|
||||
font-0 = Hack Nerd Font;2
|
||||
; ipc
|
||||
enable-ipc = true
|
||||
; seperator
|
||||
separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
module-margin = 1
|
||||
padding = 2
|
||||
; multi-monitor support
|
||||
monitor = ${env:MONITOR}
|
||||
; places bar at the top
|
||||
bottom = false
|
||||
fixed-center = true
|
||||
; hybrid bg color, might go lighter grey
|
||||
background = ${colors.background}
|
||||
; hybrid fg color, might go lighter if I go lighter grey
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
[bar/thinkpad-bar]
|
||||
; thinkpad bar conf
|
||||
inherit = section/base-bar
|
||||
font-0 = Hack Nerd Font:size=10;2
|
||||
height = 14pt
|
||||
; modules
|
||||
modules-left = xworkspaces weather-thinkpad
|
||||
modules-right = battery pulseaudio memory cpu wlan uptime seafile calendar-sync bg-selector date-tp powermenu
|
||||
|
||||
[bar/desktop-bar]
|
||||
; desktop bar config
|
||||
inherit = section/base-bar
|
||||
; height
|
||||
height = 24pt
|
||||
; modules
|
||||
modules-left = xworkspaces focus spotify spotify-len todo
|
||||
;modules-left = xworkspaces spotify spotify-len
|
||||
modules-center = weather-desktop
|
||||
modules-right = pulseaudio memory cpu temperature eth dev-bat seafile calendar-sync bg-selector quotes date powermenu
|
||||
|
||||
[bar/work-bar]
|
||||
; desktop bar config
|
||||
inherit = section/base-bar
|
||||
; height
|
||||
height = 24pt
|
||||
; modules
|
||||
modules-left = xworkspaces focus todo
|
||||
;modules-left = xworkspaces spotify spotify-len
|
||||
modules-center = weather-desktop
|
||||
modules-right = memory cpu temperature eth bg-selector date powermenu
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
label-active-underline= ${colors.primary}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
format = <label-state>
|
||||
|
||||
[module/focus]
|
||||
; correct title size
|
||||
type = custom/script
|
||||
interval = 0.2
|
||||
exec = ~/.dotfiles/bin/focus_class
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = "VOL "
|
||||
format-volume-prefix-foreground = ${colors.primary}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
label-muted = muted
|
||||
label-muted-foreground = ${colors.disabled}
|
||||
|
||||
[section/weather]
|
||||
type = custom/script
|
||||
|
||||
interval = 30
|
||||
; left click is forecast
|
||||
click-left = i3-scratchpad.sh scratch st -n scratch -e weather -f
|
||||
; middle click is nerdfont forecast
|
||||
click-middle = i3-scratchpad.sh scratch st -n scratch -e weather -pf
|
||||
; right click is radar
|
||||
click-right = weather -r
|
||||
|
||||
[module/weather-thinkpad]
|
||||
; no desc to shorten
|
||||
inherit = section/weather
|
||||
exec = weather -p
|
||||
|
||||
[module/weather-desktop]
|
||||
; longer desc
|
||||
inherit = section/weather
|
||||
exec = weather -pd
|
||||
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "RAM "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %used%
|
||||
format = <label>
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
|
||||
poll-interval = 10
|
||||
|
||||
low-at = 10
|
||||
|
||||
format-discharging-prefix = "BAT "
|
||||
format-discharging-prefix-foreground = ${colors.primary}
|
||||
format-discharging = <label-discharging>
|
||||
|
||||
format-charging-prefix = "CHR "
|
||||
format-charging-prefix-foreground = ${colors.primary}
|
||||
format-charging = <label-charging>
|
||||
|
||||
time-format = %H:%M
|
||||
|
||||
label-charging = %percentage%% %time%
|
||||
|
||||
label-discharging = %percentage%% %time%
|
||||
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "%{A1:i3-scratchpad.sh scratch st -n scratch -e zfxtop:}CPU %{A}"
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage%%
|
||||
; zfxtop for monitoring
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
format-prefix = "TEMP "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
units = true
|
||||
label = %temperature-c%
|
||||
|
||||
[network-base]
|
||||
type = internal/network
|
||||
interval = 5
|
||||
format-connected-prefix = "NET "
|
||||
format-connected-prefix-foreground = ${colors.primary}
|
||||
format-connected = <label-connected>
|
||||
; packet loss
|
||||
animation-packetloss-0 = "⚠ "
|
||||
animation-packetloss-0-foreground = #e1e815
|
||||
animation-packetloss-1 = "⚠ "
|
||||
animation-packetloss-1-foreground = #000000
|
||||
format-packetloss = <animation-packetloss> <label-connected>
|
||||
;format-connected-foreground = ${colors.primary}
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-foreground = ${colors.disabled}
|
||||
|
||||
[module/wlan]
|
||||
inherit = network-base
|
||||
interface-type = wireless
|
||||
label-connected = %signal%%
|
||||
|
||||
[module/eth]
|
||||
inherit = network-base
|
||||
interface-type = wired
|
||||
label-connected = %linkspeed%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
date = %A, %b %d %l:%M %P
|
||||
;date alt is for laptop
|
||||
date-alt = %a, %b %d %l:%M %P
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
|
||||
[module/date-tp]
|
||||
type = internal/date
|
||||
|
||||
date = %a, %b %d %l:%M %P
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
|
||||
[module/seafile]
|
||||
; custom seafile script
|
||||
type = custom/script
|
||||
exec = seafile_check
|
||||
interval = 3
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/text
|
||||
|
||||
content = %{F#F30}
|
||||
|
||||
click-left = rofi-powermenu
|
||||
|
||||
[module/spotify]
|
||||
; playerctl interaction for spotify
|
||||
type = custom/script
|
||||
tail = true
|
||||
|
||||
; spotify logo
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = "#1ed760"
|
||||
exec = poly_spotify --scroll 20
|
||||
click-left = poly_spotify --toggle
|
||||
click-right = rofi-music
|
||||
|
||||
[module/spotify-len]
|
||||
; playerctl interaction for spotify
|
||||
type = custom/script
|
||||
interval = 1
|
||||
exec = playerctl --player=spotify metadata -s --format '{{duration(position)}}/{{duration(mpris:length)}}'
|
||||
|
||||
[module/todo]
|
||||
; uses calcurse to cycle through todo items
|
||||
type = custom/script
|
||||
interval = 1
|
||||
exec = todo_display.sh
|
||||
click-left = todo_display.sh inc
|
||||
click-right = todo_display.sh dec
|
||||
|
||||
[module/dev-bat]
|
||||
; grabs mouse power from custom script
|
||||
type = custom/script
|
||||
interval = 5
|
||||
exec = device_battery.sh -dc
|
||||
click-left = i3-scratchpad.sh scratch st -n scratch -e bluetuith
|
||||
|
||||
[module/calendar-sync]
|
||||
; clickable sync for calendar
|
||||
type = custom/ipc
|
||||
|
||||
hook-0 = echo -e '\uf073'
|
||||
hook-1 = echo -e '%{F#0F0}\uf274'
|
||||
hook-2 = echo -e '%{F#F00}\uf273'
|
||||
hook-3 = echo -e '%{F#FF0}\uf073'
|
||||
initial = 1
|
||||
click-left = calcurse-sync.sh
|
||||
|
||||
[module/bg-selector]
|
||||
; select background
|
||||
type = custom/script
|
||||
interval = 60
|
||||
exec = echo -e '\uf1c5'
|
||||
click-left = wallpaper.sh -s
|
||||
|
||||
[module/quotes]
|
||||
type = custom/script
|
||||
|
||||
interval = 120
|
||||
exec = echo -e '\ueaa4'
|
||||
; left click is random quote
|
||||
click-left = i3-scratchpad.sh scratch st -n scratch -e quotes -rl
|
||||
; right click is daily quote
|
||||
click-right = i3-scratchpad.sh scratch st -n scratch -e quotes -dl
|
||||
|
||||
[module/uptime]
|
||||
type = custom/script
|
||||
|
||||
interval = 30
|
||||
format-prefix = "UP "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
exec = display_uptime
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
@ -0,0 +1 @@
|
||||
Subproject commit 0def3cd15974a19606a93082778c043d370df8bd
|
@ -0,0 +1 @@
|
||||
/home/keegan/.dotfiles/gui/wallpapers/pine_tree.jpg
|
Binary file not shown.
Before Width: | Height: | Size: 1.3 MiB |
@ -1,2 +1,3 @@
|
||||
- link:
|
||||
~/.config/calcurse: tui/calcurse
|
||||
~/.local/bin/calcurse-sync.sh: bin/calcurse-sync.sh
|
||||
|
@ -1,6 +1,10 @@
|
||||
- shell:
|
||||
- [cd src/i3lock-blur && make install, Building i3lock]
|
||||
|
||||
- clean:
|
||||
~/.config/i3:
|
||||
~/.local/share/wallpapers:
|
||||
|
||||
- link:
|
||||
~/.config/i3: gui/i3-desktop
|
||||
~/.config/i3/wallpaper.jpg: gui/wallpapers/pine_tree.jpg
|
||||
~/.config/i3/config: gui/i3/desktop.conf
|
||||
~/.local/bin/wallpaper.sh: bin/wallpaper.sh
|
||||
|
@ -1,6 +0,0 @@
|
||||
- shell:
|
||||
- [cd src/i3lock-blur && make install, Building i3lock]
|
||||
|
||||
- link:
|
||||
~/.config/i3: gui/i3-laptop
|
||||
~/.config/i3/wallpaper.jpg: gui/wallpapers/pine_tree.jpg
|
@ -0,0 +1,10 @@
|
||||
- shell:
|
||||
- [cd src/i3lock-blur && make install, Building i3lock]
|
||||
|
||||
- clean:
|
||||
~/.config/i3:
|
||||
~/.local/share/wallpapers:
|
||||
|
||||
- link:
|
||||
~/.config/i3/config: gui/i3/thinkpad.conf
|
||||
~/.local/bin/wallpaper.sh: bin/wallpaper.sh
|
@ -0,0 +1,9 @@
|
||||
- shell:
|
||||
- [cd src/i3lock-blur && make install, Building i3lock]
|
||||
|
||||
- clean:
|
||||
~/.config/i3:
|
||||
~/.local/share/wallpapers:
|
||||
- link:
|
||||
~/.config/i3/config: gui/i3/work.conf
|
||||
~/.local/bin/wallpaper.sh: bin/wallpaper.sh
|
@ -0,0 +1,7 @@
|
||||
- clean:
|
||||
~/.config/nvim:
|
||||
~/.local/share/nvim:
|
||||
|
||||
- link:
|
||||
~/.config/nvim: editors/nvim/config
|
||||
~/.local/share/nvim/site: editors/nvim/site
|
@ -1,6 +1,10 @@
|
||||
- shell:
|
||||
- [bin/oh-my-zsh-check.sh]
|
||||
|
||||
- link:
|
||||
~/.oh-my-zsh/custom:
|
||||
path: shells/oh-my-zsh/custom
|
||||
force: true
|
||||
~/.oh-my-zsh/custom/plugins/:
|
||||
path: shells/oh-my-zsh/custom/plugins/**
|
||||
glob: true
|
||||
~/.oh-my-zsh/custom/themes/:
|
||||
path: shells/oh-my-zsh/custom/themes/**
|
||||
glob: true
|
||||
|
@ -0,0 +1,4 @@
|
||||
- link:
|
||||
~/.config/pam-gnupg: passwords/pam-gnupg
|
||||
~/.gnupg: passwords/gnupg
|
||||
~/.password-store: passwords/password-store
|
@ -1,3 +0,0 @@
|
||||
- link:
|
||||
~/.config/polybar: gui/polybar-desktop
|
||||
~/.local/bin/polybar-launch.sh: bin/polybar-launch.sh
|
@ -1,3 +0,0 @@
|
||||
- link:
|
||||
~/.config/polybar: gui/polybar-thinkpad
|
||||
~/.local/bin/polybar-launch.sh: bin/polybar-launch.sh
|
@ -1,3 +1,3 @@
|
||||
- link:
|
||||
~/.config/polybar: gui/polybar-laptop
|
||||
~/.config/polybar: gui/polybar
|
||||
~/.local/bin/polybar-launch.sh: bin/polybar-launch.sh
|
@ -0,0 +1,2 @@
|
||||
- link:
|
||||
~/.config/rofi: gui/rofi
|
@ -0,0 +1,8 @@
|
||||
- link:
|
||||
~/.config/systemd/user/seafile.service: services/seafile.service
|
||||
|
||||
- shell:
|
||||
-
|
||||
command: "yay --sudoloop --nodiffmenu --noeditmenu --noupgrademenu --nocleanmenu --noredownload --norebuild --useask --needed -S seafile seafile-client"
|
||||
description: "Installing seafile"
|
||||
- command: "systemctl --user enable seafile && systemctl --user start seafile"
|
@ -1,3 +1,3 @@
|
||||
- shell:
|
||||
- [rm shells/st/config.h && cp shells/st-desktop/config.h shells/st/, Copying config]
|
||||
- [cd shells/st && sudo make install, Installing st]
|
||||
- [cd shells/st && sudo make install && make clean, Installing st]
|
||||
|
@ -1,3 +0,0 @@
|
||||
- shell:
|
||||
- [rm shells/st/config.h && cp shells/st-laptop/config.h shells/st/, Copying config]
|
||||
- [cd shells/st && sudo make install, Installing st]
|
@ -0,0 +1,3 @@
|
||||
- shell:
|
||||
- [rm shells/st/config.h && cp shells/st-thinkpad/config.h shells/st/, Copying config]
|
||||
- [cd shells/st && sudo make install, Installing st]
|
@ -0,0 +1,3 @@
|
||||
- shell:
|
||||
- [rm shells/st/config.h && cp shells/st-work/config.h shells/st/, Copying config]
|
||||
- [cd shells/st && sudo make install, Installing st]
|
@ -0,0 +1,3 @@
|
||||
- link:
|
||||
~/.config/sway: gui/sway-desktop
|
||||
~/.config/sway/wallpaper.jpg: gui/wallpapers/pine_tree.jpg
|
@ -1,16 +0,0 @@
|
||||
arch.base
|
||||
arch.i3
|
||||
arch.picom
|
||||
arch.polybar
|
||||
vim
|
||||
zsh
|
||||
oh-my-zsh
|
||||
fzf
|
||||
tmux.sparse
|
||||
st.laptop
|
||||
i3.laptop
|
||||
polybar.laptop
|
||||
picom
|
||||
lf
|
||||
scripts
|
||||
calcurse
|
@ -0,0 +1,2 @@
|
||||
463945
|
||||
Desktop
|
@ -0,0 +1 @@
|
||||
v:1:
|
@ -0,0 +1,3 @@
|
||||
default-cache-ttl 86400
|
||||
max-cache-ttl 86400
|
||||
allow-preset-passphrase
|
@ -0,0 +1,37 @@
|
||||
This is a revocation certificate for the OpenPGP key:
|
||||
|
||||
pub rsa4096 2023-02-22 [S]
|
||||
0BA0EDD5955DEF50547255F19AC1E4C2CC9412F0
|
||||
uid spinach <spinach@spin.ach>
|
||||
|
||||
A revocation certificate is a kind of "kill switch" to publicly
|
||||
declare that a key shall not anymore be used. It is not possible
|
||||
to retract such a revocation certificate once it has been published.
|
||||
|
||||
Use it to revoke this key in case of a compromise or loss of
|
||||
the secret key. However, if the secret key is still accessible,
|
||||
it is better to generate a new revocation certificate and give
|
||||
a reason for the revocation. For details see the description of
|
||||
of the gpg command "--generate-revocation" in the GnuPG manual.
|
||||
|
||||
To avoid an accidental use of this file, a colon has been inserted
|
||||
before the 5 dashes below. Remove this colon with a text editor
|
||||
before importing and publishing this revocation certificate.
|
||||
|
||||
:-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: This is a revocation certificate
|
||||
|
||||
iQI2BCABCAAgFiEEC6Dt1ZVd71BUclXxmsHkwsyUEvAFAmP2qgwCHQAACgkQmsHk
|
||||
wsyUEvDt4w//Tk5Y6NS0291OLn1atyPqD9QeQN4GorYhXxygBPRqGLCVtd6fYNPi
|
||||
/k2bkiOJy3Wlgos+iLDJ/qIDGm+F1Yf+5ohHv5b8EN2o+kAb69czMhLYNM8OrN5R
|
||||
L2mbwHBfZ/D9u5Bb20DQXND9fdeGyg+N1KXkXqyuA+xXlbeWLT9f/tWKZ3iHwoHn
|
||||
eKTjkrQIuraDxx7y0GdGnZDyN0Z92xTegdiDhDMf1LbzHDyJvQ2O8uv9A2IoZjlf
|
||||
FRdxHoB+oFZnSg0DUrEqgwnrKmwo+M6QzI8dAE/S5RIkpiQq/XawMQp7U0jVQm8j
|
||||
R1ppxtugrv5Hrs71ELxmVM9OAMEI+cLgjB4eUtDjvYzT40fXBlOJB8LBAIBzhcmU
|
||||
4/pwc9i/gS7f06hhihI1xMzHuv8VbZbLXW1raYOAwmYisDMNO+EcXTYN3yl/gVZE
|
||||
vOFs1PcYmalQc8WbYCVpwjGKzEp5GYRm2ll4zoeKcagqg4tbpcb0UBf4NPA8b9oX
|
||||
v3QKMBKv470brNMPVmiUdtMgXzkjP7LE/ksUH/khYBHwAJGlpS3Cl4n5oohzcKI2
|
||||
QvWRfHi7UoNBbD2RLMmF8enp+XZoC1uiPFd4S36JBomMz+XdhPdBHze5951RF51w
|
||||
PYmFSQ8OoeaSri46jOEPMu3cggDBxGdnwNN+tYfFt6Sn2TquhT3+NO4=
|
||||
=MD6+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -0,0 +1,57 @@
|
||||
Created: 20230222T234843
|
||||
Key: (protected-private-key (rsa (n #00CF34CB3D28FA931C9B228B07AEB99DBA
|
||||
23676E9ACB5220F2810E3B8B008D1AAC46A0CEA4935CA54B7D8ACAAF9769998D87B374
|
||||
971710FAB210DA72C81F954E5C85D370BF66970E7085CA753EFA5AB8F039C7FF95956B
|
||||
76F3781C6E5AA36FB3B0339305C4769ACD7C72F792E4B938E0EAD7E38E5E012BDE52FB
|
||||
703808B0198D3C9FBA4F21AEC61A283E09677052AEEA6EC3ACF8738AFCD3558123C173
|
||||
3B3BBF8D59BAE4AB58CF8EB7BAFC74DFD587A0C9FDA384C99AB4B695AF6EBCEDBFD875
|
||||
906C7DA7FE2AE1A8ADD9AC15D195351B91F455210A4E143A985C5EAA74B272F6C4948C
|
||||
AA12765A212A500EE05F69328275CF3C41FBFF77B4CA4EC1FBF6B7D91EBD2CD1AA6AFC
|
||||
702DE0D81EDB65AAE3210E4DE3CF0176A015271F6CE78DBEF80719CF7266BC84C749E6
|
||||
4F4AA726674DDEEE06157B514ADE01766071A3CF1D2FCD2E47A1F38197D1B869F30BD2
|
||||
0EBB1A9E60C100DA033076661CC1DD773364FB32DA9093A2797AA576EC017B85008323
|
||||
669A6B5EBA065DBC9AC1EC9FD51F99EC944EF397EEA599EBA385AEE04132F02818017C
|
||||
B1B05A13498FD7DBAA290B02DEB8E27F23BD5010A2AC146EA72D269E3E05A5AF049578
|
||||
260AB1066719C85CDA6F4557493A6B98DBC25692B8FB5156459CA132A8AE75607CEFBB
|
||||
F6FFBC6FD53ECBFE2BC41E6ECE7EEB3C47A1B3DE34E8ED0AFA2E7DA6C1370382CF250E
|
||||
6A522C9DB71D#)(e #010001#)(protected openpgp-s2k3-ocb-aes ((sha1
|
||||
#DFAF51F1DB763DB4# "112787456")#7881CA29AAC0C6B9F8EFDC7F#)#0C4FFC3323
|
||||
6B3FCDFFA2250E479AC80FA638B73154A1CF77C42C6F0E519332410F99778ABF3537A4
|
||||
3791A471C287BA6A816F04523DD2676FB084031A83B0E2A204A2F740AEDD7C096AD6E8
|
||||
334F06CF05BB30D0ED207C7550CEA33D134363BA40877B34DBB382EBE0AC1A0B258AA2
|
||||
03FCB3F24D6F45857D967FF84A8208E793EB538924615F3427BD64A3D43DCFDC8FDD30
|
||||
BC8029F1A8985F271B7182978412E39399FD1432C6DD9CBCE8F51875632B269318D172
|
||||
7E1D003A2E4F49015E250C45F45E5F478E04AF481E387305415B3EDF4B6DDA9DC9BC62
|
||||
75F4D3E76FEE0BD0FC1F7784001B3E18144DEE5C8ACBC91B9097A980D78DE0AE3F677A
|
||||
0AFFC4512D190011F402B7381C66904B182F004081E561A226226E5A7CEA8353F6CDA7
|
||||
D62FF6082138B317787458DE10BBDA92D5B6806FD00F61D24E40A2D5485C8001E3A20C
|
||||
D9F98965F5F764EFDBDF629DA1C9F2EA5160965127637520E72303044B56B1223C6E7F
|
||||
728D53F6EE1777DAE71E7CF73C03E22CE13D9C7A4282550189A4F200DC57729C6FF2E2
|
||||
B86A22886E725F4262C01FEE8EFD124D8905B9A0DA0AAC09AE99963EC98CCE36B23C11
|
||||
5AA78347F1824F5A1C5301B908FF272338FDCBFE1020B5F70D1557AC89BCC294E191E0
|
||||
FB1E3A8EDFFD814F53481E282AEF2B981C8631A017085E79FB9F90BBDA0D26D3C8E4C7
|
||||
09BB7B9479B589FE16440984153E713A7954789188D7D0E9C7C71D49E242CC908C3B0C
|
||||
87BB8642FA985ADA2511C4FB20C25C793779032FA292E50459F6A2CFFDA4FBB52FA65D
|
||||
28CE2E48F08091DB1BC09B19C9BA76AD92B8CA712D1F1743912775BA361FC5E378FACA
|
||||
85D897393DE7CA9C32D6DB6B0B4A63902D58D91E6DFB43B6E42A36969CE326A62A6B67
|
||||
43A360C7272C09367D51F027A2E92B43751E326910804FB0B808A9DCFD5B63A9971199
|
||||
8EF926166037472943FB3EA24580A067F06787A3774D14694EF27C9AE0A59BE50EEE75
|
||||
0FB3297E7A272086773DADDCABBD66F4DA6BE7693EA3BAD4AB2D31899C3B2491064769
|
||||
A2F36714A311AFA282D9B469A39C5F45873243398FECDF29499E6385D9B299EFE5A217
|
||||
D1CAC4EDA6418784033A93C6B5F795B10AF9904BB681EAB4FA98C6B72F937281378B44
|
||||
928F3A106F5FA700AC8F348D4959ABB47B062E93315A7E775A3C1F4E73B59047A7EDA6
|
||||
411D208895F1AA47F8FEAD25634512E41F05418F927AAC26B69AB76DA3AFCCB6E3BD35
|
||||
386A2A58289853F4296FE3C8077CEE3765599EA3165B8AEB5E544CEE094BE83B159C12
|
||||
3794B0E22DA86CEEA0D0679C2528BFCEEFAEAA9B1623A7FAB0203FE9D8290A7AD89073
|
||||
E794BB5FF2D5715B796A6B2014EC056E0834CDFC1B598FB694715D6B1912F4D1F76ACF
|
||||
64874B796329EE7DBF82D8552493C68E983ECA1A1D65E676558CFF56E3FBA36A7EDE16
|
||||
AB5ACD9C9657DB4B0B89A5C02A09EAD7D1C6223F9295100C81EB8E1D6CF0662677E4E1
|
||||
4FEFF555ADC46A9D406D9EBC03E4196F811FDAD01007B87F1615B73C381199B95BACA3
|
||||
134289906B540574F7A0650E090BC9CFF99AE437886D8DA52DFF482089AEA67902486F
|
||||
DD0BC3C2CFCF1562B5E4DB79A21A35779ADF626FDFB41FD9D5474A4A3558BB629F8287
|
||||
E1C5E7C3821207104A7808521381C946B796209A6B7861D636C4E9B7FB9CE3C4A89B3B
|
||||
9BBA104CA971AA7D170E945A76FE1558E13D1EC274C703D9774F8E09B4F72B915DAF6E
|
||||
443513BFC097AB00E900C0B7BB3AC054D246C264D18CA7B6713BB8BD67A326D063392C
|
||||
13C75AC11A4264C1C1B8DE912C5D3F7189DADE494814E9C413AE84635A34030F8E1FF0
|
||||
EC7DCE4A4674498EEFBC492D5D2B2458C24775E01E96AA22853BECC59DA52C9628BEB3
|
||||
A197CECD#)(protected-at "20230223T033446")))
|
@ -0,0 +1,57 @@
|
||||
Created: 20230222T234843
|
||||
Key: (protected-private-key (rsa (n #00AFC83282AFC426C0C64D0B8BAF59420B
|
||||
B052E6DC77A873B9B07921995F2026DE1AC9726399EE519E2BCD85AEE737863283CBFB
|
||||
9C11136E12789B2E58BBB55FD7830AA6F5746E1975AAD8FB048CBD8F30E79A3D76EE20
|
||||
496F530C254CCEC5485AEC76EA89AC77E2845F3270B10BCDA4FA3AF4A93B8B4B0263B4
|
||||
70D1584B2D0BD9C60DEEE009124630E9C30F80414F7C1A6D97651997979DAA8F153334
|
||||
DBDD2D1B4B0A3A5B6D88606C64301E841DED09919590E728F96715E900C34EEB05D95C
|
||||
A16253D53DCB61877ADB5F5D1EAC9C0B3D657107F5259365F4AF5E00426C8E54182F41
|
||||
D8345452E399881EDE0BF3B6BEB06B0A0662A624A1E0F62774C7D019D5FA20D6AE7A8C
|
||||
73F5A205885775ECCA3E57CE708F09F1B649DD35634B93CCCA57B3411A199B47D505D3
|
||||
97B42B5486FE7EDFBAED026ADFE84C0D6031B771F5E4560CBFA7FD575FEBBFF5EDFAB7
|
||||
7EB1FE9956BB580535FAF71AB5D0DEEE6DC8748B03A50C52C2A92D40A2FEA8AD3B933D
|
||||
FB87B26B8F25AB5ED6773EE890937C2A02051A9A9D0DF66124D863F1C7A60747A9A6C1
|
||||
6274C34A5F0ED5403CAA0C49D161214821D8FF06AC28D11621D487E8766A10FE4672DE
|
||||
9DA3B014D0DD89AEE71A39463A3D620EF62261359C90295B3CC9E7C15D0F7D3C9F0A92
|
||||
92D6B2D8FCA3E71380EDD411C70379318FD72ED6086C4A028D8F75F28B56EF99746442
|
||||
E33E29C67C77#)(e #010001#)(protected openpgp-s2k3-ocb-aes ((sha1
|
||||
#3A918191BC09BAB8# "112787456")#84C538C0C1434F5FC53A6BEC#)#C586BC3DB5
|
||||
9E3455A02BE254DE83F56EA17ACAAFD12BB8AFAEF635FAD0B491A78108C7E353B48879
|
||||
2839FF03FA9C2678C23E96E4FFB1744910DD53ECAA62E288F64C95B8B194D0007179FB
|
||||
01EDE7D1B3D0C9A04FDA5FBF67FB665B65FBF805AE5C65C9F3F6737C7E90BD660E9433
|
||||
91A9B17422190E6197A765A3EE9CFD4223076E68CF15F4A484D9DCF2D71F8AC65DCCE6
|
||||
F757D69CCD5EED1DB5C57274380372E226283F670B9A7347D2A312BE872CF129E70D8C
|
||||
7ED36E35CDA8A6A3E0B9F99E5A3FD694F1AD0D0FEF05C1D6E24E98BD78CAFC11628FB7
|
||||
407BE8B3D1B458A963469DBB53EB20A5884CB3B630FE6069F230AC805D37ED594719F1
|
||||
FE9DD8FC5F25C16805456ACFC5E24B8FBC070657F20545E8DE70DE7F91C0BFD1DADFBD
|
||||
BDA284353F031B8A34498975E17FDA90EACB9C42C0EB75AB5C8A5F0672663AF454CA99
|
||||
7E0CFAEA9BC622EE0513ACC27174E5F58C4F8EC1E905F4B55EAA5888D7ED4E38E13AA0
|
||||
8F8F5D34E8F13262E264946D0C669A59A852EF0ADB8760453F20DB1A144B56A825DA19
|
||||
6A40AAA7713688BC250F4E1D0AE6508B14AA49DA3AF3450729F32025814D4B03304447
|
||||
08FE5E91A92193E899E7713DF65519C8767A0102A24E30F814C116E52F8F51EE32C157
|
||||
0D813A417D94063D9056531B7A6DAF605D4CC9D12E110B2FBBA3B8239F42F5A1B60D6E
|
||||
2C1EC847D93F1BE219BF13582EA68006C640B7754932939B14EF7F601358B7F96F1A7F
|
||||
3F844197BEF1AD2724C82454BA03B324DFCE16FAE0BCB27B3A08E3EEEB04449B6D14C8
|
||||
1E206E081A267D695F13009619B57FAF3786D00E6807F3F571D86E8EF19D71B8DE4F80
|
||||
DD1B0EF6FE89B2B851227189F7A4174BE2839D4BFED485AB42FBBA9A441ADF3D0B3611
|
||||
C8432AA8C5BBEA3D64D74DA604DCBCF602A7418E42625EF109B2AA5EED0C1259437F53
|
||||
25B6C1B4FC2423FBF8AC2149FA83BF3083051945F4F100CDC3BA97B6B6BF469977D568
|
||||
9BE0DD78D67026C5B35AE449919FA4A660132E92662E2A6A8DAE21C594AF537F91FA19
|
||||
B96D803F76EF4E726487B4A1D465ECDD4D9B27110424AEE2FB8B3B694CAAA9172798EA
|
||||
252F2AA0ACC253ED71E06CE6291D289DAAAA422FC166EB2EB1C384FB4A41F5E4D0E879
|
||||
29F43EEF3FE0A45A4EE234E9942272FE10F22FF096519093568D2C54AF8BDD7DDAA773
|
||||
E7947E30540A76446AE19112E556D813AA59C455F914997004C26169A40964F5E7BBA6
|
||||
C68AF9DC5E8FE71D3A6AE1417346577FB598B7B4E0BE905BDEACE3A7463A1BC0AD421C
|
||||
F483E9CE6F7358CE73FCB485F4FCD18E5C867255AA1F3A351ECF763BCACB948AB37A12
|
||||
A32400C9A02BC671156D371CD923C9631D04001CEBF370EE1F765C691E4CA962666436
|
||||
A84074D8ECDF180085D0842EF966311EC0CFEF9E3A8CB6F1773BFADF6A51346EDC2502
|
||||
26FE6499BA5B419A75CB0A16DA0831AA9514265ABA33C57299333CDE81646DB077E501
|
||||
2AA1625832FEA188578710D1954B9CD222DE006973C2627C4560724BCFA62FB979A8B4
|
||||
4FFBC5A4F112B55B6295770774E5F3B54720DB49BC416D723DBACB48C30A080D1A87DC
|
||||
0BB2B3556AE53D17DAAE2C1FA6BEBFD1460BB729298D94ACDB833994ED531449266824
|
||||
4F1FB351E7C4CB183FEB577E095BFF1799CCF42BD60B554F8220E859EDC4A5BD7A4731
|
||||
13411FEEA8B94317A6C7B50318D49FBABFE51FD8E2771B1AEA294B15CDD4CDD350D440
|
||||
79DC03EC7D636E4F6E1785A877BA790B1B27C29E67F93931BA53179DB5A8BF4BB78D64
|
||||
6465447862D516B77FCB24CB270D379D96B45EF54CF6133549E078E26AA8B54DC75D95
|
||||
5945D383F573146054135548D8B8E97998CD218BF5054BF2E5AC19740359622C015B6F
|
||||
6594BB#)(protected-at "20230223T033446")))
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
983763953EE9FF1FE017C62200D1646812FF6FDC
|
@ -0,0 +1 @@
|
||||
spinach@spin.ach
|
Binary file not shown.
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Seafile Daemon Startup
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/seaf-cli start
|
||||
ExecStop=/usr/bin/seaf-cli stop
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
@ -0,0 +1,487 @@
|
||||
/* See LICENSE file for copyright and license details. */
|
||||
|
||||
/*
|
||||
* appearance
|
||||
*
|
||||
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
*/
|
||||
static char *font = "Hack Nerd Font:pixelsize=16:antialias=true:autohint=true";
|
||||
static int borderpx = 2;
|
||||
|
||||
/*
|
||||
* What program is execed by st depends of these precedence rules:
|
||||
* 1: program passed with -e
|
||||
* 2: scroll and/or utmp
|
||||
* 3: SHELL environment variable
|
||||
* 4: value of shell in /etc/passwd
|
||||
* 5: value of shell in config.h
|
||||
*/
|
||||
static char *shell = "/bin/sh";
|
||||
char *utmp = NULL;
|
||||
/* scroll program: to enable use a string like "scroll" */
|
||||
char *scroll = NULL;
|
||||
char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
|
||||
|
||||
/* identification sequence returned in DA and DECID */
|
||||
char *vtiden = "\033[?6c";
|
||||
|
||||
/* Kerning / character bounding-box multipliers */
|
||||
static float cwscale = 1.0;
|
||||
static float chscale = 1.0;
|
||||
|
||||
/*
|
||||
* word delimiter string
|
||||
*
|
||||
* More advanced example: L" `'\"()[]{}"
|
||||
*/
|
||||
wchar_t *worddelimiters = L" ";
|
||||
|
||||
/* selection timeouts (in milliseconds) */
|
||||
static unsigned int doubleclicktimeout = 300;
|
||||
static unsigned int tripleclicktimeout = 600;
|
||||
|
||||
/* alt screens */
|
||||
int allowaltscreen = 1;
|
||||
|
||||
/* allow certain non-interactive (insecure) window operations such as:
|
||||
setting the clipboard text */
|
||||
int allowwindowops = 0;
|
||||
|
||||
/*
|
||||
* draw latency range in ms - from new content/keypress/etc until drawing.
|
||||
* within this range, st draws when content stops arriving (idle). mostly it's
|
||||
* near minlatency, but it waits longer for slow updates to avoid partial draw.
|
||||
* low minlatency will tear/flicker more, as it can "detect" idle too early.
|
||||
*/
|
||||
static double minlatency = 8;
|
||||
static double maxlatency = 33;
|
||||
|
||||
/*
|
||||
* blinking timeout (set to 0 to disable blinking) for the terminal blinking
|
||||
* attribute.
|
||||
*/
|
||||
static unsigned int blinktimeout = 800;
|
||||
|
||||
/*
|
||||
* thickness of underline and bar cursors
|
||||
*/
|
||||
static unsigned int cursorthickness = 2;
|
||||
|
||||
/*
|
||||
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
||||
* it
|
||||
*/
|
||||
static int bellvolume = 0;
|
||||
|
||||
/* default TERM value */
|
||||
char *termname = "st-256color";
|
||||
|
||||
/*
|
||||
* spaces per tab
|
||||
*
|
||||
* When you are changing this value, don't forget to adapt the »it« value in
|
||||
* the st.info and appropriately install the st.info in the environment where
|
||||
* you use this st version.
|
||||
*
|
||||
* it#$tabspaces,
|
||||
*
|
||||
* Secondly make sure your kernel is not expanding tabs. When running `stty
|
||||
* -a` »tab0« should appear. You can tell the terminal to not expand tabs by
|
||||
* running following command:
|
||||
*
|
||||
* stty tabs
|
||||
*/
|
||||
unsigned int tabspaces = 8;
|
||||
|
||||
/* bg opacity */
|
||||
float alpha = 0.8, alphaUnfocused = 0.6;
|
||||
|
||||
/* Terminal colors (16 first used in escape sequence) */
|
||||
static const char *colorname[] = {
|
||||
/* 8 normal colors */
|
||||
"black",
|
||||
"red3",
|
||||
"green3",
|
||||
"yellow3",
|
||||
"blue2",
|
||||
"magenta3",
|
||||
"cyan3",
|
||||
"gray90",
|
||||
|
||||
/* 8 bright colors */
|
||||
"gray50",
|
||||
"red",
|
||||
"green",
|
||||
"yellow",
|
||||
"#5c5cff",
|
||||
"magenta",
|
||||
"cyan",
|
||||
"white",
|
||||
|
||||
[255] = 0,
|
||||
|
||||
/* more colors can be added after 255 to use with DefaultXX */
|
||||
"#cccccc",
|
||||
"#555555",
|
||||
"gray90", /* default foreground colour */
|
||||
"black", /* default background colour */
|
||||
"#c5c8c6", // hybrid fg
|
||||
"#1d1f21", // hybrid bg
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Default colors (colorname index)
|
||||
* foreground, background, cursor, reverse cursor
|
||||
*/
|
||||
unsigned int defaultfg = 260;
|
||||
unsigned int defaultbg = 261;
|
||||
unsigned int defaultcs = 256;
|
||||
static unsigned int defaultrcs = 257;
|
||||
unsigned int bg = 261, bgUnfocused = 261;
|
||||
|
||||
/*
|
||||
* https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h4-Functions-using-CSI-_-ordered-by-the-final-character-lparen-s-rparen:CSI-Ps-SP-q.1D81
|
||||
* Default style of cursor
|
||||
* 0: blinking block
|
||||
* 1: blinking block (default)
|
||||
* 2: steady block ("█")
|
||||
* 3: blinking underline
|
||||
* 4: steady underline ("_")
|
||||
* 5: blinking bar
|
||||
* 6: steady bar ("|")
|
||||
* 7: blinking st cursor
|
||||
* 8: steady st cursor
|
||||
*/
|
||||
static unsigned int cursorstyle = 3;
|
||||
static Rune stcursor = 0x2603; /* snowman ("☃") */
|
||||
|
||||
/*
|
||||
* Default columns and rows numbers
|
||||
*/
|
||||
|
||||
static unsigned int cols = 80;
|
||||
static unsigned int rows = 24;
|
||||
|
||||
/*
|
||||
* Default colour and shape of the mouse cursor
|
||||
*/
|
||||
static unsigned int mouseshape = XC_xterm;
|
||||
static unsigned int mousefg = 7;
|
||||
static unsigned int mousebg = 0;
|
||||
|
||||
/*
|
||||
* Color used to display font attributes when fontconfig selected a font which
|
||||
* doesn't match the ones requested.
|
||||
*/
|
||||
static unsigned int defaultattr = 11;
|
||||
|
||||
/*
|
||||
* Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set).
|
||||
* Note that if you want to use ShiftMask with selmasks, set this to an other
|
||||
* modifier, set to 0 to not use it.
|
||||
*/
|
||||
static uint forcemousemod = ShiftMask;
|
||||
|
||||
/*
|
||||
* Internal mouse shortcuts.
|
||||
* Beware that overloading Button1 will disable the selection.
|
||||
*/
|
||||
static MouseShortcut mshortcuts[] = {
|
||||
/* mask button function argument release */
|
||||
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
|
||||
{ ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} },
|
||||
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"} },
|
||||
{ ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
|
||||
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"} },
|
||||
};
|
||||
|
||||
/* Internal keyboard shortcuts. */
|
||||
#define MODKEY Mod1Mask
|
||||
#define TERMMOD (ControlMask|ShiftMask)
|
||||
|
||||
static Shortcut shortcuts[] = {
|
||||
/* mask keysym function argument */
|
||||
{ XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
|
||||
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
|
||||
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
|
||||
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
|
||||
{ TERMMOD, XK_Prior, zoom, {.f = +1} },
|
||||
{ TERMMOD, XK_Next, zoom, {.f = -1} },
|
||||
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
|
||||
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
|
||||
{ TERMMOD, XK_V, clippaste, {.i = 0} },
|
||||
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
|
||||
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
||||
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
|
||||
};
|
||||
|
||||
/*
|
||||
* Special keys (change & recompile st.info accordingly)
|
||||
*
|
||||
* Mask value:
|
||||
* * Use XK_ANY_MOD to match the key no matter modifiers state
|
||||
* * Use XK_NO_MOD to match the key alone (no modifiers)
|
||||
* appkey value:
|
||||
* * 0: no value
|
||||
* * > 0: keypad application mode enabled
|
||||
* * = 2: term.numlock = 1
|
||||
* * < 0: keypad application mode disabled
|
||||
* appcursor value:
|
||||
* * 0: no value
|
||||
* * > 0: cursor application mode enabled
|
||||
* * < 0: cursor application mode disabled
|
||||
*
|
||||
* Be careful with the order of the definitions because st searches in
|
||||
* this table sequentially, so any XK_ANY_MOD must be in the last
|
||||
* position for a key.
|
||||
*/
|
||||
|
||||
/*
|
||||
* If you want keys other than the X11 function keys (0xFD00 - 0xFFFF)
|
||||
* to be mapped below, add them to this array.
|
||||
*/
|
||||
static KeySym mappedkeys[] = { -1 };
|
||||
|
||||
/*
|
||||
* State bits to ignore when matching key or button events. By default,
|
||||
* numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored.
|
||||
*/
|
||||
static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
|
||||
|
||||
/*
|
||||
* This is the huge key array which defines all compatibility to the Linux
|
||||
* world. Please decide about changes wisely.
|
||||
*/
|
||||
static Key key[] = {
|
||||
/* keysym mask string appkey appcursor */
|
||||
{ XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
|
||||
{ XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||
{ XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||
{ XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||
{ XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||
{ XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||
{ XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||
{ XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
|
||||
{ XK_KP_End, ControlMask, "\033[J", -1, 0},
|
||||
{ XK_KP_End, ControlMask, "\033[1;5F", +1, 0},
|
||||
{ XK_KP_End, ShiftMask, "\033[K", -1, 0},
|
||||
{ XK_KP_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||
{ XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||
{ XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||
{ XK_KP_Insert, ControlMask, "\033[L", -1, 0},
|
||||
{ XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||
{ XK_KP_Delete, ControlMask, "\033[M", -1, 0},
|
||||
{ XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||
{ XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
|
||||
{ XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0},
|
||||
{ XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0},
|
||||
{ XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0},
|
||||
{ XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0},
|
||||
{ XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0},
|
||||
{ XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0},
|
||||
{ XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0},
|
||||
{ XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0},
|
||||
{ XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0},
|
||||
{ XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0},
|
||||
{ XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0},
|
||||
{ XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0},
|
||||
{ XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0},
|
||||
{ XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0},
|
||||
{ XK_Up, ShiftMask, "\033[1;2A", 0, 0},
|
||||
{ XK_Up, Mod1Mask, "\033[1;3A", 0, 0},
|
||||
{ XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0},
|
||||
{ XK_Up, ControlMask, "\033[1;5A", 0, 0},
|
||||
{ XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0},
|
||||
{ XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0},
|
||||
{ XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0},
|
||||
{ XK_Up, XK_ANY_MOD, "\033[A", 0, -1},
|
||||
{ XK_Up, XK_ANY_MOD, "\033OA", 0, +1},
|
||||
{ XK_Down, ShiftMask, "\033[1;2B", 0, 0},
|
||||
{ XK_Down, Mod1Mask, "\033[1;3B", 0, 0},
|
||||
{ XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0},
|
||||
{ XK_Down, ControlMask, "\033[1;5B", 0, 0},
|
||||
{ XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0},
|
||||
{ XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0},
|
||||
{ XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0},
|
||||
{ XK_Down, XK_ANY_MOD, "\033[B", 0, -1},
|
||||
{ XK_Down, XK_ANY_MOD, "\033OB", 0, +1},
|
||||
{ XK_Left, ShiftMask, "\033[1;2D", 0, 0},
|
||||
{ XK_Left, Mod1Mask, "\033[1;3D", 0, 0},
|
||||
{ XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0},
|
||||
{ XK_Left, ControlMask, "\033[1;5D", 0, 0},
|
||||
{ XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0},
|
||||
{ XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0},
|
||||
{ XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0},
|
||||
{ XK_Left, XK_ANY_MOD, "\033[D", 0, -1},
|
||||
{ XK_Left, XK_ANY_MOD, "\033OD", 0, +1},
|
||||
{ XK_Right, ShiftMask, "\033[1;2C", 0, 0},
|
||||
{ XK_Right, Mod1Mask, "\033[1;3C", 0, 0},
|
||||
{ XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0},
|
||||
{ XK_Right, ControlMask, "\033[1;5C", 0, 0},
|
||||
{ XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0},
|
||||
{ XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0},
|
||||
{ XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0},
|
||||
{ XK_Right, XK_ANY_MOD, "\033[C", 0, -1},
|
||||
{ XK_Right, XK_ANY_MOD, "\033OC", 0, +1},
|
||||
{ XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0},
|
||||
{ XK_Return, Mod1Mask, "\033\r", 0, 0},
|
||||
{ XK_Return, XK_ANY_MOD, "\r", 0, 0},
|
||||
{ XK_Insert, ShiftMask, "\033[4l", -1, 0},
|
||||
{ XK_Insert, ShiftMask, "\033[2;2~", +1, 0},
|
||||
{ XK_Insert, ControlMask, "\033[L", -1, 0},
|
||||
{ XK_Insert, ControlMask, "\033[2;5~", +1, 0},
|
||||
{ XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
|
||||
{ XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
|
||||
{ XK_Delete, ControlMask, "\033[M", -1, 0},
|
||||
{ XK_Delete, ControlMask, "\033[3;5~", +1, 0},
|
||||
{ XK_Delete, ShiftMask, "\033[2K", -1, 0},
|
||||
{ XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
|
||||
{ XK_Delete, XK_ANY_MOD, "\033[P", -1, 0},
|
||||
{ XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
|
||||
{ XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
|
||||
{ XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
|
||||
{ XK_Home, ShiftMask, "\033[2J", 0, -1},
|
||||
{ XK_Home, ShiftMask, "\033[1;2H", 0, +1},
|
||||
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
|
||||
{ XK_Home, XK_ANY_MOD, "\033[1~", 0, +1},
|
||||
{ XK_End, ControlMask, "\033[J", -1, 0},
|
||||
{ XK_End, ControlMask, "\033[1;5F", +1, 0},
|
||||
{ XK_End, ShiftMask, "\033[K", -1, 0},
|
||||
{ XK_End, ShiftMask, "\033[1;2F", +1, 0},
|
||||
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
|
||||
{ XK_Prior, ControlMask, "\033[5;5~", 0, 0},
|
||||
{ XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
|
||||
{ XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
|
||||
{ XK_Next, ControlMask, "\033[6;5~", 0, 0},
|
||||
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0},
|
||||
{ XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
|
||||
{ XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
|
||||
{ XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0},
|
||||
{ XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0},
|
||||
{ XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0},
|
||||
{ XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0},
|
||||
{ XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0},
|
||||
{ XK_F2, XK_NO_MOD, "\033OQ" , 0, 0},
|
||||
{ XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0},
|
||||
{ XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0},
|
||||
{ XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0},
|
||||
{ XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0},
|
||||
{ XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0},
|
||||
{ XK_F3, XK_NO_MOD, "\033OR" , 0, 0},
|
||||
{ XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0},
|
||||
{ XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0},
|
||||
{ XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0},
|
||||
{ XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0},
|
||||
{ XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0},
|
||||
{ XK_F4, XK_NO_MOD, "\033OS" , 0, 0},
|
||||
{ XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0},
|
||||
{ XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0},
|
||||
{ XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0},
|
||||
{ XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0},
|
||||
{ XK_F5, XK_NO_MOD, "\033[15~", 0, 0},
|
||||
{ XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0},
|
||||
{ XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0},
|
||||
{ XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0},
|
||||
{ XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0},
|
||||
{ XK_F6, XK_NO_MOD, "\033[17~", 0, 0},
|
||||
{ XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0},
|
||||
{ XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0},
|
||||
{ XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0},
|
||||
{ XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0},
|
||||
{ XK_F7, XK_NO_MOD, "\033[18~", 0, 0},
|
||||
{ XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0},
|
||||
{ XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0},
|
||||
{ XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0},
|
||||
{ XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0},
|
||||
{ XK_F8, XK_NO_MOD, "\033[19~", 0, 0},
|
||||
{ XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0},
|
||||
{ XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0},
|
||||
{ XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0},
|
||||
{ XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0},
|
||||
{ XK_F9, XK_NO_MOD, "\033[20~", 0, 0},
|
||||
{ XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0},
|
||||
{ XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0},
|
||||
{ XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0},
|
||||
{ XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0},
|
||||
{ XK_F10, XK_NO_MOD, "\033[21~", 0, 0},
|
||||
{ XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0},
|
||||
{ XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0},
|
||||
{ XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0},
|
||||
{ XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0},
|
||||
{ XK_F11, XK_NO_MOD, "\033[23~", 0, 0},
|
||||
{ XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0},
|
||||
{ XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0},
|
||||
{ XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0},
|
||||
{ XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0},
|
||||
{ XK_F12, XK_NO_MOD, "\033[24~", 0, 0},
|
||||
{ XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0},
|
||||
{ XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0},
|
||||
{ XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0},
|
||||
{ XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0},
|
||||
{ XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0},
|
||||
{ XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0},
|
||||
{ XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0},
|
||||
{ XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0},
|
||||
{ XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0},
|
||||
{ XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0},
|
||||
{ XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0},
|
||||
{ XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0},
|
||||
{ XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0},
|
||||
{ XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0},
|
||||
{ XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0},
|
||||
{ XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0},
|
||||
{ XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0},
|
||||
{ XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0},
|
||||
{ XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0},
|
||||
{ XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0},
|
||||
{ XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0},
|
||||
{ XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0},
|
||||
{ XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0},
|
||||
{ XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0},
|
||||
{ XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0},
|
||||
{ XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0},
|
||||
{ XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0},
|
||||
};
|
||||
|
||||
/*
|
||||
* Selection types' masks.
|
||||
* Use the same masks as usual.
|
||||
* Button1Mask is always unset, to make masks match between ButtonPress.
|
||||
* ButtonRelease and MotionNotify.
|
||||
* If no match is found, regular selection is used.
|
||||
*/
|
||||
static uint selmasks[] = {
|
||||
[SEL_RECTANGULAR] = Mod1Mask,
|
||||
};
|
||||
|
||||
/*
|
||||
* Printable characters in ASCII, used to estimate the advance width
|
||||
* of single wide characters.
|
||||
*/
|
||||
static char ascii_printable[] =
|
||||
" !\"#$%&'()*+,-./0123456789:;<=>?"
|
||||
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
||||
"`abcdefghijklmnopqrstuvwxyz{|}~";
|
@ -0,0 +1 @@
|
||||
Subproject commit 06434a49350a669263b7bc45e5210b5f3e699ced
|
@ -0,0 +1 @@
|
||||
Subproject commit f33a83b5600d301724d1acfd0f13f66b11eaf7b4
|
@ -0,0 +1,72 @@
|
||||
# If you want to synchronize calcurse with a CalDAV server using
|
||||
# calcurse-caldav, create a new directory at $XDG_CONFIG_HOME/calcurse/caldav/
|
||||
# (~/.config/calcurse/caldav/) and $XDG_DATA_HOME/calcurse/caldav/
|
||||
# (~/.local/share/calcurse/caldav/) and copy this file to
|
||||
# $XDG_CONFIG_HOME/calcurse/caldav/config and adjust the configuration below.
|
||||
# Alternatively, if using ~/.calcurse, create a new directory at
|
||||
# ~/.calcurse/caldav/ and copy this file to ~/.calcurse/caldav/config and adjust
|
||||
# the configuration file below.
|
||||
|
||||
[General]
|
||||
# Path to the calcurse binary that is used for importing/exporting items.
|
||||
Binary = calcurse
|
||||
|
||||
# Host name of the server that hosts CalDAV. Do NOT prepend a protocol prefix,
|
||||
# such as http:// or https://. Append :<port> for a port other than 80.
|
||||
Hostname = cal.keegandeppe.com
|
||||
|
||||
# Path to the CalDAV calendar on the host specified above. This is the base
|
||||
# path following your host name in the URL.
|
||||
Path = /kdeppe/be30a9ed-74c0-00fb-8f24-7ed6fa9d08ee/
|
||||
|
||||
# Type of authentication to use. Must be "basic" or "oauth2"
|
||||
AuthMethod = basic
|
||||
|
||||
# Enable this if you want to skip SSL certificate checks.
|
||||
InsecureSSL = No
|
||||
|
||||
# Disable this if you want to use HTTP instead of HTTPS.
|
||||
# Using plain HTTP is highly discouraged.
|
||||
HTTPS = Yes
|
||||
|
||||
# This option allows you to filter the types of tasks synced. To this end, the
|
||||
# value of this option should be a comma-separated list of item types, where
|
||||
# each item type is either "event", "apt", "recur-event", "recur-apt", "todo",
|
||||
# "recur" or "cal". Note that the comma-separated list must not contain any
|
||||
# spaces. Refer to the documentation of the --filter-type command line argument
|
||||
# of calcurse for more details. Set this option to "cal" if the configured
|
||||
# CalDAV server doesn't support tasks, such as is the case with Google
|
||||
# Calendar.
|
||||
SyncFilter = cal,todo
|
||||
|
||||
# Disable this option to actually enable synchronization. If it is enabled,
|
||||
# nothing is actually written to the server or to the local data files. If you
|
||||
# combine DryRun = Yes with Verbose = Yes, you get a log of what would have
|
||||
# happened with this option disabled.
|
||||
DryRun = No
|
||||
|
||||
# Enable this if you want detailed logs written to stdout.
|
||||
Verbose = Yes
|
||||
|
||||
# Credentials for HTTP Basic Authentication. Leave this commented out if you do
|
||||
# not want to use authentication.
|
||||
[Auth]
|
||||
Username = kdeppe
|
||||
#Password =
|
||||
|
||||
# Optionally specify additional HTTP headers here.
|
||||
#[CustomHeaders]
|
||||
#User-Agent = Mac_OS_X/10.9.2 (13C64) CalendarAgent/176
|
||||
|
||||
# Use the following to synchronize with an OAuth2-based service
|
||||
# such as Google Calendar.
|
||||
#[OAuth2]
|
||||
#ClientID = your_client_id
|
||||
#ClientSecret = your_client_secret
|
||||
|
||||
# Scope of access for API calls. Synchronization requires read/write.
|
||||
#Scope = https://example.com/resource/scope
|
||||
|
||||
# Change the redirect URI if you receive errors, but ensure that it is identical
|
||||
# to the redirect URI you specified in the API settings.
|
||||
#RedirectURI = http://127.0.0.1
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue