"+p
139 | "nnoremap "+p
140 | inoremap "+pa
141 |
142 | let mapleader = ","
143 | let g:mapleader = ","
144 | nnoremap x "_x
145 | vnoremap x "_x
146 | nnoremap d "_d
147 | nnoremap D "_D
148 | vnoremap d "_d
149 | nnoremap d "+d
150 | nnoremap D "+D
151 | vnoremap d "+d
152 |
153 | nnoremap d "+d
154 | nnoremap D "+D
155 | vnoremap d "+d
156 |
157 | inoremap :wa
158 | nnoremap :w
159 |
160 | " toggle sidebars
161 | nnoremap :let [&nu, &rnu] = [!&rnu, &nu+&rnu==1]
162 | nnoremap :GitGutterToggle
163 | nnoremap :ALEToggle
164 |
165 | inoremap :w !bash
166 | nnoremap :w !bash
167 |
168 | " Output the current syntax group
169 | map :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
170 | \ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
171 | \ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"
172 |
173 | nnoremap K :vert Man
174 |
175 | runtime rename.vim
176 | autocmd BufNewFile,BufRead,BufEnter * syn match matchURL /http[s]\?:\/\/[[:alnum:]%\/_#.-]*/
177 | hi matchURL cterm=underline ctermfg=12
178 |
--------------------------------------------------------------------------------
/etc/nvim/rename.vim:
--------------------------------------------------------------------------------
1 | " Rename2.vim - Rename a buffer within Vim and on disk
2 | "
3 | " Copyright July 2009 by Manni Heumann
4 | "
5 | " based on Rename.vim
6 | " Copyright June 2007 by Christian J. Robinson
7 | "
8 | " Distributed under the terms of the Vim license. See ":help license".
9 | "
10 | " Usage:
11 | "
12 | " :Rename[!] {newname}
13 |
14 | command! -nargs=* -complete=file -bang Rename :call Rename("", "")
15 |
16 | function! Rename(name, bang)
17 | let l:curfile = expand("%:p")
18 | let l:curfilepath = expand("%:p:h")
19 | let l:newname = l:curfilepath . "/" . a:name
20 | let v:errmsg = ""
21 | silent! exe "saveas" . a:bang . " " . l:newname
22 | if v:errmsg =~# '^$\|^E329'
23 | if expand("%:p") !=# l:curfile && filewritable(expand("%:p"))
24 | silent exe "bwipe! " . l:curfile
25 | if delete(l:curfile)
26 | echoerr "Could not delete " . l:curfile
27 | endif
28 | endif
29 | else
30 | echoerr v:errmsg
31 | endif
32 | endfunction
33 |
--------------------------------------------------------------------------------
/etc/nvim/statusline.vim:
--------------------------------------------------------------------------------
1 | "
2 | " ,=,e
3 | " vim statusline
4 | " based on lena's
5 | "
6 |
7 | set noshowmode
8 |
9 | set laststatus=2
10 |
11 | hi Sl1 ctermfg=16 cterm=none ctermbg=none
12 | hi Sl2 ctermfg=7 cterm=none ctermbg=none
13 | hi Sl3 ctermfg=8 cterm=none ctermbg=none
14 | hi Slrese ctermfg=none cterm=none ctermbg=none
15 | function! RedrawMode(mode)
16 | " Normal mode
17 | if a:mode == 'n'
18 | return 'nor'
19 | " Insert mode
20 | elseif a:mode == 'i'
21 | return 'ins'
22 | elseif a:mode == 'R'
23 | return 'rep'
24 | " Visual mode
25 | elseif a:mode == 'v' || a:mode == 'V' || a:mode == '^V'
26 | return 'sel'
27 | " Command mode
28 | elseif a:mode == 'c'
29 | return 'cmd'
30 | " Terminal mode
31 | elseif a:mode == 't'
32 | return 'trm'
33 | endif
34 | return ''
35 | endfunction
36 |
37 |
38 | function! SetModifiedSymbol(modified)
39 | if a:modified == 1
40 | return '[*]'
41 | else
42 | return ''
43 | endif
44 | endfunction
45 |
46 |
47 | function! SetFiletype(filetype)
48 | if a:filetype == ''
49 | return 'txt'
50 | else
51 | return a:filetype
52 | endif
53 | endfunction
54 |
55 | set statusline=%#Slrese#\ %{RedrawMode(mode())}\ %#Sl1#\|
56 | " Filename
57 | set statusline+=%#Sl2#\ %.20t\
58 | " Modified status
59 | set statusline+=%#Sl3#%{SetModifiedSymbol(&modified)}
60 | set statusline+=%#SlRese#
61 | " right side
62 | set statusline+=%=
63 | " ruler
64 | set statusline+=\%#Sl2#\ %l,%c
65 | " filetype
66 | set statusline+=\ %#Sl1#\|%#Slrese#\ %{SetFiletype(&filetype)}\
67 |
--------------------------------------------------------------------------------
/etc/picom.conf:
--------------------------------------------------------------------------------
1 | # shadows
2 | shadow = true
3 | #shadow-radius = 40
4 | #shadow-offset-x = -33
5 | #shadow-offset-y = -28
6 | #shadow-opacity = .35
7 | shadow-radius = 31
8 | shadow-offset-y = -25
9 | shadow-offset-x = -18
10 | shadow-opacity = .12
11 | xinerama-shadow-crop = true
12 | shadow-exclude = [
13 | "g:e:conky",
14 | "g:e:slop",
15 | "g:e:boox"
16 | ]
17 |
18 | fade-exclude = [
19 | "g:e:boox"
20 | ]
21 |
22 | # Fading
23 | fading = false
24 | fade-delta = 3
25 | fade-in-step = .03
26 | fade-out-step = .04
27 |
28 | # Other
29 | backend = "xrender"
30 | vsync = false
31 | corner-radius = 0
32 | inactive-dim = 0.00
33 | rounded-corners-exclude = [
34 | "width=1920 && height=1080",
35 | "width=1440 && height=900 ",
36 | ]
37 | focus-exclude = [
38 | "x=1920 && width=1440",
39 | "g:e:dmenu",
40 | ]
41 | wintypes = { notification = { full-shadow = true } }
42 |
43 | opacity-rule = [
44 | "50:class_g = 'conky'",
45 | ];
46 |
--------------------------------------------------------------------------------
/etc/sh/.zprofile:
--------------------------------------------------------------------------------
1 | profile
--------------------------------------------------------------------------------
/etc/sh/.zshrc:
--------------------------------------------------------------------------------
1 | zshrc
--------------------------------------------------------------------------------
/etc/sh/bashrc:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # ~/etc/sh/bashrc
3 |
4 | # login shells
5 | [[ "$0" =~ -.* ]] && . "$XDG_CONFIG_HOME/sh/profile"
6 |
7 | . "$XDG_CONFIG_HOME/sh/aliases"
8 |
9 | stty -ixon
10 | shopt -s extglob
11 |
12 | # cd without typing cd
13 | shopt -s autocd
14 |
15 | # lazy git / ls
16 | bind -x '"\C-n": clear; git status -sb'
17 | bind -x '"\C-k": clear; ls -A'
18 |
19 | # non-greedy ^w
20 | stty werase undef
21 | bind '"\C-w": backward-kill-word'
22 |
23 | # cycle autocomplete
24 | # @TODO @FIXME: buggy when pasting tabs :( (this is a st problem)
25 | bind '"\C-t": complete'
26 | bind '"\t": menu-complete'
27 | bind '"\e[Z": menu-complete-backward'
28 |
29 | # open command in editor
30 | bind '"\C-f": edit-and-execute-command'
31 |
32 | # history
33 | HISTFILE="$XDG_CONFIG_HOME/sh/bash-history"
34 | HISTSIZE=
35 | HISTFILESIZE=
36 | bind '"\e[A": history-search-backward'
37 | bind '"\e[B": history-search-forward'
38 |
39 | #
40 | # prompt
41 | #
42 |
43 | # readable colours when using the tty, which doesn't have annaisms
44 | [[ "$TERM" = linux ]] &&
45 | bash_shell_accent=$'\033[34m' bash_shell_accent2=$'\033[31m' ||
46 | bash_shell_accent=$'\033[38;5;16m' bash_shell_accent2=$'\033[38;5;17m'
47 |
48 | # cute sudo
49 | export SUDO_PROMPT=$'pass for\033[38;05;16m %u\033[0m '
50 |
51 | # cute cnf
52 | command_not_found_handle() {
53 | d "$@" && return
54 | printf 'not found: %s%s\033[0m\n' "$bash_shell_accent" "$1" >&2
55 | return 127
56 | }
57 |
58 | # main prompt
59 | PS1='\[\033[0m\]\[$bash_shell_col\] > \[\033[0m\]'
60 | PROMPT_COMMAND=_prompt
61 |
62 | _prompt() {
63 | ## exit status
64 | case $? in
65 | 0) bash_shell_col=$bash_shell_accent;;
66 | *) bash_shell_col=$bash_shell_accent2
67 | esac
68 |
69 | stty echo
70 |
71 | ## git
72 | git=' '
73 | timeout 0.04 git rev-parse &>/dev/null && {
74 | out=$(git status --porcelain)
75 | git='*'
76 | [[ "$out" =~ .*^.[MD].* ]] && git=$'\e[37m*'
77 | [[ "$out" =~ .*^[MA].* ]] && git=$'\e[38;5;16m*'
78 | }
79 |
80 | ## display dir in top-right
81 | eq "$PWD" "$HOME" && v='~' || v=${PWD##*/}
82 | op=${OLDPWD##*/}
83 |
84 | # save cursor pos, move cursor to the top-right
85 | # then delete the previous contents
86 | # then print the new dir and restore cursor pos
87 | printf '%b%b%b' \
88 | "\033[s\033[0;9999H" \
89 | "\033[${#op}D\033[K" \
90 | "\033[999C\033[${#v}D${git}${v}\033[u"
91 | }
92 |
--------------------------------------------------------------------------------
/etc/sh/mkshrc:
--------------------------------------------------------------------------------
1 | # if login shell, source profile
2 | case "$-" in
3 | *l*) . ~/etc/sh/profile;;
4 | esac
5 |
6 | # fancy prompt
7 | PS1=$'$([ $? = 0 ] && printf "\e[38;05;16m" || printf "\e[90m")| \e[0m'
8 | export SUDO_PROMPT=$'\e[37mpass for \e[0m%u '
9 |
10 | # fancy command not found
11 | cnf() {
12 | # only continue if the command wasn't found
13 | [ "$?" = 127 ] && {
14 | # clear default message
15 | printf "\033[1A\033[2K"
16 | # print new message
17 | printf '\033[37mnot found\033[0m\n'
18 | }
19 | }
20 | trap 'cnf' ERR
21 |
22 |
23 | # aliases
24 | alias ..="cd .."
25 | alias ...="cd ../.."
26 | . ~/etc/sh/aliases
27 |
28 |
29 | # binds
30 | bind '^f=edit-line'
31 | bind '^l=clear-screen'
32 | bind -m '^j=^U clear; git status^M^Y'
33 | bind -m '^k=^U clear; ls^M^Y'
34 | # disable ^s
35 | stty -ixon
36 |
37 | # history
38 | bind '^[[A=search-history-up'
39 | bind '^[[B=search-history-down'
40 | export HISTFILE="$HOME/etc/sh/history"
41 |
42 | # vim: ft=bash
43 |
--------------------------------------------------------------------------------
/etc/sh/profile:
--------------------------------------------------------------------------------
1 | #
2 | # profile
3 | #
4 |
5 | export \
6 | null=/dev/null \
7 | opt=$HOME/opt \
8 | data=$HOME/usr \
9 | conf=$HOME/etc \
10 | apps=$HOME/opt/apps \
11 | cache=$HOME/tmp/cache
12 |
13 | export \
14 | XDG_DATA_HOME="$data" \
15 | XDG_CACHE_HOME="$cache" \
16 | XDG_CONFIG_HOME="$conf" \
17 | LC_TIME=en_CA
18 |
19 | # garbage dotfile apps
20 | export \
21 | GOPATH="$cache/go" \
22 | CARGO_HOME="$cache/cargo" \
23 | LESSHISTFILE="$null" \
24 | XAUTHORITY="$cache/xauth" \
25 | GNUPGHOME="$opt/apps/gpg" \
26 | WEECHAT_HOME="$conf/weechat" \
27 | GTK2_RC_FILES="$conf/gtk-2.0/gtkrc-2.0" \
28 | NVIM_LOG_FILE=/dev/null \
29 | RUSTUP_HOME=$HOME/opt/apps
30 |
31 | # user
32 | export \
33 | EDITOR="nvim" \
34 | scr_dir="$opt/scr" \
35 | rec_dir="$opt/scr" \
36 | audrey_dir="$opt/scr" \
37 | scr_file='$(date +%s.%3N).png' \
38 | rec_file='$(date +%s.%3N).mp4' \
39 | audrey_file='$(date +%s.%3N).mp3'
40 |
41 | export \
42 | PAGER="nvim -R" \
43 | MANPAGER="nvim '+Man!'" \
44 | MANWIDTH=999
45 | #MANPAGER="nvim -c 'set ft=man' -"
46 |
47 | # disable dbind accessibility bus warning - https://unix.stackexchange.com/a/532589
48 | export NO_AT_BRIDGE=1
49 |
50 |
51 | export QT_QPA_PLATFORMTHEME=gtk2
52 |
53 | # colours lol
54 | ls="di=35:ln=36:pi=42:tw=0:ow=0:st=0:*.md=31:*.css=32:ex=33"
55 | lstar="*.gz=31:*.tar=31:*.xz=31:*.zip=31:*.zst=31"
56 | lsimg="*.gif=34:*.jpeg=34:*.jpg=34:*.png=34:*.webp=34"
57 | lsvid="*.avi=34:*.mkv=34:*.mp4=34:*.webm=34"
58 |
59 | export LS_COLORS="$ls:$lstar:$lsimg:$lsvid"
60 |
61 | # nix lol
62 | export \
63 | NIX_PATH=$apps/.nix-defexpr/channels \
64 | NIX_PROFILES="/nix/var/nix/profiles/default $HOME/.nix-profile" \
65 | NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
66 |
67 | export PATH="$(find ~/bin -maxdepth 1 -type d | tr '\n' ':')/usr/local/bin:/usr/bin"
68 |
69 | star() { ( "$@" & ) >$null 2>&1; }
70 | star systemctl --user import-environment >/dev/null 2>&1
71 | star kiwmi # (https://github.com/buffet/kiwmi)
72 | star rmd
73 | star sudo kbdrate -d 200 -r 60
74 | #star archi
75 | #star shortcuts
76 | star sudo cpupower frequency-set --governor performance
77 |
78 | sudo rm /etc/systemd/system/getty@tty1.service.d/autologin.conf 2>/dev/null
79 | ! [ -e /tmp/session ] && [ "$(tty)" = /dev/tty1 ] && :>/tmp/session && sleep 1 && x
80 |
81 | # vim: ft=sh
82 |
--------------------------------------------------------------------------------
/etc/sh/sc:
--------------------------------------------------------------------------------
1 | # dirs
2 | h ~
3 | gi ~/src
4 | dl ~/tmp
5 | dots ~/opt/dots
6 | bks ~/opt/bks
7 | db ~/opt/bks
8 |
9 | wp ~/src/walls
10 | fet ~/src/fetsh
11 | gg ~/src/gkay
12 |
13 | scrs ~/opt/scr
14 | pics ~/opt/scr
15 | recs ~/opt/scr
16 | gf ~/tmp/cache/gkif
17 | tu ~/opt/turtles
18 | em /hd/discord/emotes
19 |
20 | oth /hd/linuxdistros
21 | ot /hd2/linuxdistros
22 | dw /hd/media/DoctorWho
23 | tw /hd/media/Torchwood
24 | sp ~/etc/startpage
25 | fchr ~/etc/firefox/main/chrome
26 |
27 | # files
28 | # shells
29 | sc ~/etc/sh/sc
30 | z ~/etc/sh/.zshrc
31 | zh ~/etc/sh/zsh-history
32 | a ~/etc/sh/aliases
33 | pro ~/etc/sh/profile
34 |
35 | # wm
36 | com ~/etc/picom.conf
37 | bs ~/etc/bspwm/bspwmrc
38 | drc ~/etc/dunst/dunstrc
39 | sx ~/etc/sxhkd/sxhkdrc
40 | sb ~/etc/sxhkd/bspwm
41 | so ~/etc/sxhkd/other
42 |
43 | # X
44 | xin ~/etc/xorg/rc
45 | xres ~/etc/xorg/res
46 | uc ~/etc/firefox/main/chrome/userChrome.css
47 | ucc ~/etc/firefox/main/chrome/userContent.css
48 |
49 | vimrc ~/etc/nvim/init.vim
50 |
--------------------------------------------------------------------------------
/etc/sh/zshrc:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 | # ~/etc/sh/zshrc
3 |
4 | set -k # allow comments in shell
5 | setopt auto_cd # cd by just typing the directory name
6 | unsetopt flowcontrol # disable ^s/^q
7 | . "$ZDOTDIR/aliases" # aliases
8 | setopt SHwordsplit # disable zsh's stupid variable auto-quoting
9 |
10 | #
11 | # keybinds
12 | #
13 |
14 | bindkey '^a' beginning-of-line # ^a
15 | bindkey '^e' end-of-line # ^e
16 | bindkey '^[[3~' delete-char # delete
17 | bindkey '^[[1;5C' forward-word # ^right [st]
18 | bindkey '^[[1;5D' backward-word # ^left [st]
19 | bindkey '^[Oc' forward-word # ^right [urxvt]
20 | bindkey '^[Od' backward-word # ^left [urxvt]
21 | bindkey '^[^M' self-insert-unmeta # alt-return
22 | bindkey '^[[Z' reverse-menu-complete # shift-tab
23 | bindkey '^r' history-incremental-search-backward # ^e
24 |
25 | load() { autoload -U "$1"; zle -N "$1"; bindkey "$2" "$1"; }
26 |
27 | nop() { :; }
28 | load nop '^[[O'
29 | # stop clearing input when using alt-arrows
30 | load nop '^[[1;3D'
31 | load nop '^[[1;3C'
32 |
33 | # open current command in EDITOR
34 | load edit-command-line '^x'
35 |
36 | # arrow keys search history
37 | load up-line-or-beginning-search '^[[A'
38 | load up-line-or-beginning-search '^s'
39 | load down-line-or-beginning-search '^[[B'
40 | load down-line-or-beginning-search '^f'
41 |
42 | # git status on ^j
43 | kgs() { clear; git status -sb; zle redisplay; }
44 | zle -N kgs; bindkey ^j kgs
45 |
46 | # ls on ^k
47 | kls() { clear; ls -A; zle redisplay; }
48 | zle -N kls; bindkey ^k kls
49 |
50 | #
51 | # history
52 | #
53 |
54 | export HISTSIZE=999999 \
55 | SAVEHIST=999999 \
56 | HISTFILE="${ZDOTDIR:-$HOME}/zsh-history"
57 | setopt histignorespace
58 | setopt extended_history # record timestamp of command in HISTFILE
59 | setopt hist_ignore_dups # ignore duplicated commands in history
60 | setopt share_history # save/reload command history without exiting the shell
61 |
62 | #
63 | # autocompletion
64 | #
65 |
66 | setopt NO_NOMATCH # disable "no matching glob" error
67 | setopt complete_in_word
68 | zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
69 | zstyle ':completion:*' menu select
70 | zstyle ':completion:*' special-dirs true
71 | zstyle ':completion:*' matcher-list \
72 | 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
73 | autoload -U compinit && compinit -C
74 |
75 | #
76 | # prompt
77 | #
78 |
79 | setopt prompt_subst # enable command execution in prompt
80 | [ "$SSH_CLIENT" ] && export TERM=linux DISPLAY=:0
81 |
82 | topdir() {
83 | ## display dir in top-right
84 | [ "$PWD" = "$HOME" ] && v='~' || v=${PWD##*/}
85 | op=${OLDPWD##*/}
86 |
87 | # save cursor pos, move cursor to the top-right
88 | # then delete the previous contents
89 | # then print the new dir and restore cursor pos
90 | printf '%b%b%b' \
91 | "\033[s\033[0;9999H" \
92 | "\033[${#op}D\033[K" \
93 | "\033[999C\033[${#v}D$v\033[u"
94 | }
95 |
96 | # fancy prompts
97 | command_not_found_handler() {
98 | printf 'not found:\033[38;05;%sm %s\033[0m\n' "$acc" "$0" >&2
99 | return 127
100 | }
101 |
102 | case $TERM in
103 | linux) acc=4 acc2=1 PROMPT=' %1~%F{%(?.4.1)} %(!.|./) %f';;
104 | *) acc=16 acc2=17 PROMPT=$'%{\e[?25h\e[4 q%}%{$(topdir)%}%F{%(?.$acc.$acc2)} > %f'
105 | esac
106 |
107 | export SUDO_PROMPT=$'pass for\033[38;05;'"${acc}m %u"$'\033[0m '
108 |
109 | [ "$TERM" = rxvt-unicode-256color ] && {
110 | . ~/etc/colours/current
111 | printf '%b%b%b' \
112 | "\033]4;16;#$accent\007" \
113 | "\033]4;17;#$accent2\007" \
114 | "\033]4;18;#$contrast\007"
115 |
116 | cat << EOF
117 | ( (
118 | ))))
119 | _ .---.
120 | ( |\`---'| Would you like a cup
121 | \\| | of tea, sir?
122 | : .___, :
123 | \`-----'
124 | EOF
125 | No() { echo "That is not an option. Would you like a cup of tea, sir?"; }
126 | };:
127 |
--------------------------------------------------------------------------------
/etc/startpage/index.html:
--------------------------------------------------------------------------------
1 |
2 | ~
3 |
4 |
9 |
14 |
15 |
--------------------------------------------------------------------------------
/etc/startpage/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | font: var(--font-weight) var(--font-size) var(--font);
3 | background: var(--bg1);
4 | /* align to center */
5 | height: 100%;
6 | display: flex;
7 | align-items: center;
8 | justify-content: center;
9 | margin: 0;
10 | }
11 |
12 | nobody {
13 | /* flow horizontally */
14 | display: flex;
15 | }
16 |
17 | div > * {
18 | display: block;
19 | text-decoration: none;
20 | padding: 10px 40px;
21 | text-align: center;
22 | }
23 |
24 | a { color: var(--fg1); }
25 | span, a:hover { color: var(--fg2); }
26 |
--------------------------------------------------------------------------------
/etc/sxhkd/bspwm:
--------------------------------------------------------------------------------
1 | XF86Tools
2 | bspc node -c
3 | {alt,super} + q
4 | bspc node -{c,k}
5 |
6 | super + {n,m}
7 | bspc desktop -l {tiled,monocle}
8 |
9 | super + {_,shift} + Escape
10 | {wm restart,:}
11 | #wm {restart,quit}
12 |
13 | super + r
14 | bspc node -t "~floating"
15 |
16 | super + {_,ctrl,shift} + {a,s,w,d}
17 | {focus,move,resize} {west,south,north,east}
18 |
19 | shift + alt + {d,a}
20 | bspc node -d "{next,prev}" --follow; \
21 | #nottop a $(bspc query -D -d focused --names)
22 |
23 | ctrl + alt + {d,a}
24 | bspc desktop -f {next,prev}; \
25 | #nottop no $(bspc query -D -d focused --names)
26 |
27 | ctrl + super + {1-6,v,c,x,z}
28 | a={1-9,0}; \
29 | bspc node -d $a && \
30 | nottop a $a
31 |
32 | super + {1-6,v,c,x,z}
33 | a={1-9,0}; \
34 | bspc desktop -f $a || \
35 | notify-send failed
36 |
37 | alt {_,shift} + Tab
38 | bspc node -f {next, prev}.!hidden.window
39 |
40 | super shift {z,x}
41 | bspc node @^1:focused:/ -s @^2:focused:/ || \
42 | bspc node @^1:focused:/ -d ^2:focused || \
43 | bspc node @^2:focused:/ -d ^1:focused
44 |
--------------------------------------------------------------------------------
/etc/sxhkd/sxhkdrc:
--------------------------------------------------------------------------------
1 | #
2 | # ,=,e
3 | #
4 |
5 | ctrl + alt + 3
6 | kb
7 |
8 | super + {alt + space, Return, e}
9 | date +%s >> ~/tmp/cache/sttimes & st
10 | #term -pixmap '/home/d/src/walls/uk.png;style=scale'
11 |
12 | #super + g
13 | # st -g 60x8 -c menu -e sh -c 'printf "[%s] %s\n" "$(date +%Y-%m-%d_%H-%M-%S)" "$(head -n1)" >> ~/opt/notes'
14 | #xdotool keyup super; eval "$(xdotool getmouselocation --shell)"; xdotool mousemove_relative 46 376; sleep 0.05; xdotool click 1 click 1; sleep 0.1; xdotool mousemove 2121 842 click 1; xdotool mousemove $X $Y
15 |
16 | #super + b
17 | # surphace
18 |
19 | super + space
20 | launch
21 |
22 | super + y
23 | keepassxc
24 |
25 | XF86Launch8
26 | xdotool keyup XF86Launch8; xdotool key ctrl+w
27 |
28 | {XF86Launch7, shift XF86Launch7,super BackSpace}
29 | mic toggle
30 |
31 | super ctrl BackSpace
32 | mic query
33 |
34 | {_,@}Pause
35 | mic {on,off}
36 |
37 | #button9
38 | # mic on
39 | #
40 | #@button9
41 | # mic off
42 |
43 | ctrl + shift + {1,2,Escape}
44 | mic {on,off,query}
45 |
46 | #ctrl + alt + space
47 | # xdotool keyup space; xdotool key --clearmodifiers ctrl+Return
48 | #
49 | #ctrl + shift + space
50 | # xdotool keyup space; xdotool key --clearmodifiers Shift+Return
51 | #
52 | #alt + shift + space
53 | # xdotool keyup space; xdotool key --clearmodifiers alt+Return
54 | #
55 | #ctrl + space
56 | # xdotool keyup space; xdotool key --clearmodifiers Return
57 |
58 | super + {u,i}
59 | {copy,emoji}
60 |
61 | super + f
62 | GTK_THEME=Materia-light-compact /usr/lib/firefox/firefox -P main
63 | #taskset -c 8,9,10,11 firefox -P main
64 | #firefox -P main
65 |
66 | super g
67 | pavucontrol -t 3
68 |
69 | super b
70 | nvidia-settings
71 |
72 |
73 | # power menu
74 | super + h
75 | pome
76 |
77 |
78 | # un/mount drives
79 | ctrl + alt + {m,u}
80 | {_,u}mnt
81 |
82 |
83 | # send a notif of the time and battery
84 | super + t
85 | datew
86 |
87 | # change theme
88 | ctrl + alt + s
89 | ts.sh
90 |
91 | # mousebind
92 | {XF86Launch6,super + k}
93 | xdotool keyup XF86Launch6; shade picker
94 |
95 | #super + shift + 2
96 | # pgrep mumble && hw 2
97 |
98 | #{super,alt} + shift + 1
99 | # if pgrep -f '[s]t -c taskman'; then \
100 | # hw 1; \
101 | # else \
102 | # st -c taskman -e bash -c 'while :; do sudo -E htop -d 10; zsh; done' & \
103 | # fi
104 |
105 | super + shift + {0,1-9}
106 | hw {0,1-9}
107 |
108 | alt + shift + {0,1-9}
109 | hw {0,1-9} c
110 |
111 |
112 | #
113 | # screenshots
114 | #
115 | Scroll_Lock
116 | scr -G$(6r f -f) "$HOME/tmp/dlh/$(date +%s).png"
117 |
118 | {Print,ctrl alt w}
119 | scr -G$(6r f -f)
120 |
121 | # selection
122 | {shift + Print, XF86Launch5}
123 | freeze & scr -S; pkill freeze
124 | #scr -S
125 |
126 | super backslash
127 | if pgrep scr; then \
128 | scr -s; dragon --and-exit "$(ls -c ~/opt/scr/* | head -n1)"; \
129 | else \
130 | scr -e -r30 -c; \
131 | fi
132 | #super bracketright
133 | # scr -s; dragon --and-exit ~/opt/scr/"$(ls -c ~/opt/scr | head -n1)"
134 |
135 | alt {Print,ctrl x}
136 | v=$HOME/opt/scr/$(date +%s.%3N); \
137 | donotcopy=1 scr -S "$v.png" && \
138 | pinsel -o "$v-e.png" < "$v.png" && \
139 | xclip -sel clip -t image/png "$v-e.png"
140 |
141 | super + {Insert, Home, Next, Prior, End}
142 | scr {_,-c -pwnd -b12,-c -e -b6,-c -pro -a -r60 -b12,-s}
143 |
144 | super {Pause, Scroll_Lock}
145 | {audrey, gkif}
146 |
147 | #
148 | # media
149 | #
150 | XF86Audio{Prev,Next,Play,Stop,Mute}
151 | vol {prev, next, p, stop, m}
152 |
153 | {_,shift,control} XF86Audio{Raise,Lower}Volume
154 | q={2,1,5}; vol {up,down} $q
155 |
156 | super + {p, Tab}
157 | vol {p, mw}
158 |
159 |
160 |
161 | ctrl + alt + t
162 | synclient TouchpadOff={0,1}
163 |
164 |
165 |
166 | super + shift + grave
167 | setxkbmap {us dvorak-l; notify-send dvlh; sleep 0.2; xkbset sticky -twokey -latchlock; xkbset exp 1 =sticky,us; notify-send qwerty; xkbset -sticky}
168 |
169 | # desaturate monitor
170 | super 0
171 | nvidia-settings -a '[DPY:DP-0]'/DigitalVibrance={-1023,0}
172 | super control 0
173 | nvidia-settings -a '[DPY:HDMI-0]'/DigitalVibrance={-1023,0}
174 |
175 | # invert monitor
176 | super {_,control} minus
177 | xrandr-invert-colors -s {0,1 &; xrandr-invert-colors -s 2}
178 |
179 |
180 |
181 | {super l,ctrl Pause}
182 | nob;lock
183 |
184 | ctrl shift Pause
185 | lock butdontblank
186 |
187 |
188 | # fuck you dunst tbh
189 | ctrl shift period
190 | dunstctl context
191 |
192 | ctrl shift grave
193 | dunstctl history-pop
194 |
195 | ctrl alt z
196 | surphace
197 |
198 | super alt Return
199 | {for win in $(xdotool search 'Minecraft*'); do xdotool click --delay 550 --repeat 9999999999 --window $win 1 & done, pkill -x xdotool}
200 |
--------------------------------------------------------------------------------
/etc/xorg/rc:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # Tweaks
4 | #
5 |
6 | wm="${1:-bspwm}"
7 | c="${XDG_CONFIG_HOME:=$HOME/.config}"
8 |
9 | # /etc/X11/xinit/xinitrc.d/*.sh
10 | [ "$DBUS_SESSION_BUS_ADDRESS" ] || dbus-launch --exit-with-session $$
11 | #eval export $(gnome-keyring-daemon --start)
12 |
13 | hw 0; hw \* & # clear hidden windows cache
14 | clipwatch &
15 | xmousepasteblock & # disable middle-click paste
16 | pulseaudio -D
17 | #unclutter -idle 15 & # hide cursor after 15 seconds
18 | synclient TouchpadOff=1 # disable touchpad
19 | { sleep 20; gsync; } &
20 | xrdb "$c/xorg/res" &
21 |
22 | case "$wm" in
23 | bspwm) ;; # already in the config
24 | gnome) export XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 wm=gnome-session;;
25 | kde) wm=startplasma-x11;;
26 | xfce) wm=startxfce4; sxhkd &;;
27 | *) sxhkd & picom & dunst &
28 | esac
29 |
30 | { # keyboard mapping | git.io/kmonad
31 | sleep 3
32 | sudo kmonad ~/opt/dots/opt/keyboard.kbd & #sleep 2; xset r rate 200 60
33 | } &
34 |
35 | screen.sh & # change display layout
36 | sleep 0.3
37 |
38 | { sleep 3; torrent; } &
39 | #{ sleep 3; obs --startreplaybuffer; } &
40 | { sleep 1; firefox -P main; } &
41 | #torrent &
42 | #st -e sudo s-tui &
43 | #st -e re &
44 | #p1 &
45 |
46 | "$wm"
47 |
--------------------------------------------------------------------------------
/etc/xorg/res:
--------------------------------------------------------------------------------
1 | Xft.dpi: 96
2 | Xft.antialias: 1
3 | Xft.autohint: 0
4 | Xft.hinting: 1
5 | Xft.lcdfilter: lcddefault
6 | Xft.hintstyle: hintfull
7 |
8 | !
9 | ! URxvt
10 | !
11 |
12 | !URxvt.letterSpace: -1
13 | URxvt.internalBorder: 30
14 |
15 | ! underline cursor
16 | URxvt.cursorUnderline: 1
17 |
18 | ! apparently helps with speed
19 | URxvt.skipBuiltinGlyphs: true
20 |
21 | ! copypasting
22 | URxvt.keysym.Shift-Control-V: eval:paste_clipboard
23 | URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
24 |
25 | ! ctrl-shift thing
26 | URxvt.iso14755: false
27 | URxvt.iso14755_52: false
28 |
29 | ! mouse
30 | ! consistent selection behavior
31 | URxvt.perl-ext: default,-selection
32 |
33 | ! clickable links
34 | URxvt.perl-ext-common: default,matcher
35 | URxvt.url-launcher: /usr/bin/xdg-open
36 | URxvt.matcher.button: 1
37 |
38 | ! disable the hideous scrollbar
39 | URxvt.scrollBar: false
40 |
41 | ! dont automatically jump to the bottom when new text appears
42 | URxvt.scrollTtyOutput: false
43 | URxvt.scrollWithBuffer: true
44 | URxvt.scrollTtyKeypress: true
45 |
46 | ! dont try to scroll in apps like less
47 | URxvt.secondaryScreen: 1
48 | URxvt.secondaryScroll: 0
49 |
50 | URxvt.geometry: 92x23
51 |
52 | st.termname: st-256color
53 | st.borderpx: 30
54 | st.tabspaces: 4
55 | st.xfps: 60
56 | st.actionfps: 60
57 | st.bellvolume: 0
58 | st.cwscale: 1.0
59 | st.chscale: 1.0
60 | st.blinktimeout: 0.5
61 |
62 | #include "res.col"
63 |
--------------------------------------------------------------------------------
/etc/xorg/res.col:
--------------------------------------------------------------------------------
1 | st.font: Ubuntu Mono:pixelsize=16:style=Medium
2 | URxvt.font: xft:Ubuntu Mono:Medium:pixelsize=16
3 |
4 | *.background: #ffffff
5 | *.foreground: #828791
6 | *.cursorColor: #aaaeb5
7 |
8 | *.color0: #ffffff
9 | *.color8: #aaaeb5
10 |
11 | *.color1: #eb9e9b
12 | *.color9: #eb9e9b
13 |
14 | *.color2: #edc278
15 | *.color10: #edc278
16 |
17 | *.color3: #c4de80
18 | *.color11: #c4de80
19 |
20 | *.color4: #8fc5e6
21 | *.color12: #8fc5e6
22 |
23 | *.color5: #8fc5e6
24 | *.color13: #8fc5e6
25 |
26 | *.color6: #eea8e9
27 | *.color14: #eea8e9
28 |
29 | *.color7: #B1B6BD
30 | *.color15: #828791
31 |
32 | *.color16: #eea8e9
33 | *.color17: #edc278
34 | *.color18: #ffffff
35 |
36 |
37 | tabbed.selbgcolor: #ffffff
38 | tabbed.selfgcolor: #828791
39 | tabbed.normfgcolor: #B1B6BD
40 | tabbed.normbgcolor: #f2f2f2
41 |
--------------------------------------------------------------------------------
/opt/00sleep:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # /usr/lib/systemd/system-sleep/00sleep
3 |
4 | case $1 in
5 | # sleeping
6 | pre) pkill ArchiSteamFarm;; # pkill obs;;
7 |
8 | # waking
9 | post) su d -c 'archi &'
10 | #su d -c 'env -i zsh -c "XAUTHORITY=$HOME/usr/cache/xauth DISPLAY=:0 obs --startreplaybuffer &"'
11 | esac
12 |
--------------------------------------------------------------------------------
/opt/chrome/colours.css:
--------------------------------------------------------------------------------
1 | :root {
2 | /* ---- */
3 | --bg0: #000000;
4 | --bg1: #000000;
5 | --bg2: #050505;
6 | --bg3: #0a0a0a;
7 | --bg4: #0e0e0e;
8 | --button: #bfc1d520;
9 | --black: #434366;
10 | /* ---- */
11 | --fg1: #bfc1d5;
12 | --fg2: #797b8f;
13 | --fg1o: #bfc1d588;
14 | --fg2o: #797b8f99;
15 | --disabled: #696969;
16 | /* ---- */
17 | --accent: #8497cf;
18 | --accento: #8497cf66;
19 | --accent2: #b887cc;
20 | --contrast: #0e0e0e;
21 | /* ---- */
22 | --red: #d26161;
23 | --yellow: #cf9b6a;
24 | --green: #a8b67a;
25 | --cyan: #83b5c2;
26 | --blue: #8497cf;
27 | --purple: #b887cc;
28 | /* ---- */
29 |
30 | --font: "Ubuntu Mono";
31 | --font-size: 12px;
32 | --font-weight: Bold;
33 |
34 | --font2: "Roboto Condensed";
35 | --font2-size: 13px;
36 | --font2-weight: normal;
37 | }
38 |
--------------------------------------------------------------------------------
/opt/chrome/newtab.uc.js:
--------------------------------------------------------------------------------
1 | var {classes:Cc,interfaces:Ci,utils:Cu} = Components;
2 |
3 | /* set new tab page */
4 | try {
5 | Cu.import("resource:///modules/AboutNewTab.jsm");
6 | var newTabURL = "file:///home/mirror/etc/startpage/index.html";
7 | AboutNewTab.newTabURL = newTabURL;
8 | } catch(e){Cu.reportError(e);} // report errors in the Browser Console
9 |
--------------------------------------------------------------------------------
/opt/chrome/tab_scroll.uc.js:
--------------------------------------------------------------------------------
1 | // Switch tabs by scrolling on the tab bar. Also works on the specified extension's sidebar.
2 | (function() {
3 | const EXT_ID = "{0ad88674-2b41-4cfb-99e3-e206c74a0076}";
4 | const wrap = true;
5 | const scrollRight = true;
6 | const sidebarActionId = `${makeWidgetId(EXT_ID)}-sidebar-action`;
7 |
8 | gBrowser.tabContainer.addEventListener("wheel", e => scroll(e), true);
9 | document.getElementById("sidebar").onwheel = e => scroll(e, true);
10 |
11 | function scroll(e, sidebar) {
12 | let broadcaster = document.getElementById(sidebarActionId);
13 | if(sidebar && !broadcaster.hasAttribute("checked")) return;
14 | e.preventDefault();
15 | let dir = (scrollRight ? 1 : -1) * Math.sign(e.deltaY);
16 | gBrowser.tabContainer.advanceSelectedTab(dir, wrap);
17 | }
18 |
19 | function makeWidgetId(id) {
20 | id = id.toLowerCase();
21 | return id.replace(/[^a-z0-9_-]/g, "_");
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/opt/chrome/tabclick.uc.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name Tab Click
3 | // @version 1.0
4 | // @description Double click the active tab to focus the urlbar
5 | // @author https://github.com/6gk
6 | // @license https://creativecommons.org/share-your-work/public-domain/cc0/
7 | // @compatibility Created 2019-07-04. Tested on Firefox 69.0b1
8 | // ==/UserScript==
9 |
10 | var openUrlBar = function(e) {
11 | var urlbar = document.getElementById('urlbar-input');
12 | urlbar.focus();
13 | };
14 |
15 | function tabClick() {
16 | var classname = document.getElementsByClassName("tabbrowser-tab");
17 |
18 | for (var i = 0; i < classname.length; i++) {
19 | classname[i].removeEventListener('dblclick', openUrlBar);
20 | }
21 | document.querySelector(".tabbrowser-tab[selected=\"true\"]").addEventListener('dblclick', openUrlBar);
22 | }
23 |
24 | gBrowser.tabContainer.addEventListener("TabSelect", tabClick);
25 |
26 |
27 |
28 | // add openUrlBar function to the initial tab
29 | document.querySelector(".tabbrowser-tab[selected=\"true\"]").addEventListener('dblclick', openUrlBar);
30 | gBrowser.selectedBrowser.focus();
31 |
--------------------------------------------------------------------------------
/opt/chrome/ucjs.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | loc="/usr/lib/firefox-developer-edition"
4 | [ -d "$loc" ] || loc="/usr/lib/firefox"
5 |
6 | curl -Ls \
7 | https://raw.githubusercontent.com/alice0775/userChrome.js/master/72/userChrome.js \
8 | -o "$HOME/etc/.mozilla/firefox/*/chrome/userChrome.js"
9 |
10 | sudo curl -Ls \
11 | https://raw.githubusercontent.com/alice0775/userChrome.js/master/72/install_folder/defaults/pref/config-prefs.js \
12 | -o "$loc/defaults/pref/config-prefs.js" 2>/dev/null
13 |
14 | sudo curl -Ls \
15 | https://raw.githubusercontent.com/alice0775/userChrome.js/master/72/install_folder/config.js \
16 | -o "$loc/config.js" 2>/dev/null
17 |
--------------------------------------------------------------------------------
/opt/chrome/userChrome-gay.css:
--------------------------------------------------------------------------------
1 | /* Hide tab borders */
2 | /*#navigator-toolbox {
3 | --tabs-border: transparent !important;
4 | --tabs-border-color: transparent !important;
5 | border-bottom: 0px transparent !important;
6 | }
7 |
8 | #urlbar-background, #searchbar,
9 | .tab-background {
10 | border: 0px none transparent !important;
11 | }
12 |
13 | .tabbrowser-tab::after, .tabbrowser-tab::before {
14 | border-left: 0px transparent !important;
15 | }
16 |
17 | .tabbrowser-tabs {
18 | border:none !important;
19 | opacity: 0 !important;
20 | }
21 |
22 | /* Remove border under navbar */
23 | /*#navigator-toolbox::after {
24 | border-bottom: 0px !important;
25 | }
26 | /* Remove border above navbar */
27 | /*#navigator-toolbox::after {
28 | border-top: 0px !important;
29 | }
30 |
31 | /*
32 | RAINBOW
33 | RAINBOW
34 | RAINBOW
35 | RAINBOW
36 | RAINBOW
37 | RAINBOW
38 | */
39 |
40 | :root {
41 | --red: #ffb0b0;
42 | --yellow: #fff7c6;
43 | --green: #cfffd2;
44 | --cyan: #c0ffff;
45 | --blue: #cbd4ff;
46 | --pink: #ffbfef;
47 | --accent: var(--blue);
48 | --1red: #f04141;
49 | --1yellow: #b29d21;
50 | --1green: #30ba39;
51 | --1cyan: #42b4b4;
52 | --1blue: #4665ff;
53 | --1pink: #ff31cb;
54 | }
55 |
56 | @keyframes rainbow {
57 | 0% {
58 | background-position: 0 0;
59 | }
60 | 100% {
61 | background-position: 100% 0;
62 | }
63 | }
64 |
65 | #titlebar {
66 | background: linear-gradient(
67 | to right,
68 | var(--red),
69 | var(--yellow),
70 | var(--green),
71 | var(--cyan),
72 | var(--blue),
73 | var(--pink),
74 | var(--red),
75 | var(--yellow),
76 | var(--green)
77 | );
78 | background-size: 400% 100% !important;
79 | }
80 | */
81 | /* -webkit-background-clip: text !important; */
82 | /* background-clip: text !important; */
83 | /* color: transparent !important; */
84 |
85 | #titlebar:not(:-moz-window-inactive) {
86 | animation: rainbow 3s linear infinite !important;
87 | }
88 |
--------------------------------------------------------------------------------
/opt/chrome/userContent.css:
--------------------------------------------------------------------------------
1 | @import url(colours.css);
2 |
3 | * {
4 | scrollbar-color: var(--fg1) var(--bg1);
5 | scrollbar-width: thin;
6 | }
7 |
8 | @-moz-document url(about:blank) {
9 | body:not(#ublock0-epicker) { background: var(--bg1); }
10 | }
11 |
--------------------------------------------------------------------------------
/opt/comic.css:
--------------------------------------------------------------------------------
1 | * {
2 | font-family: "Comic Sans MS", "Glyphicons Halflings", FontAwesome, "Font Awesome 5 Free", "Font Awesome 5 Pro", "eg-header-icomoon", "controlIcons", MaterialCommunityIcons, 'Membership Icons', "MWF-MDL2" !important;
3 | }
4 |
5 | .DPvwYc,
6 | .material-icons,
7 | .material-icons-extended {
8 | font-family: "Material Icons", "Material Icons Extended" !important;
9 | }
10 | table.tab-size *, /* github */
11 | code, .inline, pre, code *, pre * {
12 | font-family: "Ubuntu Mono" !important;
13 | font-weight: 500;
14 | font-size: 12px;
15 | }
16 |
17 | /* google:tm: */
18 | span.bold {
19 | font-weight: bold !important;
20 | }
21 |
--------------------------------------------------------------------------------
/opt/discord-delete-messages.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name Discord Quick Delete Messages
3 | // @description Adds functionality to delete messages faster by ctrl+right-clicking them.
4 | // @namespace Violentmonkey Scripts
5 | // @grant GM_addStyle
6 | // @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
7 | // @match *://discord.com/*
8 | // ==/UserScript==
9 |
10 | $('body').on('contextmenu', 'div[class*="cozyMessage-"]', function(e) {
11 | if (e.ctrlKey) {
12 | $(this).find("div[aria-label^='More']").trigger("click");
13 | $('#message-actions-delete').trigger("click");
14 | function fun() {
15 | $(".layerContainer-yqaFcK").children().css("display", "none");
16 | $("button[class*='colorRed']").trigger("click");
17 | }
18 | setTimeout(fun, 65);
19 | }
20 | });
21 |
--------------------------------------------------------------------------------
/opt/discord-gay.css:
--------------------------------------------------------------------------------
1 | .theme-light {
2 | --text-normal: #4a4a4a !important;
3 | --text-normal: #d74be1 !important;
4 | --interactive-normal: magenta;
5 | --interactive-hover: magenta;
6 | --interactive-active: magenta;
7 | --interactive-muted: #ffcbff;
8 | --channels-default: #ae77aecf;
9 |
10 | --red: #ff6d6d;
11 | --yellow: #b29d21;
12 | --green: #30ba39;
13 | --cyan: #42b4b4;
14 | --blue: #778eff;
15 | --pink: #ff6efa;
16 |
17 | --1red: #f99;
18 | --1yellow: #ebdd8e;
19 | --1green: #7dee84;
20 | --1cyan: #52d2d2;
21 | --1blue: #aab8ff;
22 | --1pink: #f5a5e1;
23 |
24 | --accent: var(--blue);
25 | --channeltextarea-background: transparent !important;
26 | }
27 |
28 | [class*="repliedTextContent-"] {
29 | color: #cacacab8 !important;
30 | }
31 |
32 | @keyframes rainbow {
33 | 0%{
34 | background-position: 0 0;
35 | }
36 | 100% {
37 | background-position: 100% 0;
38 | }
39 | }
40 | .searchBar-3dMhjb,
41 | #app-mount [id*="chat"] a {
42 | background: linear-gradient(
43 | to right,
44 | var(--1red),
45 | var(--1yellow),
46 | var(--1green),
47 | var(--1cyan),
48 | var(--1blue),
49 | var(--1pink),
50 | var(--1red),
51 | var(--1yellow),
52 | var(--1green),
53 | var(--1cyan)
54 | );
55 | color: #fff;
56 | background-size: 300% 100%;
57 | }
58 |
59 | /*[class*="textArea"] [data-slate-string="true"],*/
60 | [class*="typing-"],
61 | [class*="embed-"] [class*="embedTitle"],
62 | [class*="title-"],
63 | .messageContent-2qWWxC,
64 | blockquote {
65 | background: linear-gradient(
66 | to right,
67 | var(--red),
68 | var(--yellow),
69 | var(--green),
70 | var(--cyan),
71 | var(--blue),
72 | var(--pink),
73 | var(--red),
74 | var(--yellow),
75 | var(--green),
76 | var(--cyan)
77 | );
78 | -webkit-background-clip: text;
79 | background-clip: text;
80 | color: transparent;
81 | background-size: 300% 100%;
82 | }
83 |
84 | .searchBar-3dMhjb:not(:-moz-window-inactive),
85 | #app-mount [id*="chat"] a:not(:-moz-window-inactive),
86 | [class*="typing-"]:not(:-moz-window-inactive),
87 | [class*="embed-"] [class*="embedTitle"]:not(:-moz-window-inactive),
88 | [class*="title-"]:not(:-moz-window-inactive),
89 | .messageContent-2qWWxC:not(:-moz-window-inactive),
90 | blockquote:not(:-moz-window-inactive) {
91 | animation: rainbow 3s linear infinite;
92 | }
93 | code.hljs, code, .hljs * {
94 | color: var(--text-normal) !important;
95 | }
96 |
97 | [class*="roleColor-rz2vM0"]:not([style]),
98 | [class*="username"]:not([style]) {
99 | color: magenta;
100 | }
101 | [class*="icon-"],
102 | .membersGroup-v9BXpm,
103 | [class*="title-"] [class*="icon-"] {
104 | color: magenta !important;
105 | }
106 |
107 | .searchBar-3dMhjb * [data-block="true"],
108 | .searchBar-3dMhjb {
109 | color: white !important;
110 | }
111 |
--------------------------------------------------------------------------------
/opt/discord.css:
--------------------------------------------------------------------------------
1 | @-moz-document regexp("https://discord.com/(?!developers).*") {
2 | /** foot punch, yeah! **/
3 | #user-context-kick > div::before {
4 | content: 'Footpunch';
5 | background-color: inherit;
6 | z-index: 555;
7 | position: absolute;
8 | left: 40px;
9 | }
10 | #user-context-kick > div {
11 | max-width: min-content !important;
12 | white-space: nowrap;
13 | overflow: hidden;
14 | text-indent: -31px;
15 | margin-left: 72px;
16 | }
17 |
18 | .theme-light {
19 | --text-normal: #444 !important
20 | }
21 |
22 |
23 | /** change message replies **/
24 | [class*="repliedMessage-"]::before { --spine-width: 0; }
25 | [class*="repliedMessage-"] {
26 | left: -25px !important;
27 | --background-tertiary: transparent !important;
28 | }
29 | [class*="replyBadge-"] > [class*="replyIcon-"] {
30 | transform: scaleX(-1);
31 | opacity: 0.6;
32 | margin-left: -14px;
33 | }
34 |
35 | [class*="repliedMessage-"] > [class*="repliedTextPreview-"] {
36 | opacity: 0.9;
37 | }
38 |
39 |
40 |
41 | /** hide 'blocked messages' notice **/
42 | /* using the . selector will match items which have additional classes
43 | * this only applies if it's the only class an element has */
44 | [class="groupStart-23k01U"] > div,
45 | [class="groupStart-23k01U"] {
46 | /* display: none; makes it jumpy when the blocked person makes
47 | * the top unread and you open the channel */
48 | margin: 0 !important;
49 | max-height: 0 !important;
50 | opacity: 0;
51 | }
52 |
53 |
54 | /** remove junk buttons **/
55 | [class*="unreadMentionsBar-"], /* no bloody idea */
56 | .content-3YMskv > .wrapper-2jXpOf, /* "Active Threads" mod button */
57 | #channels .content-3YMskv > div[style*="height:"]:nth-of-type(2), /* "Active Threads" mod button */
58 | .channelTextArea-rNsIhG > .container-JHR0NT, /* annoying sticker popup */
59 | .selected-3LIHYU:not(:hover) .children-3rEycc, /* cog on focused channel */
60 | .containerDefault-3tr_sE:not(:hover) .children-L002ao > button[aria-label="Create Channel"],
61 | .toolbar-1t6TWx > div[aria-label^="Mute channel"], /* mute channel button */
62 | .toolbar-1t6TWx > a[href*="support.discord.com"], /* help button */
63 | .buttons-3JBrkn > *:not(:nth-child(4)) /* nitro gift, gifs, stickers */
64 | {
65 | display: none !important;
66 | }
67 | [aria-label="Servers sidebar"] .none-2Eo-qx > .listItem-GuPuDH:nth-of-type(6), /* "download apps" button */
68 | [aria-label="Servers sidebar"] .none-2Eo-qx > .listItem-GuPuDH:nth-of-type(7) /* "download apps" button */
69 | {
70 | display: none !important;
71 | }
72 | /* attach file button */
73 | [class*="attachWrapper-"] * {
74 | max-width: 0 !important;
75 | }
76 | [class*="attachWrapper-"] {
77 | width: 9px !important;
78 | position: absolute;
79 | margin-left: -17px;
80 | }
81 |
82 | /** move search to the right **/
83 | .search-36MZv- { order: 2 !important; }
84 |
85 |
86 | /** hide ping indicator in bottom server **/
87 | /*.wrapper-3Njo_c:last-of-type .lowerBadge-29hYVK {
88 | display: none !important;
89 | }
90 | .wrapper-3Njo_c:last-of-type svg > foreignObject[mask] {
91 | border-radius: 16px;
92 | mask: none !important;
93 | }
94 | /*mask: url(#e39d00ea-e646-4d47-a368-2bca44fd2d03) !important;*/
95 |
96 |
97 | /** move reaction popup out of the way & make it bigger **/
98 | [id*="popout_"] [class*="emojiPicker-"] { height: 600px !important; }
99 | [class*="layerContainer-"] > [id*="popout"] { top: 110px !important; }
100 |
101 |
102 | /** role backgrounds instead of outlines **/
103 | /* implimented by default on 2021-08-04/05 */
104 | [class*="roleRemoveIcon-"] { position: absolute; }
105 | [class*="role-"] {
106 | border: none;
107 | overflow: hidden;
108 | z-index: 0;
109 | background-color: transparent !important;
110 | }
111 | [class*="role-"] > [class*="roleCircle-"]::after {
112 | background-color: inherit;
113 | pointer-events: none;
114 | display: block;
115 | content: '';
116 | opacity: 0.2;
117 | z-index: -1;
118 | right: -100px;
119 | min-width: 230px;
120 | height: 69px;
121 | position: relative;
122 | }
123 |
124 |
125 | /** code block stuff **/
126 | /* display language in top-right of code blocks */
127 | code.hljs:not(.inline)::before {
128 | content: attr(class);
129 | float: right;
130 | max-width: 5.3rem;
131 | margin-top: -8.6rem;
132 | line-height: 1.6rem;
133 | text-align: right;
134 | font-size: 0.8rem;
135 | opacity: 0.6;
136 | }
137 | /* slightly cleaner */
138 | code.hljs:not(.inline) {
139 | max-width: 560px;
140 | padding: 12px;
141 | border: none;
142 | }
143 | /* remove ugly syntax highlighting */
144 | pre > code,
145 | pre > code * {
146 | color: var(--header-secondary) !important;
147 | font-weight: normal !important;
148 | font-size: 0.77rem !important;
149 | }
150 | /* only highlight comments */
151 | pre > code .hljs-comment {
152 | color: var(--text-muted) !important;
153 | }
154 |
155 |
156 | /** more compact **/
157 | /* limit width of messages area to 1000px */
158 | [class*="standardSidebarView"],
159 | [class*="jumpToPresentBar-"],
160 | [class*="typing-"],
161 | [class*="channelTextArea"],
162 | [class^="messagesWrapper-"] > * > [class*="scroller"],
163 | [class*="autocomplete-"] {
164 | width: 100%;
165 | max-width: 1000px;
166 | margin-left: auto;
167 | margin-right: auto;
168 | }
169 | /* smaller sidebar */
170 | .sidebar-2K8pFh { width: 180px !important; }
171 |
172 |
173 | /** less contrast **/
174 | /* default usernames & text colour */
175 | .theme-light [class*="chatContent-"] [class*="username-"]:not([style]),
176 | .theme-light {
177 | /*color: #222 !important;*/
178 | /*--text-normal: #4a4a4a !important;*/
179 | /* make shadow on the top bar less harsh */
180 | --elevation-low:
181 | 0 0px 0 rgba(6,6,7,0.1),
182 | 0 1.5px 0 rgba(6,6,7,0.025),
183 | 0 2px 0 rgba(6,6,7,0.025);
184 | }
185 |
186 |
187 | /** fix copypasting on firefox **/
188 | [class*="systemMessage"] span /* parent element of time */,
189 | [class*="systemMessage"] i /* invisible separator around time */,
190 | [id*="chat-messages-"] [class*="header-"] i /* [time] / user: */ {
191 | font-size: 0;
192 | position: inherit;
193 | display: inline-block;
194 | }
195 | [class*="systemMessage"] [class*="content-"] /* where the text bit is - next to icon */ {
196 | position: inherit;
197 | display: inline;
198 | }
199 |
200 | /** always show time on messages **/
201 | [class*="timestampVisibleOnHover"] { opacity: 1; }
202 |
203 |
204 |
205 | [class*="username-"][style="color: rgb(255, 255, 191);"] {
206 | color: #ff7270 !important;
207 | }
208 |
209 |
210 |
211 | /** remove a*****s emotes **/
212 | /*img[src*="/dumpy"],
213 | img.emoji[alt*="AMOGUS"],
214 | img.emoji[alt*="Twerk"],
215 | img.emoji[alt*="amongus"],
216 | img.emoji[alt*="amogus"] {
217 | object-position: -999in -999in;
218 | background-size: 100%;
219 | background-image: url('data:image/svg+xml;base64, PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZm9udC13ZWlnaHQ9IjcwMCIgZm9udC1mYW1pbHk9IidDb21pYyBTYW5zIE1TJyIgbGV0dGVyLXNwYWNpbmc9IjAiIHdvcmQtc3BhY2luZz0iMCIgc3Ryb2tlLXdpZHRoPSIwIiBmaWxsPSIjZmYxODE4Ij48dGV4dCB5PSIyLjciIGZvbnQtc2l6ZT0iMy44OSIgdHJhbnNmb3JtPSJtYXRyaXgoMy44NjgzMiAwIDAgMy44NjgzMiAuOTggLS44OSkiPjx0c3BhbiB4PSIwIiB5PSI3LjU5IiBzdHJva2Utd2lkdGg9Ii4wMiI+ZHVtPC90c3Bhbj48L3RleHQ+PHRleHQgeD0iMi4wMiIgeT0iNC4wNiIgZm9udC1zaXplPSI0LjMxIiB0cmFuc2Zvcm09Im1hdHJpeCgzLjg2ODMyIDAgMCAzLjg2ODMyIC45OCAtLjg5KSI+PHRzcGFuIHg9IjIuMDIiIHk9IjQuMDYiIHN0cm9rZS13aWR0aD0iLjAyIj5hbTwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHg9Ii4wNyIgeT0iNC4wNiIgZm9udC1zaXplPSI0LjMxIiB0cmFuc2Zvcm09Im1hdHJpeCgzLjg2ODMyIDAgMCAzLjg2ODMyIC45OCAtLjg5KSI+PHRzcGFuIHg9Ii4wNyIgeT0iNC4wNiIgc3Ryb2tlLXdpZHRoPSIuMDIiPmk8L3RzcGFuPjwvdGV4dD48L2c+PC9zdmc+Cg==');
220 | }*/
221 | }
222 |
--------------------------------------------------------------------------------
/opt/font.css:
--------------------------------------------------------------------------------
1 | * {
2 | font-family:
3 | "Sans Serif",
4 | "Batch" !important;
5 | }
6 |
7 |
8 | .Box-body.data *, /* Github */
9 | /*[class*="code"] *,
10 | [class*="Code"] *,*/
11 | [id*="code"] *,
12 | [id*="Code"] *,
13 | code *,
14 | code {
15 | font-family: Monospace !important;
16 | font-weight: bold !important;
17 | }
18 |
--------------------------------------------------------------------------------
/opt/gaycord.css:
--------------------------------------------------------------------------------
1 | Moved to https://github.com/6gk/gkay
2 |
--------------------------------------------------------------------------------
/opt/gayfox.css:
--------------------------------------------------------------------------------
1 | Moved to https://github.com/6gk/gkay
2 |
--------------------------------------------------------------------------------
/opt/gmail.css:
--------------------------------------------------------------------------------
1 | * {
2 | font-family: var(--font2);
3 | font-size: var(--font2-size) !important;
4 | outline: none;
5 | }
6 |
7 | #guser a,
8 | #guser nobr a,
9 | * {
10 | color: var(--fg1) !important;
11 | text-decoration: none !important;
12 | scrollbar-width: none;
13 | }
14 |
15 | select {
16 | -moz-appearance: none;
17 | }
18 |
19 | tr,
20 | body,
21 | td {
22 | background-color: var(--bg1);
23 | }
24 |
25 | span font + font {
26 | color: var(--fg2);
27 | opacity: 0.8;
28 | }
29 |
30 | #ac-list .selected b,
31 | a:link,
32 | a:visited {
33 | color: var(--accent) !important;
34 | }
35 |
36 | .gbh,
37 | #gbar,
38 | #guser ~ table > tbody > tr > td[rowspan="3"],
39 | img[src$='star_on_sm_2.gif'] {
40 | display: none;
41 | }
42 |
43 | #guser ~ table > tbody > tr + tr td {
44 | padding-left: 14px;
45 | }
46 |
47 | #ac-list .selected b,
48 | #ac-list .selected {
49 | background-color: transparent !important;
50 | padding: 0 !important;
51 | margin: 0 !important;
52 | border: 0;
53 | }
54 |
55 | #ac-list,
56 | #ac-list *,
57 | input {
58 | background-color: var(--bg3);
59 | border: 0;
60 | padding: 5px 8px;
61 | }
62 |
63 | textarea,
64 | select,
65 | input[type=submit] {
66 | background-color: transparent;
67 | border: 2px solid transparent;
68 | padding: 0px 4px;
69 | border-radius: 2px;
70 | color: var(--fg2) !important;
71 | font-size: 12px;
72 | }
73 |
74 | body > table:last-of-type td[width="5"] ~ td td {
75 | border-bottom: none !important;
76 | }
77 |
78 | table.th > tbody > tr > td {
79 | padding: 7px 4px;
80 | }
81 |
82 |
83 | table.th > tbody > tr > td:first-of-type {
84 | position: absolute;
85 | background-color: transparent;
86 | width: calc(25% - 50px);
87 | min-width: 140px;
88 | height: 100%;
89 | max-height: 32px;
90 | margin: 0;
91 | padding: 0;
92 | }
93 |
94 | table.th > tbody > tr > td:first-of-type + td {
95 | z-index: 999 !important;
96 | position: relative !important;
97 | background: transparent;
98 | pointer-events: none;
99 | }
100 |
101 | table.th > tbody > tr > td:first-of-type input:checked {
102 | border-radius: 0 !important;
103 | background: var(--bg4) !important;
104 | z-index: 90 !important;
105 | opacity: 1;
106 | -moz-appearance: none;
107 | -webkit-appearance: none;
108 | }
109 |
110 | table.th > tbody > tr > td:first-of-type input {
111 | width: 100%;
112 | height: 10%;
113 | min-height: 100%;
114 | max-height: unset;
115 | margin: 0;
116 | opacity: 0;
117 | }
118 |
119 | #guser {
120 | display: flex;
121 | flex-wrap: wrap;
122 | float: right;
123 | }
124 |
125 | #butt::after {
126 | content: ' | ';
127 | }
128 |
129 | #butt {
130 | order: -1;
131 | font-size: 11.5px;
132 | background-color: transparent;
133 | border: 0;
134 | padding-right: 4px;
135 | }
136 |
137 | /* footers */
138 | [value="Go"] + .searchPageLink,
139 | table.th + table,
140 | table.ft {
141 | display: none;
142 | }
143 |
--------------------------------------------------------------------------------
/opt/gmail.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name select all/no gmails on the classic view
3 | // @namespace Violentmonkey Scripts
4 | // @match https://mail.google.com/*
5 | // @grant none
6 | // @version 1.0
7 | // @author -
8 | // @description 19/09/2020, 00:18:56
9 | // ==/UserScript==
10 |
11 | (function() {
12 | window.addEventListener("load", () => {
13 | addButton("select");
14 | });
15 |
16 | function addButton(text, onclick, cssObj) {
17 | let button = document.createElement("button"),
18 | btnStyle = button.style;
19 | button.setAttribute("id", "butt");
20 | document.getElementById("guser").appendChild(button);
21 | button.innerHTML = text;
22 | // Settin function for button when it is clicked.
23 | button.onclick = selectReadFn;
24 | Object.keys(cssObj).forEach(key => (btnStyle[key] = cssObj[key]));
25 | return button;
26 | }
27 |
28 | function selectReadFn() {
29 | // Just to show button is pressed
30 | if (document.getElementById("butt").hasAttribute("clicked")) {
31 | document.querySelectorAll('input[name=t]').forEach(t=>t.checked = false);
32 | document.getElementById("butt").removeAttribute("clicked");
33 | } else {
34 | document.querySelectorAll('input[name=t]').forEach(t=>t.checked = true);
35 | document.getElementById("butt").setAttribute("clicked", "true");
36 | }
37 | }
38 | })();
39 |
--------------------------------------------------------------------------------
/opt/greenscale:
--------------------------------------------------------------------------------
1 | uniform float opacity;
2 | uniform bool invert_color;
3 | uniform sampler2D tex;
4 |
5 | void
6 | main()
7 | {
8 | vec4 c;
9 | float y;
10 |
11 | c = texture2D(tex, gl_TexCoord[0].xy);
12 | y = dot(c.rgb, vec3(0.2, 0.8, 0.2));
13 | gl_FragColor = vec4(0, y, 0, 1.0);
14 | }
15 |
--------------------------------------------------------------------------------
/opt/greyscale:
--------------------------------------------------------------------------------
1 | uniform float opacity;
2 | uniform bool invert_color;
3 | uniform sampler2D tex;
4 |
5 | void
6 | main()
7 | {
8 | vec4 c;
9 | float y;
10 |
11 | c = texture2D(tex, gl_TexCoord[0].xy);
12 | y = dot(c.rgb, vec3(0.299, 0.587, 0.114));
13 | gl_FragColor = vec4(y, y, y, 1.0);
14 | }
15 |
--------------------------------------------------------------------------------
/opt/keyboard.kbd:
--------------------------------------------------------------------------------
1 | ;; my kmonad config (github.com/david-janssen/kmonad)
2 | ;; made with a lot of help from elkowar (github.com/elkowar)
3 | (defcfg
4 | ;;; PS/2
5 | ;; input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
6 | ;;; usb (default rollover)
7 | input (device-file "/dev/input/by-id/usb-HID_Keyboard_HID_Keyboard-event-kbd")
8 | ;;; usb (nkey rollover)
9 | ;; input (device-file "/dev/input/by-id/usb-HID_Keyboard_HID_Keyboard-if01-event-kbd")
10 |
11 | output (uinput-sink "kmonad-input" "sleep 2; setxkbmap -option compose:ralt; xset r rate 200 60; xset -r 192; xset -r 127")
12 |
13 | cmp-seq ralt
14 | cmp-seq-delay 5
15 | fallthrough true
16 | allow-cmd true
17 | )
18 |
19 |
20 | (defsrc
21 | esc
22 | grv 1 2 3 4 5 6 7 8 9 0 - = bspc
23 | tab q w e r t y u i o p [ ] \
24 | caps a s d f g h j k l ; ' ret
25 | lsft z x c v b n m , . / rsft up
26 | lctl lmet lalt spc ralt rmet cmp rctl left down right
27 | )
28 |
29 |
30 |
31 | (defalias
32 | ral (tap-hold-next 200 bspc (layer-toggle awesomealt))
33 | ltc (tap-hold-next 180 bspc (layer-toggle coolcaps))
34 | up (cmd-button "DISPLAY=:0 xdotool mousemove_relative -- 0 -305")
35 | ri (cmd-button "DISPLAY=:0 xdotool mousemove_relative -- 305 0 ")
36 | do (cmd-button "DISPLAY=:0 xdotool mousemove_relative -- 0 305")
37 | le (cmd-button "DISPLAY=:0 xdotool mousemove_relative -- -305 0 ")
38 | cl (cmd-button "DISPLAY=:0 xdotool click 1")
39 | cl2 (cmd-button "DISPLAY=:0 xdotool click 3")
40 | )
41 |
42 | (deflayer base
43 | grv
44 | esc _ _ _ _ _ _ _ _ _ _ _ _ _
45 | _ _ _ _ _ _ _ _ _ _ _ _ _ _
46 | @ltc _ _ _ _ _ _ _ _ _ _ _ _
47 | _ _ _ _ _ _ _ _ _ _ _ _ _
48 | _ _ _ _ @ral _ _ _ _ _ _
49 | )
50 |
51 | (deflayer awesomealt
52 | _
53 | _ _ _ _ _ _ _ _ _ _ _ _ _ _
54 | _ _ _ pgup met alt _ esc kp8 @cl kp+ _ _ _
55 | _ _ _ pgdn sft ctl left kp4 kp2 kp6 kp- _ _
56 | _ _ _ _ home end ret @cl2 _ _ _ _ A-up
57 | _ _ _ ret _ _ _ _ A-left A-down A-right
58 | )
59 |
60 | ;; bspc pause @up C-e _ C-t _ _ _ _ _ _ _ _
61 | ;; _ @le @do @ri _ pgup home _ _ C-l _ _ _
62 | ;;bspc pause up C-e _ C-t _ _ _ _ _ _ _ _
63 | ;;bspc @le up @ri @cl C-t _ _ _ _ _ _ _ _
64 |
65 |
66 | ;;bspc @le up @ri @cl C-t _ _ _ _ _ _ _ _
67 |
68 | (deflayer coolcaps
69 | _
70 | grv F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 _
71 | _ pause up _ _ C-t _ _ _ _ _ _ _ _
72 | _ left down right l pgup _ _ _ C-l _ _ C-ret
73 | _ rctl del C-c C-v pgdn end _ _ _ _ caps _
74 | _ _ _ ret _ _ _ _ _ _ _
75 | )
76 |
--------------------------------------------------------------------------------
/opt/kmirror.kbd:
--------------------------------------------------------------------------------
1 | ;; my kmonad config (github.com/david-janssen/kmonad)
2 | ;; made with a lot of help from elkowar (github.com/elkowar)
3 | (defcfg
4 | ;;; PS/2
5 | ;; input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
6 | ;;; usb (default rollover)
7 | input (device-file "/dev/input/by-id/usb-HID_Keyboard_HID_Keyboard-event-kbd")
8 |
9 | output (uinput-sink "kmonad-input")
10 |
11 | fallthrough true
12 | allow-cmd false
13 | )
14 |
15 |
16 | (defsrc
17 | grv 1 2 3 4 5 6 7 8 9 0 - = bspc
18 | tab q w e r t y u i o p [ ] \
19 | caps a s d f g h j k l ; ' ret
20 | lsft z x c v b n m , . / rsft
21 | lctl lmet lalt spc ralt rmet cmp rctl esc
22 | )
23 |
24 |
25 |
26 | (defalias
27 | ltm (layer-toggle merrymod)
28 | )
29 |
30 | (deflayer base
31 | esc _ _ _ _ _ _ _ _ _ _ _ _ _
32 | _ _ _ _ _ _ _ _ _ _ _ _ _ _
33 | _ _ _ _ _ _ _ _ _ _ _ _ _
34 | _ _ _ _ _ _ _ _ _ _ _ _
35 | _ _ _ _ _ _ _ _ grv
36 | )
37 |
38 | (deflayer superspace
39 | @bas 0 9 8 7 6 5 4 3 2 1 _ _ _
40 | bspc p o i u y t r e w q _ _ _
41 | ret l k j h g f d s a _ _ _
42 | _ m n b v c x z _ _ _ _
43 | _ @ltm bspc ret _ _ _ _ _
44 | )
45 |
46 | (deflayer merrymod
47 | P0 P0 - = P0 P0 P0 P0 P0 P0 P0 P0 P0 P0
48 | P0 [ ] \ up P0 P0 P0 P0 P0 P0 P0 P0 P0
49 | P0 ; ' left down right P0 P0 P0 P0 P0 P0 P0
50 | lctl , . / P0 P0 P0 P0 P0 P0 P0 P0
51 | lsft P0 lalt P0 P0 P0 P0 P0 _
52 | )
53 |
--------------------------------------------------------------------------------
/opt/redscale:
--------------------------------------------------------------------------------
1 | uniform float opacity;
2 | uniform bool invert_color;
3 | uniform sampler2D tex;
4 |
5 | void
6 | main()
7 | {
8 | vec4 c;
9 | float y;
10 |
11 | c = texture2D(tex, gl_TexCoord[0].xy);
12 | y = dot(c.rgb, vec3(0.1, 1.0, 0.2));
13 | gl_FragColor = vec4(y, 0, 0, 1.0);
14 | }
15 |
--------------------------------------------------------------------------------
/opt/screen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | xrandr --output DVI-D-0 --off
4 |
5 | xcalib -c
6 | xcalib -v -red 1 4.3 100 -green 1 4.3 97 -blue 1 4.5 96 -alter
7 |
8 | # X is weird
9 | xrandr --output DVI-D-0 --mode 1440x900 --pos 0x0 --rotate normal --output HDMI-0 --primary --mode 1920x1080 --pos 1440x0 --rotate normal --output DP-0 --off --output DP-1 --off
10 |
11 | redshift -o -l 0:0 -m randr:crtc=1 -P -t 7000:7000 -g 0.9:1:1.0 -b 0.65
12 |
--------------------------------------------------------------------------------
/opt/svg.svg:
--------------------------------------------------------------------------------
1 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/opt/termtime:
--------------------------------------------------------------------------------
1 | while :;do
2 | read -rt "0"
3 | time=$(date +'%R')
4 | printf '\033[7%b' "\033[8\033[s\033[0;9999H\033[${#time}D${time}\033[u"
5 | done &
6 |
--------------------------------------------------------------------------------
/opt/twitter.css:
--------------------------------------------------------------------------------
1 | .r-pm9dpa, /* popup */
2 | .r-1w6e6rj, /* home tweet box thing */
3 | .r-14lw9ot, /*main tweet line */
4 | .r-e84r5y, /* a separator */
5 | .r-1u4rsef, /* right sidebar */
6 | html, body
7 | {
8 | background-color: var(--bg1) !important;
9 | }
10 |
11 | * {
12 | border-color: transparent !important;
13 | }
14 |
15 | textarea,
16 | svg,
17 | span {
18 | color: var(--fg1) !important;
19 | }
20 | .r-1re7ezh,
21 | ::placeholder,
22 | input {
23 | color: var(--fg2) !important;
24 | }
25 |
26 | .r-1q3imqu { /* tweet button hover */
27 | background-color: var(--bg4) !important;
28 | }
29 |
30 | .r-urgr8i /* tweet button */ {
31 | background-color: var(--bg3) !important;
32 | }
33 |
34 |
35 | .r-m5arl1 { /* reply line */
36 | border-color: var(--fg1) !important;
37 | background-color: var(--fg1) !important;
38 | }
39 |
40 | .r-6t5ypu.r-vrwoeq span,
41 | .r-6t5ypu.r-vrwoeq { /* polls/video timestamp */
42 | background-color: var(--accent) !important;
43 | color: var(--contrast) !important;
44 | }
45 |
46 | .r-rjfia .r-hkyrab span /* polls */ {
47 | color: var(--contrast) !important;
48 | text-shadow:
49 | -1px -1px 0px var(--accent),
50 | 1px -1px 0px var(--accent),
51 | -1px 1px 0px var(--accent),
52 | 1px 1px 0px var(--accent);
53 | }
54 |
--------------------------------------------------------------------------------
/opt/usb-insert:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | v=$(who)
3 | user=${v%% *}
4 | uid=$(id -u "$user")
5 |
6 | out=$(printf "%s\n%s\n" "$ID_VENDOR" "$ID_MODEL" | tr '_' ' ')
7 |
8 | export DISPLAY="${display:-:0}" XDG_RUNTIME_DIR=/run/user/"$uid" \
9 | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$uid"/bus \
10 |
11 | sudo -Eu "$user" /usr/bin/notify-send "New device detected" "$out"
12 | sudo -Eu "$user" /usr/bin/paplay /usr/local/sounds/usb-insert.wav
13 |
--------------------------------------------------------------------------------
/opt/usb-insert.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/opt/usb-insert.wav
--------------------------------------------------------------------------------
/opt/usb-remove:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | v=$(who)
3 | user=${v%% *}
4 | uid=$(id -u "$user")
5 |
6 | export DISPLAY="${display:-:0}" XDG_RUNTIME_DIR=/run/user/"$uid" \
7 | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$uid"/bus \
8 |
9 | sudo -Eu "$user" /usr/bin/notify-send "Device removed"
10 | sudo -Eu "$user" /usr/bin/paplay /usr/local/sounds/usb-remove.wav
11 |
--------------------------------------------------------------------------------
/opt/usb-remove.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/opt/usb-remove.wav
--------------------------------------------------------------------------------
/opt/usb.rules:
--------------------------------------------------------------------------------
1 | ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", RUN+="/usr/local/bin/usb-insert"
2 | ACTION=="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", RUN+="/usr/local/bin/usb-remove"
3 |
4 |
--------------------------------------------------------------------------------
/opt/windows-prompt:
--------------------------------------------------------------------------------
1 | _prompt() {
2 | a=${PWD#$HOME}/ a=${a//\/\//\/} a=${a//\//\\\\}
3 | ## C:\> == home
4 | [[ "$PWD" =~ $HOME.* ]] && PS1="C:$a> " || PS1="C:\\System32$a> "
5 |
6 | ## C:\Users\user\> == home
7 | # [[ "$PWD" =~ $HOME.* ]] && PS1="C:\\\\Users\\\\$USER$a> " || PS1="C:\\System32$a> "
8 | }
9 |
10 | case $(ps -o comm= -p $$) in
11 | bash) PROMPT_COMMAND=_prompt;;
12 | zsh) setopt prompt_subst; PS1='$(_prompt; echo "$PS1")'
13 | esac
14 |
--------------------------------------------------------------------------------
/opt/youtube.css:
--------------------------------------------------------------------------------
1 | * {
2 | --yt-spec-brand-background-solid: var(--bg1) !important;
3 | --yt-dark-surface-100: var(--bg1) !important;
4 | --yt-spec-brand-background-primary: var(--bg1) !important;
5 | --ytd-moderation-panel-background: var(--bg1) !important;
6 | --yt-dark-surface-300: var(--bg1) !important;
7 | --yt-spec-general-background-a: var(--bg1) !important;
8 |
9 | --yt-spec-call-to-action: var(--accent) !important;
10 |
11 | --yt-spec-icon-inactive: var(--fg2) !important;
12 | --yt-spec-icon-disabled: var(--black) !important;
13 | --iron-icon-fill-color: var(--fg2) !important;
14 | --yt-spec-text-primary: var(--fg1) !important;
15 | --yt-spec-brand-icon-active: var(--fg1) !important;
16 | --yt-spec-text-secondary: var(--fg2) !important;
17 | --ytd-metadata-line-color: var(--fg2) !important;
18 | --yt-endpoint-visited-color: var(--fg2) !important;
19 | --yt-spec-brand-icon-inactive: var(--fg2) !important;
20 | }
21 |
22 |
23 | [aria-label="Unlike"] svg,
24 | [aria-label*="like this"][aria-pressed="true"] svg path {
25 | fill: var(--accent) !important;
26 | }
27 |
28 | #youtube-paths > * {
29 | fill: var(--fg1) !important;
30 | }
31 |
32 | .ytd-topbar-logo-renderer > path {
33 | fill: var(--accent) !important;
34 | }
35 |
36 | .ytd-topbar-logo-renderer > polygon {
37 | fill: var(--contrast)
38 | }
39 |
--------------------------------------------------------------------------------
/usr/applications/nvim.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Version=1.1
3 | Type=Application
4 | Name=NeoVim
5 | GenericName=nvim
6 | Comment=A small descriptive blurb about this application.
7 | Icon=nvim
8 | Exec=st -e zsh -c 'source ~/etc/zsh/.zshrc; nvim %F'
9 | Actions=
10 | MimeType=text;text/plain;text/html;text/css;text/shell;text/all;
11 | Categories=Utility;
12 |
--------------------------------------------------------------------------------
/usr/applications/torrent.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Type=Application
3 | Name=Torrent
4 | #Exec=transadd %U
5 | Exec=qbittorrent %U
6 | MimeType=application/x-bittorrent;x-scheme-handler/magnet;
7 |
--------------------------------------------------------------------------------
/usr/fonts/FiraMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/fonts/FiraMono-Bold.ttf
--------------------------------------------------------------------------------
/usr/fonts/FiraMono-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/fonts/FiraMono-Medium.ttf
--------------------------------------------------------------------------------
/usr/fonts/README.md:
--------------------------------------------------------------------------------
1 | I have made subtle changes to the fonts in this dir, with the exception of
2 | font.bdf, which I made myself.
3 |
4 | ## Fira Mono
5 |
6 | License: Open Font License
7 |
8 | Changes: Make `+` and `*` more distinct, slightly bolder
9 |
10 | ## Roboto Mono
11 |
12 | License: Apache License, Version 2.0
13 |
14 | Changes: Slightly bolder and cleaner at 10px on a 96dpi screen
15 |
--------------------------------------------------------------------------------
/usr/fonts/RobotoMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/fonts/RobotoMono-Bold.ttf
--------------------------------------------------------------------------------
/usr/fonts/UbuntuMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/fonts/UbuntuMono-Bold.ttf
--------------------------------------------------------------------------------
/usr/icons/cursor/index.theme:
--------------------------------------------------------------------------------
1 | [Icon Theme]
2 | Name=X11 Default Black
3 | Comment=Little bit edited default X11 cursors in black
4 | Example=hand1
5 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/X_cursor.in:
--------------------------------------------------------------------------------
1 | 32 9 9 X_cursor.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/X_cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/X_cursor.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/based_arrow_down.in:
--------------------------------------------------------------------------------
1 | 32 12 9 based_arrow_down.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/based_arrow_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/based_arrow_down.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/based_arrow_up.in:
--------------------------------------------------------------------------------
1 | 32 12 9 based_arrow_up.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/based_arrow_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/based_arrow_up.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball.xcf
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball1.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball2.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball3.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball4.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball5.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball6.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball7.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/beachball8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/beachball8.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/bottom_left_corner.in:
--------------------------------------------------------------------------------
1 | 32 11 11 bottom_left_corner.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/bottom_left_corner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/bottom_left_corner.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/bottom_right_corner.in:
--------------------------------------------------------------------------------
1 | 32 11 11 bottom_right_corner.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/bottom_right_corner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/bottom_right_corner.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/circle.in:
--------------------------------------------------------------------------------
1 | 32 5 5 circle.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/circle.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/copy.in:
--------------------------------------------------------------------------------
1 | 32 5 5 copy.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/copy.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/crossed_circle.in:
--------------------------------------------------------------------------------
1 | 24 10 10 crossed_circle.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/crossed_circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/crossed_circle.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/fleur.in:
--------------------------------------------------------------------------------
1 | 32 11 10 fleur.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/fleur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/fleur.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/hand1.in:
--------------------------------------------------------------------------------
1 | 32 8 4 hand1.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/hand1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/hand1.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/hand1.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/hand1.xcf
--------------------------------------------------------------------------------
/usr/icons/cursor/source/left_ptr.in:
--------------------------------------------------------------------------------
1 | 32 5 5 left_ptr.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/left_ptr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/left_ptr.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/beachball1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/beachball1.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/beachball2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/beachball2.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/beachball3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/beachball3.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/beachball4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/beachball4.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/beachball5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/beachball5.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/beachball6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/beachball6.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/watch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/loading/watch
--------------------------------------------------------------------------------
/usr/icons/cursor/source/loading/watch.in:
--------------------------------------------------------------------------------
1 | 32 11 11 beachball1.png 25
2 | 32 11 11 beachball2.png 25
3 | 32 11 11 beachball3.png 25
4 | 32 11 11 beachball4.png 25
5 | 32 11 11 beachball5.png 25
6 | 32 11 11 beachball6.png 25
7 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/make.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | if ! [ -x "$(command -v xcursorgen)" ]; then
3 | echo 'xcursorgen is not installed (part of \e[4;32mx11-apps\e[0m package in Devuan)'
4 | return
5 | fi
6 | [ -d "../cursors" ] && rm -rf ../cursors ; mkdir ../cursors
7 | xcursorgen hand1.in ../cursors/hand1
8 | xcursorgen hand1.in ../cursors/hand2
9 | xcursorgen left_ptr.in ../cursors/left_ptr
10 | xcursorgen xterm.in ../cursors/xterm
11 | xcursorgen crossed_circle.in ../cursors/crossed_circle
12 | xcursorgen right_ptr.in ../cursors/right_ptr
13 | xcursorgen copy.in ../cursors/copy
14 | xcursorgen circle.in ../cursors/circle
15 | xcursorgen sb_h_double_arrow.in ../cursors/sb_h_double_arrow
16 | xcursorgen sb_v_double_arrow.in ../cursors/sb_v_double_arrow
17 | xcursorgen top_left_corner.in ../cursors/top_left_corner
18 | xcursorgen top_right_corner.in ../cursors/top_right_corner
19 | xcursorgen bottom_left_corner.in ../cursors/bottom_left_corner
20 | xcursorgen bottom_right_corner.in ../cursors/bottom_right_corner
21 | xcursorgen watch.in ../cursors/watch
22 | xcursorgen sb_left_arrow.in ../cursors/sb_left_arrow
23 | xcursorgen sb_right_arrow.in ../cursors/sb_right_arrow
24 | xcursorgen sb_up_arrow.in ../cursors/sb_up_arrow
25 | xcursorgen sb_down_arrow.in ../cursors/sb_down_arrow
26 | xcursorgen based_arrow_down.in ../cursors/based_arrow_down
27 | xcursorgen based_arrow_up.in ../cursors/based_arrow_up
28 | xcursorgen fleur.in ../cursors/fleur
29 | xcursorgen sizing.in ../cursors/sizing
30 | xcursorgen question_arrow.in ../cursors/question_arrow
31 | xcursorgen X_cursor.in ../cursors/X_cursor
32 | ln -s right_ptr ../cursors/arrow
33 | ln -s sb_v_double_arrow ../cursors/bottom_side
34 | ln -s sb_v_double_arrow ../cursors/double_arrow
35 | ln -s right_ptr ../cursors/draft_large
36 | ln -s right_ptr ../cursors/draft_small
37 | ln -s sb_h_double_arrow ../cursors/left_side
38 | ln -s sb_h_double_arrow ../cursors/right_side
39 | ln -s left_ptr ../cursors/top_left_arrow
40 | ln -s sb_v_double_arrow ../cursors/top_side
41 | ln -s X_cursor ../cursors/pirate
42 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/question_arrow.in:
--------------------------------------------------------------------------------
1 | 32 5 5 question_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/question_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/question_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/right_ptr.in:
--------------------------------------------------------------------------------
1 | 32 13 6 right_ptr.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/right_ptr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/right_ptr.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_down_arrow.in:
--------------------------------------------------------------------------------
1 | 32 12 9 sb_down_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_down_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sb_down_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_h_double_arrow.in:
--------------------------------------------------------------------------------
1 | 32 12 9 sb_h_double_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_h_double_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sb_h_double_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_left_arrow.in:
--------------------------------------------------------------------------------
1 | 32 12 9 sb_left_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sb_left_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_right_arrow.in:
--------------------------------------------------------------------------------
1 | 32 12 9 sb_right_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sb_right_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_up_arrow.in:
--------------------------------------------------------------------------------
1 | 32 12 9 sb_up_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_up_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sb_up_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_v_double_arrow.in:
--------------------------------------------------------------------------------
1 | 32 8 11 sb_v_double_arrow.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sb_v_double_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sb_v_double_arrow.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sizing.in:
--------------------------------------------------------------------------------
1 | 32 5 5 sizing.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/sizing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/sizing.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/top_left_corner.in:
--------------------------------------------------------------------------------
1 | 32 11 11 top_left_corner.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/top_left_corner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/top_left_corner.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/top_right_corner.in:
--------------------------------------------------------------------------------
1 | 32 11 11 top_right_corner.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/top_right_corner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/top_right_corner.png
--------------------------------------------------------------------------------
/usr/icons/cursor/source/watch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/watch
--------------------------------------------------------------------------------
/usr/icons/cursor/source/watch.in:
--------------------------------------------------------------------------------
1 | 32 5 5 beachball1.png 75
2 | 32 5 5 beachball2.png 75
3 | 32 5 5 beachball3.png 75
4 | 32 5 5 beachball4.png 75
5 | 32 5 5 beachball5.png 75
6 | 32 5 5 beachball6.png 75
7 | 32 5 5 beachball7.png 75
8 | 32 5 5 beachball8.png 75
9 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/xterm.in:
--------------------------------------------------------------------------------
1 | 32 8 12 xterm.png 1000
2 |
--------------------------------------------------------------------------------
/usr/icons/cursor/source/xterm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eepykate/polka/f906c808e1158e1df620260027c9d78701977d35/usr/icons/cursor/source/xterm.png
--------------------------------------------------------------------------------
/usr/themes/ob/openbox-3/close.xbm:
--------------------------------------------------------------------------------
1 | #define close_width 10
2 | #define close_height 10
3 | static unsigned char close_bits[] = {
4 | 0x00, 0x00, 0x80, 0x01, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00, 0x38, 0x00,
5 | 0x1c, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x00, 0x00 };
6 |
--------------------------------------------------------------------------------
/usr/themes/ob/openbox-3/iconify.xbm:
--------------------------------------------------------------------------------
1 | #define iconify_width 10
2 | #define iconify_height 10
3 | static unsigned char iconify_bits[] = {
4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xfe, 0x01,
5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
6 |
--------------------------------------------------------------------------------
/usr/themes/ob/openbox-3/max.xbm:
--------------------------------------------------------------------------------
1 | #define max_width 10
2 | #define max_height 10
3 | static unsigned char max_bits[] = {
4 | 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
5 | 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00 };
6 |
--------------------------------------------------------------------------------
/usr/themes/ob/openbox-3/rc:
--------------------------------------------------------------------------------
1 | ### WINDOW
2 | border.width: 0
3 |
4 | window.client.padding.width: 0
5 | window.client.padding.height: 0
6 | window.handle.width: 0
7 |
8 | padding.width: 10
9 | padding.height: 10
10 |
11 | window.active.border.color: #b7cdff
12 | window.active.client.color: #1f222f
13 | window.active.title.separator.color: #1f222f
14 | window.inactive.border.color: #666666
15 | window.inactive.client.color: #1f222f
16 | window.inactive.title.separator.color: #1f222f
17 |
18 | window.active.label.text.color: #e3e3e3
19 | window.inactive.label.text.color: #8686a4
20 |
21 | window.active.title.bg: flat solid
22 | window.active.title.bg.color: #fafafa
23 | window.active.label.bg: flat solid
24 | window.active.label.bg.color: #fafafa
25 | #window.active.handle.bg: texture
26 | #window.active.grip.bg: texture
27 | window.inactive.title.bg: flat solid
28 | window.inactive.title.bg.color: #e3e3e3
29 | window.inactive.label.bg: flat solid
30 | window.inactive.label.bg.color: #e3e3e3
31 | #window.inactive.handle.bg: texture
32 | #window.inactive.grip.bg: texture
33 |
34 | window.label.text.justify: center
35 |
36 | #window.active.label.text.font: text shadow
37 | #window.inactive.label.text.font: text shadow
38 |
39 | ### MENU
40 | menu.border.width: 2
41 | menu.separator.width: 2
42 | menu.separator.padding.width: 10
43 | menu.separator.padding.height: 2
44 |
45 | menu.overlap.x: 0
46 | menu.overlap.y: 0
47 |
48 | menu.border.color: #222222
49 | menu.separator.color: #444444
50 |
51 | menu.title.text.color: #ffffff
52 | menu.items.text.color: #ffffff
53 | menu.items.disabled.text.color: #696969
54 | menu.items.active.text.color: #ffffff
55 | menu.items.active.disabled.text.color: #696969
56 |
57 | menu.items.bg: flat solid
58 | menu.items.bg.color: #222222
59 | menu.items.active.bg: flat solid
60 | menu.items.active.bg.color: #555555
61 | menu.title.bg: flat solid
62 | menu.title.bg.color: #333333
63 |
64 | menu.title.text.justify: center
65 |
66 | #menu.items.font: text shadow
67 | #menu.title.text.font: text shadow
68 |
69 | ### OSD
70 | osd.border.width: 0
71 |
72 | #osd.label.text.font: text shadow
73 | window.active.button.unpressed.bg: Flat solid
74 | window.active.button.unpressed.bg.color: #fafafa
75 | window.active.button.unpressed.bg.border.color: #fafafa
76 | window.active.button.unpressed.image.color: #767676
77 |
78 | window.active.button.pressed.bg: Flat solid
79 | window.active.button.pressed.bg.color: #fafafa
80 | window.active.button.pressed.image.color: #767676
81 |
82 | window.active.button.disabled.bg: Flat solid
83 | window.active.button.disabled.bg.color: #fafafa
84 | window.active.button.disabled.image.color: #666666
85 |
86 |
87 | window.inactive.button.unpressed.bg: Flat solid
88 | window.inactive.button.unpressed.bg.color: #e3e3e3
89 | window.inactive.button.unpressed.image.color: #e3e3e3
90 |
91 | window.inactive.button.pressed.bg: Flat solid
92 | window.inactive.button.pressed.bg.color: #e3e3e3
93 | window.inactive.button.pressed.image.color: #e3e3e3
94 |
95 | window.inactive.button.disabled.bg: Flat solid
96 | window.inactive.button.disabled.bg.color: #e3e3e3
97 | window.inactive.button.disabled.image.color: #e3e3e3
98 |
--------------------------------------------------------------------------------
/usr/themes/ob/openbox-3/themerc:
--------------------------------------------------------------------------------
1 | #
2 | # ,=,e
3 | #
4 | border.width: 0
5 |
6 | window.client.padding.width: 0
7 | window.client.padding.height: 0
8 | window.handle.width: 0
9 |
10 | padding.width: 10
11 | padding.height: 10
12 |
13 | window.active.border.color: #b7cdff
14 | window.active.client.color: #1f222f
15 | window.active.title.separator.color: #1f222f
16 | window.inactive.border.color: #666666
17 | window.inactive.client.color: #1f222f
18 | window.inactive.title.separator.color: #1f222f
19 |
20 | window.active.label.text.color: #000000
21 | window.inactive.label.text.color: #000000
22 |
23 | window.active.title.bg: flat solid
24 | window.active.title.bg.color: #eaeaee
25 | window.active.label.bg: flat solid
26 | window.active.label.bg.color: #eaeaee
27 | window.inactive.title.bg: flat solid
28 | window.inactive.title.bg.color: #c6c6ca
29 | window.inactive.label.bg: flat solid
30 | window.inactive.label.bg.color: #c6c6ca
31 |
32 | window.label.text.justify: center
33 |
34 |
35 |
36 | menu.border.width: 8
37 | menu.separator.width: 4
38 | menu.separator.padding.width: 10
39 | menu.separator.padding.height: 4
40 |
41 | menu.overlap.x: 0
42 | menu.overlap.y: 0
43 |
44 | menu.border.color: #31404d
45 | menu.separator.color: #31404d
46 |
47 | menu.title.text.color: #c6c6ca
48 | menu.items.text.color: #c6c6ca
49 | menu.items.disabled.text.color: #c6c6ca
50 | menu.items.active.text.color: #c6c6ca
51 | menu.items.active.disabled.text.color: #c6c6ca
52 |
53 | menu.items.bg: flat solid
54 | menu.items.bg.color: #31404d
55 | menu.items.active.bg: flat solid
56 | menu.items.active.bg.color: #4b5863
57 | menu.title.bg: flat solid
58 | menu.title.bg.color: #31404d
59 |
60 | menu.title.text.justify: center
61 |
62 | osd.border.width: 0
63 |
64 | window.active.button.unpressed.bg: Flat solid
65 | window.active.button.unpressed.bg.color: #eaeaee
66 | window.active.button.unpressed.bg.border.color: #fafafa
67 | window.active.button.unpressed.image.color: #31404d
68 |
69 | window.active.button.pressed.bg: Flat solid
70 | window.active.button.pressed.bg.color: #eaeaee
71 | window.active.button.pressed.image.color: #31404d
72 |
73 | window.active.button.disabled.bg: Flat solid
74 | window.active.button.disabled.bg.color: #eaeaee
75 | window.active.button.disabled.image.color: #31404d
76 |
77 | window.inactive.button.unpressed.bg: Flat solid
78 | window.inactive.button.unpressed.bg.color: #c6c6ca
79 | window.inactive.button.unpressed.image.color: #c6c6ca
80 |
81 | window.inactive.button.pressed.bg: Flat solid
82 | window.inactive.button.pressed.bg.color: #c6c6ca
83 | window.inactive.button.pressed.image.color: #c6c6ca
84 |
85 | window.inactive.button.disabled.bg: Flat solid
86 | window.inactive.button.disabled.bg.color: #c6c6ca
87 | window.inactive.button.disabled.image.color: #c6c6ca
88 |
--------------------------------------------------------------------------------