mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Compare commits
126 Commits
ce595c81b6
...
frebib-PC
Author | SHA1 | Date | |
---|---|---|---|
fea0831c13
|
|||
ea5f537303
|
|||
2907e24656
|
|||
fa136cbd2a
|
|||
499b044fea
|
|||
14805b3f9a
|
|||
e03c93bf39
|
|||
ba6173e0ee
|
|||
dcfd191613
|
|||
db40ef08bb
|
|||
839d972e95
|
|||
ece2eb878a
|
|||
6f1569b35d
|
|||
5035afc8b4
|
|||
650eb08a80
|
|||
535697a31c
|
|||
f520784d9b
|
|||
ef4b739af1
|
|||
0ba6dc8e4b
|
|||
55e492cd8f
|
|||
19663fa4f1
|
|||
7e5b329e74
|
|||
0116be881a
|
|||
90038f8795
|
|||
7775fb62e4
|
|||
a48288ad50
|
|||
b519b48e83
|
|||
8e74101f3e
|
|||
898190a99f
|
|||
d771bf0448
|
|||
634db612a1
|
|||
a7778c30a7
|
|||
49554ca359
|
|||
895d0ff0aa
|
|||
7be83b7b70
|
|||
a41314ca34
|
|||
3158db0946
|
|||
e25953d913
|
|||
a6f162b7e2
|
|||
85ab256484
|
|||
d1c4112ee3
|
|||
8c8048ebcb
|
|||
019a3f9c18
|
|||
0ff266f257
|
|||
d6f2800ddd
|
|||
524e5132ba
|
|||
dde4e776f5
|
|||
1bd8081663
|
|||
9224e953e2
|
|||
a0d9149013
|
|||
c1f65fc03d
|
|||
92c8dbc019
|
|||
315f6b6b9a
|
|||
c1903f5726
|
|||
24dfc13c3f
|
|||
8f14e0d757
|
|||
d5668f82fe
|
|||
4607175b94
|
|||
ff9feca14c
|
|||
6f655c20aa
|
|||
9793eb491b
|
|||
8142cdf82f
|
|||
69787bd90f
|
|||
3b34decb42
|
|||
03690a5f9f
|
|||
00f7814f8e
|
|||
b1eecdbbda
|
|||
1b3672b983
|
|||
3e681a94b1
|
|||
ab7532e250
|
|||
3b78319653
|
|||
dae7f60002
|
|||
e237f79831
|
|||
8d0eedb617
|
|||
f6b863adf3
|
|||
f4b03038ee
|
|||
a2ad4853ed
|
|||
ecb282cabb
|
|||
6d33d4685c
|
|||
5ace0bb7f4
|
|||
c719fad76a
|
|||
9d34d3250b
|
|||
cda9cb6570
|
|||
d3910bda18
|
|||
98990b8ac9
|
|||
4fc5fc0df6
|
|||
3dff4ff428
|
|||
be88417d59
|
|||
f16cd95a0f
|
|||
21f7a2b75c
|
|||
a912db8044
|
|||
e0ff04168a
|
|||
ed2fa7076c
|
|||
ba47b9b00d
|
|||
cdbe8ce855
|
|||
03ae85dff5
|
|||
ab4bb4e480
|
|||
2cace82b29
|
|||
39d5f2a370
|
|||
09f36fa202
|
|||
3f274253ff
|
|||
9a04e70e77
|
|||
e2d1c57792
|
|||
6c4767b01e
|
|||
e08fe1b262
|
|||
9316d74027
|
|||
521f462141
|
|||
322adb478a
|
|||
1272045e9a
|
|||
7b8191b737
|
|||
49b5924f14
|
|||
91ac3d470d
|
|||
715349d0f4
|
|||
0bf16821d5
|
|||
60bf423556
|
|||
20f48e25b4
|
|||
35d08af7ce
|
|||
ec76965c70
|
|||
8a5408c002
|
|||
e7b3c5e3e0
|
|||
eddb464053
|
|||
30be10a7f4
|
|||
8e91156b4e
|
|||
bd1671fcc8
|
|||
561582734e
|
|||
c1ff08b878
|
@ -1,89 +0,0 @@
|
||||
! Colour order:
|
||||
! black
|
||||
! red
|
||||
! green
|
||||
! yellow
|
||||
! blue
|
||||
! magenta
|
||||
! cyan
|
||||
! white/gray
|
||||
|
||||
! Normal colours
|
||||
*.color0: #333638
|
||||
*.color1: #f41f1c
|
||||
*.color2: #8bc34a
|
||||
*.color3: #ffc107
|
||||
*.color4: #0266f4
|
||||
*.color5: #cc17cc
|
||||
*.color6: #10aeba
|
||||
*.color7: #8b9396
|
||||
|
||||
! Bright colours
|
||||
*.color8: #475760
|
||||
*.color9: #e53727
|
||||
*.color10: #9ccc65
|
||||
*.color11: #ffa000
|
||||
*.color12: #81b3f9
|
||||
*.color13: #a56ecc
|
||||
*.color14: #5ddae2
|
||||
*.color15: #eceff1
|
||||
|
||||
|
||||
Xft.dpi: 96
|
||||
Xft.antialias: true
|
||||
Xft.rgba: rgb
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.lcdfilter: lcddefault
|
||||
|
||||
Xcursor.theme: Breeze_Obsidian
|
||||
|
||||
!!======================!!
|
||||
!! RXVT-unicode setting !!
|
||||
!!======================!!
|
||||
|
||||
urxvt.depth: 32
|
||||
urxvt.internalBorder: 16
|
||||
urxvt.blurRadius: 25
|
||||
urxvt.saveLines: 10000
|
||||
urxvt.preeditType: Root
|
||||
|
||||
urxvt.scrollBar: false
|
||||
urxvt.jumpScroll: false
|
||||
urxvt.scrollTtyOutput: false
|
||||
urxvt.scrollWithBuffer: true
|
||||
urxvt.scrollTtyKeypress: true
|
||||
|
||||
urxvt.altSendsEscape: true
|
||||
xterm.metaSendsEscape: true
|
||||
|
||||
urxvt.termName: xterm-256color
|
||||
|
||||
urxvt.font: xft:Source Code Pro:style=regular:size=9
|
||||
urxvt.imFont: xft:Source Code Pro:style=regular:size=9
|
||||
urxvt.boldFont: xft:Source Code Pro:style=bold:size=9
|
||||
urxvt.italicFont: xft:Source Code Pro:style=italic:size=9
|
||||
urxvt.boldItalicFont: xft:Source Code Pro:style=bold,italic:size=9
|
||||
|
||||
|
||||
urxvt.iso14755: false
|
||||
urxvt.iso14755_52: false
|
||||
urxvt.perl-ext-common: default,vtwheel,font-size
|
||||
urxvt.url-launcher: /usr/bin/firefox
|
||||
urxvt.matcher.button: 1
|
||||
|
||||
urxvt.keysym.C-Up: font-size:increase
|
||||
urxvt.keysym.C-Down: font-size:decrease
|
||||
urxvt.keysym.C-equal: font-size:reset
|
||||
urxvt.keysym.C-slash: font-size:show
|
||||
|
||||
! special
|
||||
*.foreground: #ECEFF1
|
||||
*.background: #002B36
|
||||
*.cursorColor: #5294E2
|
||||
*.highlightColor: #5294E2
|
||||
urxvt.background: [95]#383C4A
|
||||
urxvt.scrollColor: #767B87
|
||||
urxvt.dynamicColors: on
|
||||
urxvt.highlightSelection: true
|
||||
urxvt.colorMode: on
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
@ -1,20 +0,0 @@
|
||||
imgur_icon_path="$HOME/.config/imgur-screenshot/imgur.ico"
|
||||
imgur_acct_key=""
|
||||
imgur_secret=""
|
||||
login="false"
|
||||
log_file="$HOME/.config/imgur-screenshot/imgur-screenshot.log"
|
||||
credentials_file="$HOME/.config/imgur-screenshot/credentials.conf"
|
||||
file_name_format="screenshot-%Y-%m-%d-%H%M%S.png" # when using scrot, must end with .png!
|
||||
file_dir="$HOME/pictures/screenshots"
|
||||
screenshot_select_command="maim -m 10 -us %img"
|
||||
screenshot_window_command="maim -m 10 -uw %img"
|
||||
edit_command="gimp %img"
|
||||
edit="false"
|
||||
exit_on_selection_fail="true"
|
||||
edit_on_selection_fail="false"
|
||||
exit_on_album_creation_fail="true"
|
||||
open_command="xdg-open %url"
|
||||
open="false"
|
||||
copy_url="true"
|
||||
keep_file="true"
|
||||
check_update="true"
|
@ -1,42 +0,0 @@
|
||||
[Default Applications]
|
||||
|
||||
# eog for images
|
||||
image/bmp=eog.desktop
|
||||
image/gif=eog.desktop
|
||||
image/jpeg=eog.desktop
|
||||
image/jpg=eog.desktop
|
||||
image/pjpeg=eog.desktop
|
||||
image/png=eog.desktop
|
||||
image/svg+xml-compressed=eog.desktop
|
||||
image/svg+xml=eog.desktop
|
||||
image/tiff=eog.desktop
|
||||
image/x-bmp=eog.desktop
|
||||
image/x-gray=eog.desktop
|
||||
image/x-icb=eog.desktop
|
||||
image/x-ico=eog.desktop
|
||||
image/x-png=eog.desktop
|
||||
image/x-portable-anymap=eog.desktop
|
||||
image/x-portable-bitmap=eog.desktop
|
||||
image/x-portable-graymap=eog.desktop
|
||||
image/x-portable-pixmap=eog.desktop
|
||||
|
||||
# evince for pdfs
|
||||
application/pdf=evince.desktop
|
||||
|
||||
# vim for textual files
|
||||
application/x-shellscript=vim.desktop
|
||||
text/english=vim.desktop
|
||||
text/plain=vim.desktop
|
||||
text/x-makefile=vim.desktop
|
||||
|
||||
# Chromium for web/html
|
||||
text/html=firefox.desktop
|
||||
x-scheme-handler/about=firefox.desktop
|
||||
x-scheme-handler/http=firefox.desktop
|
||||
x-scheme-handler/https=firefox.desktop
|
||||
x-scheme-handler/unknown=firefox.desktop
|
||||
|
||||
# Various desktop applications
|
||||
inode/directory=nautilus.desktop
|
||||
x-scheme-handler/magnet=deluge.desktop
|
||||
x-scheme-handler/tg=telegramdesktop.desktop
|
@ -1,104 +0,0 @@
|
||||
# Logging
|
||||
log-level = "info";
|
||||
#log-file = "/home/frebib/.local/share/picom.log";
|
||||
|
||||
# Shadow
|
||||
shadow = true;
|
||||
shadow-radius = 24;
|
||||
shadow-offset-x = -24;
|
||||
shadow-offset-y = -24;
|
||||
shadow-opacity = 0.6;
|
||||
# shadow-red = 0.0;
|
||||
# shadow-green = 0.0;
|
||||
# shadow-blue = 0.0;
|
||||
shadow-exclude = [
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"class_g = 'firefox' && argb",
|
||||
"name = 'Notification'",
|
||||
"name = 'cpt_frame_window'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
# shadow-exclude-reg = "x10+0+0";
|
||||
xinerama-shadow-crop = true;
|
||||
|
||||
# Opacity
|
||||
frame-opacity = 1.0;
|
||||
# active-opacity = 0.8;
|
||||
inactive-opacity = 0.6;
|
||||
inactive-opacity-override = true;
|
||||
# inactive-dim = 0.2;
|
||||
# inactive-dim-fixed = true;
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
|
||||
# Blurring
|
||||
blur:
|
||||
{
|
||||
method = "dual_kawase";
|
||||
strength = 8;
|
||||
};
|
||||
blur-background-frame = true;
|
||||
blur-background-fixed = true;
|
||||
blur-background-exclude = [
|
||||
"class_g = 'Peek'",
|
||||
"class_g = 'Onboard'",
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'Polybar'",
|
||||
"class_g = 'firefox' && argb",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Fading
|
||||
fading = true;
|
||||
fade-delta = 10;
|
||||
fade-in-step = 0.04
|
||||
fade-out-step = 0.06;
|
||||
no-fading-openclose = false;
|
||||
no-fading-destroyed-argb = false;
|
||||
# fade-exclude = [ ];
|
||||
|
||||
# Other
|
||||
backend = "glx";
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
use-ewmh-active-win = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
refresh-rate = 0;
|
||||
vsync = true;
|
||||
# sw-opti = true;
|
||||
# unredir-if-possible = true;
|
||||
# unredir-if-possible-delay = 5000;
|
||||
# unredir-if-possible-exclude = [ ];
|
||||
focus-exclude = [
|
||||
"i:ai:chromium",
|
||||
"class_g = 'firefox'",
|
||||
"class_g = 'zoom'"
|
||||
];
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
invert-color-include = [ ];
|
||||
# resize-damage = 1;
|
||||
|
||||
# GLX backend
|
||||
glx-no-stencil = true;
|
||||
glx-no-rebind-pixmap = true;
|
||||
xrender-sync-fence = true;
|
||||
use-damage = true;
|
||||
|
||||
# Window type settings
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
};
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/profile.service
|
@ -1 +0,0 @@
|
||||
/usr/lib/systemd/user/redshift.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel-primary.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel@.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel@.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/autocutsel@.service
|
@ -1 +0,0 @@
|
||||
/home/frebib/.config/systemd/user/xautolock.service
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Load profile environment into session
|
||||
Before=graphical-session-pre.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/bash -c '. $HOME/.config/dotfiles/.profile && systemctl --user import-environment'
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
@ -1 +0,0 @@
|
||||
/usr/lib/systemd/user/pulseaudio.socket
|
@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=Load Xorg configuration
|
||||
PartOf=xorg.target
|
||||
Requires=profile.service
|
||||
After=xorg.target profile.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/bash -c '. $XDG_CONFIG_HOME/X11/xprofile; systemctl --user import-environment'
|
||||
|
||||
[Install]
|
||||
WantedBy=xorg.target
|
4
.config/zsh/.gitignore
vendored
4
.config/zsh/.gitignore
vendored
@ -1,4 +0,0 @@
|
||||
/antigen/
|
||||
/log/
|
||||
/histfile
|
||||
/.zcompdump*
|
@ -1,176 +0,0 @@
|
||||
# Config and cache directory paths
|
||||
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
ZSH_DIR="$CONFIG_DIR/zsh"
|
||||
LOG_DIR="$ZSH_DIR/log"
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
HISTFILE="$ZSH_DIR/histfile"
|
||||
HISTSIZE=999999
|
||||
SAVEHIST=999999
|
||||
|
||||
exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
|
||||
|
||||
# Only set tty if running interactively
|
||||
if exists tty && tty -s; then
|
||||
# Resolve at shell runtime
|
||||
export GPG_TTY="$(tty)"
|
||||
fi
|
||||
|
||||
# Configure less and add colours
|
||||
export LESS="-RI --mouse --wheel-lines=3"
|
||||
export PAGER="less"
|
||||
export MANPAGER="less -+N"
|
||||
export SYSTEMD_PAGER="less $LESS"
|
||||
# Disable histfile
|
||||
export LESSHISTFILE=-
|
||||
|
||||
if exists tput; then
|
||||
export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
|
||||
export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
|
||||
export LESS_TERMCAP_me=$(tput sgr0)
|
||||
export LESS_TERMCAP_so=$(tput bold; tput setaf 4) # blue
|
||||
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
|
||||
export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
|
||||
export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
|
||||
export LESS_TERMCAP_mr=$(tput rev)
|
||||
export LESS_TERMCAP_mh=$(tput dim)
|
||||
export LESS_TERMCAP_ZN=$(tput ssubm)
|
||||
export LESS_TERMCAP_ZV=$(tput rsubm)
|
||||
export LESS_TERMCAP_ZO=$(tput ssupm)
|
||||
export LESS_TERMCAP_ZW=$(tput rsupm)
|
||||
fi
|
||||
|
||||
# Set some useful ZSH/Bash options
|
||||
setopt sharehistory histignorealldups histignorespace histreduceblanks
|
||||
setopt pathdirs autocd autopushd extendedglob nullglob alwaystoend interactivecomments dvorak
|
||||
|
||||
zstyle ':completion:*:sudo|_::' environ PATH="/sbin:/usr/sbin:$PATH" HOME="/root"
|
||||
zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=** r:|=**' 'l:|=* r:|=*'
|
||||
zstyle ':completion:*' rehash true
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
|
||||
zstyle ':compinstall' filename "${ZDOTDIR:-~}/.zshrc"
|
||||
|
||||
# Pre-load vi-mode edit-command-line before antigen plugins are loaded
|
||||
autoload -z edit-command-line
|
||||
zle -N edit-command-line
|
||||
|
||||
export WORDCHARS='*?_[]~=&;!#$%^(){}'
|
||||
x-bash-backward-kill-word(){ WORDCHARS='' zle kill-word; }
|
||||
zle -N x-bash-backward-kill-word
|
||||
|
||||
# Load antigen & plugins
|
||||
ADOTDIR="$ZSH_DIR/antigen" # Antigen directory
|
||||
ANTIGEN_LOG="$LOG_DIR/antigen-$(date +"%Y_%m_%d_%I_%M_%p").log"
|
||||
antigen_src="$ADOTDIR/antigen.zsh"
|
||||
if [ ! -f "$antigen_src" ]; then
|
||||
git clone https://github.com/zsh-users/antigen.git "$ADOTDIR"
|
||||
fi
|
||||
source "$antigen_src"
|
||||
|
||||
antigen bundle zsh-users/zsh-completions
|
||||
antigen bundle zsh-users/zsh-autosuggestions
|
||||
antigen bundle zsh-users/zsh-syntax-highlighting@feature/redrawhook
|
||||
antigen bundle mafredri/zsh-async
|
||||
|
||||
antigen apply
|
||||
|
||||
# Vim mode!
|
||||
bindkey -v
|
||||
export KEYTIMEOUT=25
|
||||
|
||||
# Set some key-binds
|
||||
bindkey "^[[1;3C" forward-word
|
||||
bindkey "^[[1;5C" forward-word
|
||||
bindkey "^[[1;3D" backward-word
|
||||
bindkey "^[[1;5D" backward-word
|
||||
bindkey "^[[7~" beginning-of-line
|
||||
bindkey "^[[8~" end-of-line
|
||||
bindkey "^[[3~" delete-char
|
||||
bindkey "^[[3;3~" delete-word
|
||||
bindkey '^[^[[3~' x-bash-backward-kill-word
|
||||
bindkey '^[^[[3^' x-bash-backward-kill-word
|
||||
bindkey '^[[A' fzf-history-widget # Up (fzf)
|
||||
bindkey '^[[B' fzf-history-widget # Down (fzf)
|
||||
bindkey '^F' fzf-file-widget # Ctrl+F file search (fzf)
|
||||
|
||||
bindkey "^F" fzf-file-widget
|
||||
bindkey -M vicmd "^W" backward-delete-word
|
||||
|
||||
bindkey -M vicmd d vi-backward-char
|
||||
bindkey -M vicmd h vi-down-line-or-history
|
||||
bindkey -M vicmd t vi-up-line-or-history
|
||||
bindkey -M vicmd n vi-forward-char
|
||||
bindkey -M vicmd k vi-delete
|
||||
bindkey -M vicmd K vi-kill-eol
|
||||
bindkey -M vicmd j vi-find-next-char-skip
|
||||
bindkey -M vicmd l vi-repeat-search
|
||||
|
||||
# Backspace across newlines when in vi-mode
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=128
|
||||
ZSH_AUTOSUGGEST_CLEAR_WIDGETS=("${(@)ZSH_AUTOSUGGEST_CLEAR_WIDGETS:#(up|down)-line-or-history}")
|
||||
|
||||
default='fg=12'
|
||||
prog='fg=blue'
|
||||
ZSH_HIGHLIGHT_STYLES=()
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets root line)
|
||||
ZSH_HIGHLIGHT_STYLES[root]='bg=red'
|
||||
ZSH_HIGHLIGHT_STYLES[default]=$default
|
||||
ZSH_HIGHLIGHT_STYLES[arg0]=$prog
|
||||
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red,bold'
|
||||
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=yellow'
|
||||
ZSH_HIGHLIGHT_STYLES[alias]=$prog
|
||||
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=green'
|
||||
ZSH_HIGHLIGHT_STYLES[builtin]='fg=4'
|
||||
ZSH_HIGHLIGHT_STYLES[function]=$prog
|
||||
ZSH_HIGHLIGHT_STYLES[command]=$prog
|
||||
ZSH_HIGHLIGHT_STYLES[precommand]='fg=4'
|
||||
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=green'
|
||||
ZSH_HIGHLIGHT_STYLES[path]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[path_separator]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=208'
|
||||
ZSH_HIGHLIGHT_STYLES[globbing]='fg=red'
|
||||
ZSH_HIGHLIGHT_STYLES[comment]='fg=7'
|
||||
ZSH_HIGHLIGHT_STYLES[history-expansion]=$default
|
||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=$default
|
||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=$default
|
||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=magenta'
|
||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=yellow'
|
||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow'
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=yellow'
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=cyan'
|
||||
ZSH_HIGHLIGHT_STYLES[assign]='fg=green'
|
||||
ZSH_HIGHLIGHT_STYLES[redirection]='fg=cyan,bold'
|
||||
|
||||
source "$DOTFILES/aliases"
|
||||
|
||||
# Source secret keys and values into environment
|
||||
if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
|
||||
set -o allexport
|
||||
source $XDG_CONFIG_HOME/secrets
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
# Load some manual plugins
|
||||
source "$ZSH_DIR/plugins/sudo.zsh"
|
||||
source "$ZSH_DIR/plugins/fish-theme.zsh"
|
||||
source "$ZSH_DIR/plugins/git-rprompt.zsh"
|
||||
[ -f '/usr/share/fzf/key-bindings.zsh' ] && source /usr/share/fzf/key-bindings.zsh
|
||||
[ -f '/usr/share/doc/pkgfile/command-not-found.zsh' ] && source /usr/share/doc/pkgfile/command-not-found.zsh
|
||||
[ -r '/usr/share/z/z.sh' ] && source /usr/share/z/z.sh
|
||||
|
||||
# Completion initialisation
|
||||
autoload -U compinit bashcompinit
|
||||
compinit
|
||||
bashcompinit
|
||||
|
||||
# gopass completion
|
||||
if exists gopass; then
|
||||
source <(gopass completion bash)
|
||||
fi
|
@ -1,14 +0,0 @@
|
||||
# ZSH Theme emulating the Fish shell's default prompt.
|
||||
|
||||
_fishy_collapsed_wd() {
|
||||
pwd | sed -E 's|^'$HOME'|~|;s|(.*)/|\1%|;s|((^\|/)\.?[^/%]{1})[^/%]*|\1|g;s|(.*)%|\1/|'
|
||||
}
|
||||
|
||||
# Required for dynamic prompt
|
||||
setopt prompt_subst
|
||||
|
||||
local user_color='green'; [ $UID -eq 0 ] && user_color='red'
|
||||
PROMPT="%n@%m %F{$user_color}\$(_fishy_collapsed_wd)%f%(!.#.>) "
|
||||
PROMPT2='%F{red}\ %f'
|
||||
|
||||
RPROMPT='%F{red}%(?.. %?)%f'
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,6 +8,5 @@ bookmarks
|
||||
.config/zsh/.zshrc.zwc
|
||||
|
||||
*.log
|
||||
.xournal/recent-files
|
||||
.vim/bundle
|
||||
.vim/swapfiles
|
||||
|
55
.profile
55
.profile
@ -1,55 +0,0 @@
|
||||
export LC_ALL=en_GB.UTF-8
|
||||
export LANG=en_GB.UTF-8
|
||||
export LC_NUMERIC=en_GB
|
||||
|
||||
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
|
||||
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||
export XDG_LOCAL_HOME="$HOME/.local"
|
||||
|
||||
mkdir -p "$XDG_CONFIG_HOME" "$XDG_CACHE_HOME" "$XDG_DATA_HOME" "$XDG_LOCAL_HOME"
|
||||
|
||||
case "$(basename "$(readlink -f /proc/$$/exe)")" in
|
||||
zsh) thisfile="$(readlink -f "${(%):-%N}")";;
|
||||
bash) thisfile="$(readlink -f "${BASH_SOURCE[0]}")";;
|
||||
*) thisfile="$(find /proc/$$/fd/ | xargs -n1 -r readlink -f | grep profile | head -n1)";;
|
||||
esac
|
||||
|
||||
export EDITOR="vim"
|
||||
export VISUAL="vim"
|
||||
|
||||
# Override paths for non-compliant programs
|
||||
# https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
|
||||
|
||||
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||
export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
|
||||
export GOPATH="$XDG_DATA_HOME/go"
|
||||
export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
||||
export PYTHONHISTFILE="$XDG_DATA_HOME/python/histfile"
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||
export TERMINFO="$XDG_DATA_HOME/terminfo"
|
||||
export TERMINFO_DIRS="$XDG_DATA_HOME/terminfo:/usr/share/terminfo"
|
||||
export VIMDIR="$XDG_CONFIG_HOME/vim"
|
||||
export VIMRC="$VIMDIR/vimrc"
|
||||
export VIMINIT=":so $VIMRC"
|
||||
export WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"
|
||||
export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
|
||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
|
||||
export DOTFILES="$(dirname "${thisfile:-$XDG_CONFIG_HOME/dotfiles/.profile}")"
|
||||
export PATH="${PATH}:/sbin:/usr/sbin:$DOTFILES/scripts:$GOPATH/bin"
|
||||
|
||||
exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
|
||||
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
|
||||
eval $(dbus-launch --sh-syntax --exit-with-session)
|
||||
fi
|
||||
|
||||
# Execute this after updating dbus/systemd environment
|
||||
# Source secret keys and values into environment
|
||||
if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
|
||||
set -o allexport
|
||||
source $XDG_CONFIG_HOME/secrets
|
||||
set +o allexport
|
||||
fi
|
171
.xournal/config
171
.xournal/config
@ -1,171 +0,0 @@
|
||||
# Xournal configuration file.
|
||||
# This file is generated automatically upon saving preferences.
|
||||
# Use caution when editing this file manually.
|
||||
#
|
||||
|
||||
[general]
|
||||
# the display resolution, in pixels per inch
|
||||
display_dpi=96.00
|
||||
# the initial zoom level, in percent
|
||||
initial_zoom=169.98
|
||||
# maximize the window at startup (true/false)
|
||||
window_maximize=false
|
||||
# start in full screen mode (true/false)
|
||||
window_fullscreen=false
|
||||
# the window width in pixels (when not maximized)
|
||||
window_width=2120
|
||||
# the window height in pixels
|
||||
window_height=1374
|
||||
# scrollbar step increment (in pixels)
|
||||
scrollbar_speed=30
|
||||
# the step increment in the zoom dialog box
|
||||
zoom_dialog_increment=1
|
||||
# the multiplicative factor for zoom in/out
|
||||
zoom_step_factor=1.500
|
||||
# continuous view (false = one page, true = continuous, horiz = horizontal)
|
||||
view_continuous=true
|
||||
# use XInput extensions (true/false)
|
||||
use_xinput=true
|
||||
# discard Core Pointer events in XInput mode (true/false)
|
||||
discard_corepointer=false
|
||||
# ignore events from other devices while drawing (true/false)
|
||||
ignore_other_devices=true
|
||||
# do not worry if device reports button isn't pressed while drawing (true/false)
|
||||
ignore_btn_reported_up=true
|
||||
# always map eraser tip to eraser (true/false)
|
||||
use_erasertip=true
|
||||
# always map touchscreen device to hand tool (true/false) (requires separate pen and touch devices)
|
||||
touchscreen_as_hand_tool=true
|
||||
# disable touchscreen device when pen is in proximity (true/false) (requires separate pen and touch devices)
|
||||
pen_disables_touch=true
|
||||
# name of touchscreen device for touchscreen_as_hand_tool
|
||||
touchscreen_device_name=NTRG0001:01 1B96:1B05
|
||||
# buttons 2 and 3 switch mappings instead of drawing (useful for some tablets) (true/false)
|
||||
buttons_switch_mappings=false
|
||||
# automatically load filename.pdf.xoj instead of filename.pdf (true/false)
|
||||
autoload_pdf_xoj=false
|
||||
# enable periodic autosaves (true/false)
|
||||
autosave_enabled=true
|
||||
# delay for periodic autosaves (in seconds)
|
||||
autosave_delay=5
|
||||
# default path for open/save (leave blank for current directory)
|
||||
default_path=
|
||||
# use pressure sensitivity to control pen stroke width (true/false)
|
||||
pressure_sensitivity=true
|
||||
# minimum width multiplier
|
||||
width_minimum_multiplier=0.00
|
||||
# maximum width multiplier
|
||||
width_maximum_multiplier=1.25
|
||||
# interface components from top to bottom
|
||||
# valid values: drawarea menu main_toolbar pen_toolbar statusbar
|
||||
interface_order=menu main_toolbar pen_toolbar drawarea statusbar
|
||||
# interface components in fullscreen mode, from top to bottom
|
||||
interface_fullscreen=main_toolbar pen_toolbar drawarea
|
||||
# interface has left-handed scrollbar (true/false)
|
||||
interface_lefthanded=false
|
||||
# hide some unwanted menu or toolbar items (true/false)
|
||||
shorten_menus=false
|
||||
# interface items to hide (customize at your own risk!)
|
||||
# see source file xo-interface.c for a list of item names
|
||||
shorten_menu_items=optionsProgressiveBG optionsLeftHanded optionsButtonSwitchMapping
|
||||
# highlighter opacity (0 to 1, default 0.5)
|
||||
# warning: opacity level is not saved in xoj files!
|
||||
highlighter_opacity=0.50
|
||||
# auto-save preferences on exit (true/false)
|
||||
autosave_prefs=true
|
||||
# force PDF rendering through cairo (slower but nicer) (true/false)
|
||||
poppler_force_cairo=false
|
||||
# prefer xournal's own PDF code for exporting PDFs (true/false)
|
||||
exportpdf_prefer_legacy=false
|
||||
# export successive layers on separate pages in PDFs (true/false)
|
||||
exportpdf_layers=false
|
||||
# when attempting to open a non-existent file, treat it as a new file (true/false)
|
||||
autocreate_new_xoj=false
|
||||
|
||||
[paper]
|
||||
# the default page width, in points (1/72 in)
|
||||
width=595.27
|
||||
# the default page height, in points (1/72 in)
|
||||
height=841.89
|
||||
# the default paper color
|
||||
color=white
|
||||
# the default paper style (plain, lined, ruled, or graph)
|
||||
style=lined
|
||||
# apply paper style changes to all pages (true/false)
|
||||
apply_all=false
|
||||
# preferred unit (cm, in, px, pt)
|
||||
default_unit=cm
|
||||
# include paper ruling when printing or exporting to PDF (true/false)
|
||||
print_ruling=true
|
||||
# when creating a new page, duplicate a PDF or image background instead of using default paper (true/false)
|
||||
new_page_duplicates_bg=true
|
||||
# just-in-time update of page backgrounds (true/false)
|
||||
progressive_bg=true
|
||||
# bitmap resolution of PS/PDF backgrounds rendered using ghostscript (dpi)
|
||||
gs_bitmap_dpi=144
|
||||
# bitmap resolution of PDF backgrounds when printing with libgnomeprint (dpi)
|
||||
pdftoppm_printing_dpi=150
|
||||
|
||||
[tools]
|
||||
# selected tool at startup (pen, eraser, highlighter, selectregion, selectrect, vertspace, hand, image)
|
||||
startup_tool=pen
|
||||
# Use the pencil from cursor theme instead of a color dot (true/false)
|
||||
pen_cursor=false
|
||||
# default pen color
|
||||
pen_color=black
|
||||
# default pen thickness (fine = 1, medium = 2, thick = 3)
|
||||
pen_thickness=2
|
||||
# default pen is in ruler mode (true/false)
|
||||
pen_ruler=false
|
||||
# default pen is in shape recognizer mode (true/false)
|
||||
pen_recognizer=false
|
||||
# default eraser thickness (fine = 1, medium = 2, thick = 3)
|
||||
eraser_thickness=2
|
||||
# default eraser mode (standard = 0, whiteout = 1, strokes = 2)
|
||||
eraser_mode=2
|
||||
# default highlighter color
|
||||
highlighter_color=yellow
|
||||
# default highlighter thickness (fine = 1, medium = 2, thick = 3)
|
||||
highlighter_thickness=2
|
||||
# default highlighter is in ruler mode (true/false)
|
||||
highlighter_ruler=false
|
||||
# default highlighter is in shape recognizer mode (true/false)
|
||||
highlighter_recognizer=false
|
||||
# button 2 tool (pen, eraser, highlighter, text, selectregion, selectrect, vertspace, hand, image)
|
||||
btn2_tool=eraser
|
||||
# button 2 brush linked to primary brush (true/false) (overrides all other settings)
|
||||
btn2_linked=true
|
||||
# button 2 brush color (for pen or highlighter only)
|
||||
btn2_color=white
|
||||
# button 2 brush thickness (pen, eraser, or highlighter only)
|
||||
btn2_thickness=2
|
||||
# button 2 ruler mode (true/false) (for pen or highlighter only)
|
||||
btn2_ruler=false
|
||||
# button 2 shape recognizer mode (true/false) (pen or highlighter only)
|
||||
btn2_recognizer=false
|
||||
# button 2 eraser mode (eraser only)
|
||||
btn2_erasermode=2
|
||||
# button 3 tool (pen, eraser, highlighter, text, selectregion, selectrect, vertspace, hand, image)
|
||||
btn3_tool=selectregion
|
||||
# button 3 brush linked to primary brush (true/false) (overrides all other settings)
|
||||
btn3_linked=true
|
||||
# button 3 brush color (for pen or highlighter only)
|
||||
btn3_color=white
|
||||
# button 3 brush thickness (pen, eraser, or highlighter only)
|
||||
btn3_thickness=0
|
||||
# button 3 ruler mode (true/false) (for pen or highlighter only)
|
||||
btn3_ruler=false
|
||||
# button 3 shape recognizer mode (true/false) (pen or highlighter only)
|
||||
btn3_recognizer=false
|
||||
# button 3 eraser mode (eraser only)
|
||||
btn3_erasermode=2
|
||||
# thickness of the various pens (in points, 1 pt = 1/72 in)
|
||||
pen_thicknesses=0.42;0.85;1.41;2.26;5.67
|
||||
# thickness of the various erasers (in points, 1 pt = 1/72 in)
|
||||
eraser_thicknesses=2.83;8.50;19.84
|
||||
# thickness of the various highlighters (in points, 1 pt = 1/72 in)
|
||||
highlighter_thicknesses=2.83;8.50;19.84
|
||||
# name of the default font
|
||||
default_font=Sans
|
||||
# default font size
|
||||
default_font_size=12.0
|
@ -24,7 +24,7 @@
|
||||
],
|
||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||
"defaultCountryCode": "GB",
|
||||
"showLabsSettings": false,
|
||||
"showLabsSettings": true,
|
||||
"features": {
|
||||
"feature_font_scaling": "labs",
|
||||
"feature_pinning": "labs",
|
@ -4,7 +4,8 @@
|
||||
To get started, clone this repo and link the relevant files/directories
|
||||
|
||||
```shell
|
||||
git clone https://github.com/frebib/dotfiles.git ~/.config/dotfiles
|
||||
ln -sfv .config/dotfiles/.config/* .config/
|
||||
ln -sfv .config/dotfiles/.profile .zprofile
|
||||
git clone https://github.com/frebib/dotfiles.git ~/.config
|
||||
ln -sfv .config/zsh/.zshenv ~
|
||||
# if it is not already "enabled", make sure the systemd-environment.d generator is active
|
||||
sudo ln -sfv /lib/systemd/user-environment-generators/30-systemd-environment-d-generator /lib/systemd/user-generators/
|
||||
```
|
||||
|
@ -4,17 +4,20 @@
|
||||
export TERMINAL="alacritty"
|
||||
export BROWSER="firefox"
|
||||
|
||||
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
|
||||
export GTK_THEME="$(grep gtk-theme-name "${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" | sed 's/.*\s*=\s*//')"
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
export XDG_CURRENT_DESKTOP="GNOME" # Fixes xdg-open
|
||||
|
||||
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
|
||||
|
||||
# https://www.reddit.com/r/linux/comments/72mfv8/psa_for_firefox_users_set_moz_use_xinput21_to/
|
||||
export MOZ_USE_XINPUT2=1 # enable pixel-accurate scrolling in firefox
|
||||
export XDG_CURRENT_DESKTOP="GNOME" # Fixes xdg-open
|
||||
|
||||
|
||||
# Load Xorg resources and set the DPI
|
||||
xrdb -merge $XDG_CONFIG_HOME/X11/xresources
|
||||
xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
|
||||
xrdb -merge "$XDG_CONFIG_HOME/X11/xresources"
|
||||
#"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)"
|
||||
|
||||
setxkbmap -option caps:none
|
||||
xset r rate 200 18
|
40
X11/xresources
Normal file
40
X11/xresources
Normal file
@ -0,0 +1,40 @@
|
||||
! Colour order:
|
||||
! black
|
||||
! red
|
||||
! green
|
||||
! yellow
|
||||
! blue
|
||||
! magenta
|
||||
! cyan
|
||||
! white/gray
|
||||
|
||||
! Normal colours
|
||||
*.color0: #333638
|
||||
*.color1: #f41f1c
|
||||
*.color2: #8bc34a
|
||||
*.color3: #ffc107
|
||||
*.color4: #0266f4
|
||||
*.color5: #cc17cc
|
||||
*.color6: #10aeba
|
||||
*.color7: #8b9396
|
||||
|
||||
! Bright colours
|
||||
*.color8: #475760
|
||||
*.color9: #e53727
|
||||
*.color10: #9ccc65
|
||||
*.color11: #ffa000
|
||||
*.color12: #81b3f9
|
||||
*.color13: #a56ecc
|
||||
*.color14: #5ddae2
|
||||
*.color15: #eceff1
|
||||
|
||||
|
||||
Xft.dpi: 96
|
||||
Xft.antialias: true
|
||||
Xft.rgba: rgb
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.lcdfilter: lcddefault
|
||||
|
||||
Xcursor.size: 28
|
||||
Xcursor.theme: BreezeX-Black
|
@ -51,6 +51,12 @@ window:
|
||||
# - buttonless: Title bar, transparent background, but no title bar buttons
|
||||
decorations: full
|
||||
|
||||
# Background opacity
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
opacity: 0.8
|
||||
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
@ -259,6 +265,13 @@ colors:
|
||||
#
|
||||
#indexed_colors: []
|
||||
|
||||
# Transparent cell backgrounds
|
||||
#
|
||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||
# the default background. When set to `true` all cells will be transparent
|
||||
# regardless of their background color.
|
||||
transparent_background_colors: false
|
||||
|
||||
# Visual Bell
|
||||
#
|
||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
||||
@ -285,12 +298,6 @@ colors:
|
||||
# duration: 0
|
||||
# color: '#ffffff'
|
||||
|
||||
# Background opacity
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
background_opacity: 0.80
|
||||
|
||||
selection:
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
@ -366,28 +373,6 @@ mouse:
|
||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||
hide_when_typing: false
|
||||
|
||||
url:
|
||||
# URL launcher
|
||||
#
|
||||
# This program is executed when clicking on a text which is recognized as a URL.
|
||||
# The URL is always added to the command as the last parameter.
|
||||
#
|
||||
# When set to `None`, URL launching will be disabled completely.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) open
|
||||
# - (Linux/BSD) xdg-open
|
||||
# - (Windows) explorer
|
||||
launcher:
|
||||
program: xdg-open
|
||||
args: []
|
||||
|
||||
# URL modifiers
|
||||
#
|
||||
# These are the modifiers that need to be held down for opening URLs when clicking
|
||||
# on them. The available modifiers are documented in the key binding section.
|
||||
#modifiers: None
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Mouse bindings are specified as a list of objects, much like the key
|
||||
@ -597,33 +582,18 @@ key_bindings:
|
||||
#- { key: Key5, mods: Shift, mode: Vi, action: Bracket }
|
||||
|
||||
# (Windows, Linux, and BSD only)
|
||||
- { key: V, mods: Control|Shift, action: Paste }
|
||||
- { key: C, mods: Control|Shift, action: Copy }
|
||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
- { key: Equals, mods: Control, action: ResetFontSize }
|
||||
- { key: Add, mods: Control|Shift, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control|Shift, action: DecreaseFontSize }
|
||||
- { key: Minus, mods: Control|Shift, action: DecreaseFontSize }
|
||||
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" }
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Add, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: K, mods: Command, action: ClearHistory }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
- { key: V, mods: Control|Shift, action: Paste }
|
||||
- { key: C, mods: Control|Shift, action: Copy }
|
||||
- { key: F, mods: Control|Shift, action: SearchForward }
|
||||
- { key: B, mods: Control|Shift, action: SearchBackward }
|
||||
- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection }
|
||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||
- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||
- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||
- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||
|
||||
debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
@ -641,7 +611,7 @@ debug:
|
||||
# - Info
|
||||
# - Debug
|
||||
# - Trace
|
||||
log_level: Info
|
||||
log_level: Warn
|
||||
|
||||
# Print all received window events.
|
||||
#print_events: false
|
185
aliases
185
aliases
@ -1,52 +1,41 @@
|
||||
case "$(basename "$(readlink -f /proc/$$/exe)")" in
|
||||
zsh) thisfile="$(readlink -f "${(%):-%N}")";;
|
||||
bash) thisfile="$(readlink -f "${BASH_SOURCE[0]}")";;
|
||||
*) thisfile="$(find /proc/$$/fd/ -print0 | xargs -0 -n1 -r readlink -f | grep aliases | head -n1)";;
|
||||
esac
|
||||
|
||||
# Global aliases for ZSH
|
||||
if alias -g 2>/dev/null; then
|
||||
alias -g ...=../..
|
||||
alias -g ....=../../..
|
||||
alias -g .....=../../../..
|
||||
alias -g ......=../../../../..
|
||||
alias -g H='| head'
|
||||
alias -g T='| tail'
|
||||
alias -g G='| grep'
|
||||
alias -g L="| less"
|
||||
alias -g C="| wc -l"
|
||||
alias -g S="| sort"
|
||||
alias -g U="| uniq"
|
||||
alias -g count="| wc -l"
|
||||
alias -g NO="1> /dev/null"
|
||||
alias -g NE="2> /dev/null"
|
||||
alias -g NUL="&> /dev/null"
|
||||
alias -g BG="&;disown"
|
||||
alias -g COL="| column -t"
|
||||
alias -g CLIP="| xclip -i -selection primary -f | xclip -i -selection clipboard"
|
||||
fi
|
||||
|
||||
# File default aliases
|
||||
if alias -s 2>/dev/null; then
|
||||
alias -s pdf="open"
|
||||
alias -s zip="unzip -l"
|
||||
alias -s rar="unrar l"
|
||||
alias -s tar="tar tf"
|
||||
alias -s gz="tar tf"
|
||||
alias -s jar="java -jar"
|
||||
alias -s git="git clone --recursive"
|
||||
fi
|
||||
|
||||
alias ..la="cd ..;la"
|
||||
alias ..ll="cd..;ll"
|
||||
alias ..l="..ll"
|
||||
|
||||
alias l=ll
|
||||
alias ls='ls --color=auto'
|
||||
alias ll="ls -lFh --group-directories-first"
|
||||
alias la="ls -lAFh --group-directories-first"
|
||||
alias lt='ls -lAFh --sort=time'
|
||||
alias ll='ls -lFh --group-directories-first'
|
||||
alias la='ls -lAFh --group-directories-first'
|
||||
alias lt='ls -lFh --sort=time'
|
||||
alias lat='ls -lAFh --sort=time'
|
||||
alias lsz='ls -lAFh --sort=size'
|
||||
alias al=la # No, I don't need the Mono Assembly Linker
|
||||
|
||||
alias md="mkdir -p"
|
||||
alias rd="rmdir -p"
|
||||
alias md='mkdir -p'
|
||||
alias rd='rmdir -p'
|
||||
alias -- -='cd -'
|
||||
alias cdt='cd `mktemp -d`'
|
||||
cdt() { cd "$(mktemp -d -t "${1:-tmp}.XXXXXXXX")"; }
|
||||
|
||||
alias svi=sudoedit
|
||||
alias svim=sudoedit
|
||||
@ -57,27 +46,26 @@ alias sudo='sudo '
|
||||
alias open=xdg-open
|
||||
|
||||
# Command rewrites
|
||||
alias rm='rm -i'
|
||||
alias rm='rm -iv'
|
||||
alias mv='mv -i'
|
||||
alias cp='cp -ir'
|
||||
alias scp='scp -r'
|
||||
alias dd='dd status=progress'
|
||||
alias ssh="ssh -tt"
|
||||
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file"
|
||||
alias wget='wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file'
|
||||
alias vi=vim
|
||||
alias grip='grip --user=frebib --pass=$GRIP_API_KEY'
|
||||
alias grip='grip --pass=$GRIP_API_KEY'
|
||||
alias acme.sh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
||||
alias acmesh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
||||
alias alpine-sdk='docker run -ti --rm \
|
||||
alias alpine-sdk="docker run -ti --rm \
|
||||
-e USER \
|
||||
-e UID="$(id -u)" \
|
||||
-e UID=\"\$(id -u)\" \
|
||||
-e PWD \
|
||||
-e HOME \
|
||||
-w $PWD \
|
||||
-v $PWD:$PWD \
|
||||
-v ~/.abuild:$HOME/.abuild \
|
||||
-w \$PWD \
|
||||
-v \$PWD:\$PWD \
|
||||
-v ~/.abuild:\$HOME/.abuild \
|
||||
-v ~/.abuild/distfiles:/var/cache/distfiles \
|
||||
frebib/alpine-sdk:edge'
|
||||
frebib/alpine-sdk:edge"
|
||||
alias abuild='alpine-sdk abuild'
|
||||
alias abuild-sign='alpine-sdk abuild-sign'
|
||||
alias apk='alpine-sdk apk'
|
||||
@ -101,9 +89,9 @@ vim --version 2>/dev/null | command grep -q +clientserver && \
|
||||
alias vim="vim --servername vim -p"
|
||||
|
||||
# Function aliases
|
||||
env() { command env $@ | stripansi | sort; }
|
||||
mcd(){ mkdir -p -- $@ && cd -- $@; }
|
||||
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
|
||||
env() { command env "$@" | stripansi | sort; }
|
||||
mcd(){ mkdir -p -- "$@" && cd -- "$@"; }
|
||||
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w "$1" | head -n 1; }
|
||||
|
||||
# System aliases
|
||||
alias sc="systemctl"
|
||||
@ -116,6 +104,7 @@ alias kl='killall -s 9'
|
||||
alias chx='chmod +x'
|
||||
|
||||
# Git Aliases
|
||||
alias git='TZ=UTC git'
|
||||
alias g=git
|
||||
alias ginit='git init'
|
||||
alias gignore='$EDITOR .gitignore'
|
||||
@ -123,7 +112,7 @@ alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
|
||||
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
|
||||
alias gcl="git clone --recursive"
|
||||
alias gco="git checkout"
|
||||
alias gcom="git checkout master"
|
||||
alias gcom="git checkout \"\$(git defbranch)\""
|
||||
alias ga="git add"
|
||||
alias gap="git add -p"
|
||||
alias gau="git add -u"
|
||||
@ -132,7 +121,7 @@ alias gaa="ga -A"
|
||||
alias grm="git rm"
|
||||
alias gc="git commit -s"
|
||||
alias gcm="git commit -s -em"
|
||||
alias gca="git commit -s --amend --date=\"$(date -R)\""
|
||||
alias gca="git commit -s --amend --date=\"\$(date -R)\""
|
||||
alias gcn="git commit -s --no-edit"
|
||||
alias gcan="gca -s --no-edit"
|
||||
alias gcam="gca -s -m"
|
||||
@ -142,20 +131,36 @@ alias gm="git merge"
|
||||
alias gma="git merge --abort"
|
||||
|
||||
alias grb="git rebase"
|
||||
alias grbi="grb -i"
|
||||
alias grba="grb --abort"
|
||||
alias grbc="grb --continue"
|
||||
alias grbsk="grb --skip"
|
||||
alias grbsh="grb --show-current"
|
||||
alias grbom="git rebase origin/master"
|
||||
alias grbom="git rebase \"origin/\$(git defbranch)\""
|
||||
gfrb() { remote="${1%/*}"; git fetch "$remote" && git rebase "$@"; }
|
||||
gfrbi() { remote="${1%/*}"; git fetch "$remote" && git rebase -i "$@"; }
|
||||
|
||||
alias gam="git am"
|
||||
alias gama="git am --abort"
|
||||
alias gamc="git am --continue"
|
||||
alias gamsk="git am --skip"
|
||||
|
||||
alias gcp="git cherry-pick"
|
||||
alias gcpa="git cherry-pick --abort"
|
||||
alias gcpc="git cherry-pick --continue"
|
||||
alias gcpsk="git cherry-pick --skip"
|
||||
|
||||
alias grv="git revert"
|
||||
alias grva="git revert --abort"
|
||||
alias grvc="git revert --continue"
|
||||
alias grvsk="git revert --skip"
|
||||
|
||||
alias gf="git fetch"
|
||||
alias gp="git push"
|
||||
alias gpf="gp --force"
|
||||
alias gpsu="git push --set-upstream"
|
||||
alias gpoH="git push origin HEAD"
|
||||
alias gpsuom="git push --set-upstream origin master"
|
||||
alias gpsuom="git push --set-upstream origin \"\$(git defbranch)\""
|
||||
alias gpall="git remote | xargs -L1 git push"
|
||||
alias gl="git pull --rebase"
|
||||
alias glp="gl && gp"
|
||||
@ -163,18 +168,18 @@ alias gd="git diff --patch-with-stat"
|
||||
alias gdni="gd --no-index"
|
||||
alias gds="gd --staged"
|
||||
alias gsh="git show --format=fuller --patch-with-stat"
|
||||
alias glg="git log --color --format=fuller --stat"
|
||||
alias glgp="git log --color --format=fuller --patch-with-stat"
|
||||
alias glg="git log --color --format=fuller --stat --no-merges --graph"
|
||||
alias glgp="git log --color --format=fuller --patch-with-stat --no-merges --graph"
|
||||
alias glog="git log --color --oneline --decorate --graph"
|
||||
|
||||
alias grst="git reset"
|
||||
alias gundo="git reset --keep @~1"
|
||||
alias gclean="git clean"
|
||||
alias gbr="git branch"
|
||||
alias gbrl="git for-each-ref --sort=committerdate refs/heads/ --format=\"%(refname:short)\" | fzf -x --ansi --multi --preview-window=right:70% --preview=\"git log --format=fuller --stat --color=always {} | head -n\$((\$(tput lines)*10))\""
|
||||
alias gtg="git tag"
|
||||
alias gbl="git blame"
|
||||
alias gr="git remote"
|
||||
alias grv="git remote -v"
|
||||
alias gra="gr add"
|
||||
alias grr="gr rm"
|
||||
alias grao="gra origin"
|
||||
@ -191,7 +196,7 @@ alias d=docker
|
||||
alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
||||
alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
||||
alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
|
||||
daddrs() { docker inspect ${1:-bridge} | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
|
||||
daddrs() { docker inspect "${1:-bridge}" | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
|
||||
alias din='docker inspect'
|
||||
alias drm='docker rm'
|
||||
alias drmi='docker rmi'
|
||||
@ -200,30 +205,32 @@ alias dbl='docker build --pull'
|
||||
alias dbl.='docker build --pull .'
|
||||
alias drun='docker run -ti'
|
||||
alias dkl='docker kill'
|
||||
dklrm() { docker kill $@ ; docker rm $@; }
|
||||
alias drmf='docker rm -f'
|
||||
alias dst='docker stop'
|
||||
alias drst='docker restart'
|
||||
alias dnet='docker network'
|
||||
alias dvol='docker volume'
|
||||
alias dlg='docker logs -f'
|
||||
alias dc='docker compose'
|
||||
alias dlg='docker logs --tail=1000 -f'
|
||||
alias dalpine='docker run -ti --rm spritsail/alpine /bin/sh'
|
||||
alias drm-stopped='docker container prune'
|
||||
alias drmi-untag='docker image prune'
|
||||
alias dprune='docker system prune -f'
|
||||
dsh() { do_dsh 2 exec $@; return $?; }
|
||||
_dsh() { __docker_complete_running_containers $@; }
|
||||
drsh() { do_dsh 4 run --rm --entrypoint= $@; return $?; }
|
||||
_drsh() { __docker_container_subcommand $@; }
|
||||
dsh() { do_dsh 2 exec "$@"; return $?; }
|
||||
_dsh() { __docker_complete_running_containers "$@"; }
|
||||
drsh() { do_dsh 4 run --rm --entrypoint= "$@"; return $?; }
|
||||
_drsh() { __docker_container_subcommand "$@"; }
|
||||
do_dsh() {
|
||||
local minargs=$1
|
||||
shift
|
||||
if [ $# -lt $minargs ]; then
|
||||
if [ $# -lt "$minargs" ]; then
|
||||
# shellcheck disable=SC2154
|
||||
echo "Usage: ${funcstack[2]} [user@]container [program [args]]" >&2
|
||||
return 64
|
||||
fi
|
||||
|
||||
local dowhat="$1"
|
||||
local docker_args=()
|
||||
local docker_args=("$dowhat" -ti)
|
||||
shift
|
||||
|
||||
while [ "${1:0:1}" = '-' ]; do
|
||||
@ -235,76 +242,84 @@ do_dsh() {
|
||||
shift
|
||||
done
|
||||
|
||||
local user="$(echo "$1" | cut -d'@' -f1 -s)"
|
||||
local prog="${@:2:$#}"
|
||||
local usercmd=""
|
||||
local user
|
||||
user="$(echo "$1" | cut -d@ -f1 -s)"
|
||||
|
||||
declare -a prog
|
||||
prog=("${@:2:$#}")
|
||||
if [ -z "$user" ]; then
|
||||
host="$1"
|
||||
else
|
||||
host=`echo $1 | cut -d'@' -f2 -s`
|
||||
usercmd="--user=$user"
|
||||
host="$(cut -d@ -f2 -s <<< "$1")"
|
||||
docker_args+=("--user=$user")
|
||||
fi
|
||||
|
||||
if [ "$dowhat" = 'exec' -a -z "$(docker ps -q -f name="$host")" <&- ]; then
|
||||
if [ "$dowhat" = exec ] && [ -z "$(docker ps -q -f name="$host" <&-)" ]; then
|
||||
echo "No such container $host" >&2
|
||||
return 5
|
||||
fi
|
||||
if [ "$dowhat" = run ]; then
|
||||
docker image pull "$host"
|
||||
fi
|
||||
|
||||
if [ -z "$prog" ]; then
|
||||
shell_args=()
|
||||
if [ ${#prog[@]} = 0 ]; then
|
||||
shell_args=("$dowhat")
|
||||
if [ "$dowhat" = 'run' ]; then
|
||||
shell_args=(--rm --entrypoint=)
|
||||
shell_args+=(--rm --entrypoint=)
|
||||
fi
|
||||
for shell in bash sh; do
|
||||
shell_path="$(set -o pipefail; docker $dowhat ${shell_args[@]} "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
|
||||
shell_path="$(set -o pipefail; docker "${shell_args[@]}" "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
|
||||
retval=$?
|
||||
if [ $retval -eq 0 ]; then
|
||||
prog="$shell_path"
|
||||
prog=("$shell_path")
|
||||
break
|
||||
elif [ $retval -ge 125 ]; then
|
||||
return
|
||||
fi
|
||||
done
|
||||
if [ -z "$prog" ]; then
|
||||
if [ ${#prog[@]} = 0 ]; then
|
||||
echo "Warning: No shell found in path.. trying /bin/sh" >&2
|
||||
prog=/bin/sh
|
||||
prog=(/bin/sh)
|
||||
fi
|
||||
fi
|
||||
|
||||
docker $dowhat ${docker_args[@]} -ti $usercmd $host $(xargs <<< $prog)
|
||||
docker "${docker_args[@]}" "$host" "${prog[@]}"
|
||||
}
|
||||
|
||||
alias dc='docker-compose'
|
||||
alias dm='docker-machine'
|
||||
dmc() { eval $(docker-machine env $1); }
|
||||
dmc() { eval "$(docker-machine env "$1")"; }
|
||||
|
||||
# ZFS aliases
|
||||
alias zfs='sudo zfs'
|
||||
alias zpool='sudo zpool'
|
||||
alias z=zfs
|
||||
alias zp=zpool
|
||||
zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
|
||||
_zl() { _zfs "list $@"; }
|
||||
zl() { (set -o pipefail; command zfs list "$@" | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
|
||||
_zl() { _zfs "list $*"; }
|
||||
|
||||
# General Aliases
|
||||
alias ssha='eval `ssh-agent` ; ssh-add'
|
||||
alias aliases="$EDITOR $DOTFILES/aliases ; exec zsh"
|
||||
alias vimrc="$EDITOR $VIMRC"
|
||||
alias zshrc="$EDITOR ${ZDOTDIR:-$HOME}/.zshrc ; exec zsh"
|
||||
alias gitrc="$EDITOR $XDG_CONFIG_HOME/git/config"
|
||||
alias xinitrc="$EDITOR $XDG_CONFIG_HOME/X11/xinitrc"
|
||||
alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
|
||||
alias sshc="$EDITOR ~/.ssh/config"
|
||||
alias dotfiles="cd $DOTFILES"
|
||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
|
||||
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; systemctl --user restart polybar@i3bar"
|
||||
alias ssha="eval \"\$(ssh-agent)\"; ssh-add"
|
||||
# shellcheck disable=SC2139
|
||||
alias aliases="\$EDITOR $thisfile ; exec zsh"
|
||||
alias vimrc="\$EDITOR \$VIMRC"
|
||||
alias zshrc="\$EDITOR \${ZDOTDIR:-\$HOME}/.zshrc ; exec zsh"
|
||||
alias gitrc="\$EDITOR \$XDG_CONFIG_HOME/git/config"
|
||||
alias xinitrc="\$EDITOR \$XDG_CONFIG_HOME/X11/xinitrc"
|
||||
alias xresources="\$EDITOR \$XDG_CONFIG_HOME/X11/xresources ; xrdb merge \$XDG_CONFIG_HOME/X11/xresources"
|
||||
alias sshc="\$EDITOR ~/.ssh/config"
|
||||
alias dotfiles="cd \$XDG_CONFIG_HOME"
|
||||
alias i3c="\$EDITOR \$XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
|
||||
alias polybarc="\$EDITOR \$XDG_CONFIG_HOME/polybar/config.ini; systemctl --user reload polybar@i3bar"
|
||||
|
||||
alias sf=screenfetch
|
||||
alias nf=neofetch
|
||||
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
||||
|
||||
# Networking aliases
|
||||
alias ipa="ip a"
|
||||
alias addrs="ip a | grep inet | grep -ve fe80 -e '127\\.0\\.0\\.1/8' -e '::1/128' | sort -n | sed 's/^\\s*//'"
|
||||
|
||||
# alertmanager
|
||||
alias alert='amtool alert'
|
||||
alias silence='amtool silence'
|
||||
alias expire='amtool silence expire'
|
||||
unsilence() { { for inst in "$@"; do amtool silence query instance=$inst | grep -Po '^([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})' | tee /dev/stderr | xargs -r amtool silence expire & done; wait; } | cat }
|
||||
|
||||
# vim: ft=sh
|
||||
|
@ -51,21 +51,16 @@
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# The geometry of the window:
|
||||
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||
# The geometry of the message window.
|
||||
# The height is measured in number of notifications everything else
|
||||
# in pixels. If the width is omitted but the height is given
|
||||
# ("-geometry x2"), the message window expands over the whole screen
|
||||
# (dmenu-like). If width is 0, the window expands to the longest
|
||||
# message displayed. A positive x is measured from the left, a
|
||||
# negative from the right side of the screen. Y is measured from
|
||||
# the top and down respectevly.
|
||||
# The width can be negative. In this case the actual width is the
|
||||
# screen width minus the width defined in within the geometry option.
|
||||
# dynamic width from 0 to 400
|
||||
# width = (0, 400)
|
||||
# constant width of 400
|
||||
width = (320, 360)
|
||||
|
||||
# 53 = 30 + 23 (bar-height)
|
||||
geometry = "360x5-30+30"
|
||||
# Position the notification in the top right corner
|
||||
origin = top-right
|
||||
|
||||
# Offset from the origin
|
||||
offset = 30x30
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
@ -74,7 +69,7 @@
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing windowmanager is
|
||||
# present (e.g. xcompmgr, compiz, etc.).
|
||||
transparency = 15
|
||||
transparency = 20
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
14
environment.d/10-profile.conf
Normal file
14
environment.d/10-profile.conf
Normal file
@ -0,0 +1,14 @@
|
||||
LC_ALL="en_GB.UTF-8"
|
||||
LANG="en_GB.UTF-8"
|
||||
LC_NUMERIC="en_GB"
|
||||
|
||||
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
|
||||
XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||
|
||||
EDITOR="vim"
|
||||
VISUAL="vim"
|
||||
|
||||
PATH="${PATH}:/sbin:/usr/sbin:${HOME}/.local/bin:${XDG_CONFIG_HOME}/scripts"
|
||||
|
||||
# vim: ft=sh
|
27
environment.d/20-xdg-overrides.conf
Normal file
27
environment.d/20-xdg-overrides.conf
Normal file
@ -0,0 +1,27 @@
|
||||
# Override paths for non-compliant programs
|
||||
# https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
|
||||
|
||||
ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
|
||||
CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||
GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
|
||||
GEM_HOME="$XDG_DATA_HOME/gem"
|
||||
GEM_SPEC_CACHE="$XDG_CACHE_HOME/gem"
|
||||
GOPATH="$XDG_DATA_HOME/go"
|
||||
ICEAUTHORITY="$XDG_CACHE_HOME/ICEauthority"
|
||||
NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
|
||||
PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
||||
PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup"
|
||||
RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||
TERMINFO="$XDG_DATA_HOME/terminfo"
|
||||
TERMINFO_DIRS="$XDG_DATA_HOME/terminfo:/usr/share/terminfo"
|
||||
TS3_CONFIG_DIR="$XDG_CONFIG_HOME/teamspeak3"
|
||||
VIMDIR="$XDG_CONFIG_HOME/vim"
|
||||
VIMRC="$VIMDIR/vimrc"
|
||||
VIMINIT=":so $VIMRC"
|
||||
WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"
|
||||
XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
|
||||
ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
|
||||
PATH="${PATH}:${GOPATH}/bin:${GEM_HOME}/ruby/3.0.0/bin"
|
||||
|
||||
# vim: ft=sh
|
@ -6,25 +6,44 @@
|
||||
<edit name="family" mode="prepend" binding="strong">
|
||||
<string>Noto Sans</string>
|
||||
<string>Noto Color Emoji</string>
|
||||
<string>FontAwesome 5 Pro Light</string>
|
||||
<string>FontAwesome 6 Pro Light</string>
|
||||
</edit>
|
||||
|
||||
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
|
||||
<edit mode="assign" name="hinting"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match>
|
||||
<test qual="any" name="family"><string>serif</string></test>
|
||||
<edit name="family" mode="prepend" binding="strong">
|
||||
<string>Noto Serif</string>
|
||||
<string>Noto Color Emoji</string>
|
||||
<string>FontAwesome 5 Pro Light</string>
|
||||
<string>FontAwesome 6 Pro Light</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match>
|
||||
<test qual="any" name="family"><string>monospace</string></test>
|
||||
<edit name="family" mode="prepend" binding="strong">
|
||||
<string>Source Code Pro</string>
|
||||
<string>Noto Color Emoji</string>
|
||||
<string>FontAwesome 5 Pro Light</string>
|
||||
<string>FontAwesome 6 Pro Light</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match>
|
||||
<test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
|
||||
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
|
||||
</match>
|
||||
|
||||
<match>
|
||||
<test qual="all" name="family" compare="eq"><string>Source Code Pro</string></test>
|
||||
<edit name="antialias" mode="assign_replace"><bool>false</bool></edit>
|
||||
<edit name="hintstyle" mode="assign_replace"><const>hintfull</const></edit>
|
||||
<edit name="lcdfilter" mode="assign_replace"><const>lcddefault</const></edit>
|
||||
<edit name="rgba" mode="assign_replace"><const>rgb</const></edit>
|
||||
</match>
|
||||
|
||||
<alias>
|
||||
<family>SF Mono</family>
|
||||
<accept>
|
||||
@ -32,13 +51,8 @@
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<match target="font">
|
||||
<test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
|
||||
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test qual="all" name="family" compare="eq"><string>Source Code Pro</string></test>
|
||||
<edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
|
||||
<match>
|
||||
<edit name="antialias" mode="assign"><bool>true</bool></edit>
|
||||
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
|
||||
<edit name="rgba" mode="assign"><const>rgb</const></edit>
|
||||
</match>
|
82
fsh/fish.ini
Normal file
82
fsh/fish.ini
Normal file
@ -0,0 +1,82 @@
|
||||
[base]
|
||||
default = 12
|
||||
unknown-token = red,bold
|
||||
commandseparator = cyan
|
||||
redirection = cyan,bold
|
||||
here-string-tri = yellow
|
||||
here-string-text = 18
|
||||
here-string-var = cyan,bg:18
|
||||
exec-descriptor = yellow,bold
|
||||
comment = 7
|
||||
correct-subtle = 12
|
||||
incorrect-subtle = red
|
||||
subtle-separator = green
|
||||
subtle-bg = bg:18
|
||||
secondary =
|
||||
recursive-base =
|
||||
|
||||
[command-point]
|
||||
reserved-word = yellow
|
||||
subcommand = yellow
|
||||
alias = blue
|
||||
suffix-alias = green
|
||||
global-alias = blue,bold
|
||||
builtin = blue
|
||||
function = blue
|
||||
command = blue
|
||||
precommand = blue
|
||||
hashed-command = green
|
||||
single-sq-bracket = green
|
||||
double-sq-bracket = green
|
||||
double-paren = yellow
|
||||
|
||||
[paths]
|
||||
path = cyan
|
||||
pathseparator = cyan
|
||||
path-to-dir = magenta,underline
|
||||
globbing = red
|
||||
globbing-ext = 13
|
||||
|
||||
[brackets]
|
||||
paired-bracket = bg:blue
|
||||
bracket-level-1 = green,bold
|
||||
bracket-level-2 = yellow,bold
|
||||
bracket-level-3 = cyan,bold
|
||||
|
||||
[arguments]
|
||||
single-hyphen-option = 12
|
||||
double-hyphen-option = 12
|
||||
back-quoted-argument = none
|
||||
single-quoted-argument = yellow
|
||||
double-quoted-argument = yellow
|
||||
dollar-quoted-argument = yellow
|
||||
|
||||
[in-string]
|
||||
; backslash in $'...'
|
||||
back-dollar-quoted-argument = cyan
|
||||
; backslash or $... in "..."
|
||||
back-or-dollar-double-quoted-argument = cyan
|
||||
|
||||
[other]
|
||||
variable = 113
|
||||
assign = green
|
||||
assign-array-bracket = green
|
||||
history-expansion = blue,bold
|
||||
|
||||
[math]
|
||||
mathvar = blue,bold
|
||||
mathnum = magenta
|
||||
matherr = red
|
||||
|
||||
[for-loop]
|
||||
forvar = none
|
||||
fornum = magenta
|
||||
; operator
|
||||
foroper = yellow
|
||||
; separator
|
||||
forsep = yellow,bold
|
||||
|
||||
[case]
|
||||
case-input = green
|
||||
case-parentheses = yellow
|
||||
case-condition = bg:blue
|
@ -5,9 +5,11 @@
|
||||
[core]
|
||||
autocrlf = input
|
||||
excludesfile = /home/frebib/.config/git/gitignore
|
||||
pager = diff-highlight | $PAGER
|
||||
pager = delta --diff-so-fancy --color-only
|
||||
[init]
|
||||
defaultBranch = master
|
||||
[interactive]
|
||||
diffFilter = diff-highlight
|
||||
diffFilter = delta --diff-so-fancy --color-only
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[fetch]
|
||||
@ -17,8 +19,16 @@
|
||||
[pull]
|
||||
rebase = true
|
||||
prune = true
|
||||
[merge]
|
||||
ff = only
|
||||
[rebase]
|
||||
autoStash = true
|
||||
[remote "origin"]
|
||||
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
|
||||
[remote "upstream"]
|
||||
fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
|
||||
[log]
|
||||
date = iso8601-local
|
||||
[format]
|
||||
pretty = format:%h %Cblue%ad%Creset %ae %Cgreen%s%Creset
|
||||
[alias]
|
||||
@ -27,9 +37,12 @@
|
||||
count = !echo $(pwd) && git rev-list HEAD --count
|
||||
unpushed = !git log --oneline @{u}..HEAD
|
||||
leaders = !git shortlog -s -n --all --no-merges
|
||||
defbranch = !git symbolic-ref refs/remotes/origin/HEAD | sed \"s@^refs/remotes/origin/@@\"
|
||||
rbranch = for-each-ref --sort='committerdate' --format="%20%20%(refname:short)" refs/heads/
|
||||
[advice]
|
||||
statusHints = false
|
||||
pushUpdateRejected = false
|
||||
detachedHead = false
|
||||
[sendemail]
|
||||
from = Joe Groocock <me@frebib.net>
|
||||
smtpserver = smtp.zoho.com
|
@ -1,11 +1,8 @@
|
||||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
gtk-theme-name="Arc-Dark"
|
||||
gtk-icon-theme-name="Xenlism-Wildfire"
|
||||
gtk-font-name="Noto Sans 9"
|
||||
gtk-cursor-theme-name="Breeze_Obsidian"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-font-name="sans 9"
|
||||
gtk-cursor-theme-name="BreezeX-Black"
|
||||
gtk-cursor-theme-size=28
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
@ -2,9 +2,9 @@
|
||||
gtk-theme-name=Arc-Dark
|
||||
gtk-icon-theme-name=Xenlism-Wildfire
|
||||
gtk-application-prefer-dark-theme=true
|
||||
gtk-font-name=Noto Sans 9
|
||||
gtk-cursor-theme-name=Breeze_Obsidian
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-font-name=sans 9
|
||||
gtk-cursor-theme-name=BreezeX-Black
|
||||
gtk-cursor-theme-size=28
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
1
gtk-4.0/settings.ini
Symbolic link
1
gtk-4.0/settings.ini
Symbolic link
@ -0,0 +1 @@
|
||||
../gtk-3.0/settings.ini
|
@ -107,8 +107,6 @@ client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-co
|
||||
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color
|
||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color
|
||||
|
||||
exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
||||
# Window rules
|
||||
for_window [class="Pinentry"] floating enable
|
||||
for_window [class="Pavucontrol"] floating enable
|
||||
@ -117,7 +115,7 @@ for_window [class="floating-term" instance="termite"] floating enable
|
||||
for_window [class="Alacritty" instance="floating-term"] floating enable
|
||||
for_window [class="^jetbrains-.+$" title="win0"] floating enable
|
||||
for_window [window_role="floating-term"] floating enable
|
||||
for_window [title="^rofi$"] floating enable
|
||||
for_window [class="^Rofi$"] floating enable
|
||||
|
||||
new_window none
|
||||
new_float none
|
||||
@ -132,7 +130,7 @@ popup_during_fullscreen smart
|
||||
bindsym $mod+Shift+j reload
|
||||
bindsym --release $mod+x exec xkill
|
||||
bindsym $mod+c exec notify-send "Try again" "You meant \\\$mod+b"
|
||||
bindsym $mod+b exec systemd-run-i3 -c -s firefox firefox
|
||||
bindsym $mod+b exec systemd-run-i3 -n firefox
|
||||
bindsym $mod+Return exec systemd-run-i3 -n alacritty
|
||||
bindsym $mod+Ctrl+Return exec systemd-run-i3 -n alacritty --class floating
|
||||
bindsym $mod+Shift+Return exec systemd-run-i3 -n alacritty --working-directory "$(xcwd)"
|
||||
@ -141,17 +139,20 @@ bindsym $mod+v exec systemd-run-i3 -n alacritty -e sh -c "($SHE
|
||||
bindsym $mod+Ctrl+v exec systemd-run-i3 -n alacritty --class floating -e sh -c "($SHELL -c $EDITOR || : ) && $SHELL"
|
||||
bindsym $mod+l exec dm-tool switch-to-greeter
|
||||
bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window -run-command 'systemd-run-i3 -n {cmd}'"
|
||||
bindsym $mod+Shift+p exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g'
|
||||
bindsym $mod+Shift+p exec systemd-run-i3 -n rofi-rbw
|
||||
bindsym $mod+Shift+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
|
||||
bindsym $mod+Shift+i exec rofi-fontawesome
|
||||
bindsym --release Print exec screenshot
|
||||
bindsym --release $mod+Print exec imgur-screenshot
|
||||
bindsym --release Print exec screenshot --clip
|
||||
bindsym --release $mod+Print exec screenshot
|
||||
bindsym --release Shift+Print exec screenshot --active
|
||||
bindsym --release $mod+Shift+Print exec screenshot --active --clip
|
||||
bindsym $mod+Shift+x exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))"
|
||||
bindsym $mod+$alt+space exec systemd-run-i3 -n ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks
|
||||
bindsym $mod+$alt+space exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py
|
||||
bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
|
||||
bindsym $mod+r exec systemd-run-i3 -n bash -c 'pwgen -nc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i'
|
||||
bindsym $mod+g exec systemd-run-i3 -n notify-send -c transfer "$(gist -PRpc)"
|
||||
bindsym --release $mod+i exec systemd-run-i3 -n sh -c 'sleep 0.5 && xdotool type --delay 400 "$(xclip -o -selection clipboard)"'
|
||||
bindsym $mod+r exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r'
|
||||
bindsym $mod+g exec systemd-run-i3 -n bash -xc 'xclip -o | gh gist create -d Paste - 2>&1 | grep -vE "^[-✓] Creat(ing|ed) gist" | tee >(xclip -i >&2 >/dev/null) | xargs -I% --null -r notify-send -c transfer -- %'
|
||||
bindsym --release $mod+i exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 10 -- "$(xclip -o -selection clipboard)"'
|
||||
bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp
|
||||
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause
|
||||
@ -162,7 +163,7 @@ bindsym XF86AudioPrev exec --no-startup-id playerctl -a previous
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1000
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1000
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindsym XF86MonBrightnessUp exec light -A 5 && pkill -RTMIN+12 i3blocks
|
||||
bindsym XF86MonBrightnessDown exec light -U 5 && pkill -RTMIN+12 i3blocks
|
||||
bindsym XF86MonBrightnessUp exec light -A 5
|
||||
bindsym XF86MonBrightnessDown exec light -U 5
|
||||
|
||||
# vim:ft=i3
|
@ -11,7 +11,7 @@ case $option in
|
||||
power\ off) systemctl poweroff;;
|
||||
reboot) systemctl reboot;;
|
||||
windows)
|
||||
windows=`efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4`
|
||||
windows="$(efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4)"
|
||||
sudo efibootmgr -n $windows
|
||||
reboot;;
|
||||
systemctl reboot;;
|
||||
esac
|
55
ideavim/ideavimrc
Normal file
55
ideavim/ideavimrc
Normal file
@ -0,0 +1,55 @@
|
||||
noremap d h
|
||||
noremap h j
|
||||
noremap t k
|
||||
noremap n l
|
||||
noremap D H
|
||||
noremap H J
|
||||
noremap T K
|
||||
noremap N L
|
||||
|
||||
noremap gh gj
|
||||
noremap gt gk
|
||||
|
||||
" I work with tabs every now and then. No, I don't have a mnemonic, so
|
||||
" stfu.
|
||||
noremap gj gt
|
||||
noremap gJ gT
|
||||
|
||||
" Window movement, equally important
|
||||
noremap <C-w>d <C-w>h
|
||||
noremap <C-w>h <C-w>j
|
||||
noremap <C-w>t <C-w>k
|
||||
noremap <C-w>n <C-w>l
|
||||
|
||||
nnoremap <C-w><C-d> <C-w><C-h>
|
||||
nnoremap <C-w><C-h> <C-w><C-j>
|
||||
nnoremap <C-w><C-t> <C-w><C-k>
|
||||
nnoremap <C-w><C-n> <C-w><C-l>
|
||||
|
||||
nnoremap <C-d> <C-w>h
|
||||
nnoremap <C-h> <C-w>j
|
||||
nnoremap <C-t> <C-w>k
|
||||
nnoremap <C-n> <C-w>l
|
||||
|
||||
" Account for tag jumping
|
||||
nnoremap <C-j> <C-t>
|
||||
|
||||
" Remappings for the D key
|
||||
noremap k d
|
||||
noremap K D
|
||||
|
||||
" Remappings for the T key
|
||||
noremap j t
|
||||
"noremap J T
|
||||
|
||||
" Remapping for the L key
|
||||
noremap l n
|
||||
noremap L N
|
||||
|
||||
" General purpose help; the originals remain for convenience
|
||||
noremap - 0
|
||||
noremap _ $
|
||||
|
||||
" Fold-related keybindings
|
||||
noremap zh zj
|
||||
noremap zt zk
|
42
mimeapps.list
Normal file
42
mimeapps.list
Normal file
@ -0,0 +1,42 @@
|
||||
[Default Applications]
|
||||
|
||||
# eog for images
|
||||
image/bmp=org.gnome.eog.desktop
|
||||
image/gif=org.gnome.eog.desktop
|
||||
image/jpeg=org.gnome.eog.desktop
|
||||
image/jpg=org.gnome.eog.desktop
|
||||
image/pjpeg=org.gnome.eog.desktop
|
||||
image/png=org.gnome.eog.desktop
|
||||
image/svg+xml-compressed=org.gnome.eog.desktop
|
||||
image/svg+xml=org.gnome.eog.desktop
|
||||
image/tiff=org.gnome.eog.desktop
|
||||
image/x-bmp=org.gnome.eog.desktop
|
||||
image/x-gray=org.gnome.eog.desktop
|
||||
image/x-icb=org.gnome.eog.desktop
|
||||
image/x-ico=org.gnome.eog.desktop
|
||||
image/x-png=org.gnome.eog.desktop
|
||||
image/x-portable-anymap=org.gnome.eog.desktop
|
||||
image/x-portable-bitmap=org.gnome.eog.desktop
|
||||
image/x-portable-graymap=org.gnome.eog.desktop
|
||||
image/x-portable-pixmap=org.gnome.eog.desktop
|
||||
|
||||
# evince for pdfs
|
||||
application/pdf=org.gnome.Evince.desktop
|
||||
|
||||
# vim for textual files
|
||||
application/x-shellscript=vim.desktop
|
||||
text/english=vim.desktop
|
||||
text/plain=vim.desktop
|
||||
text/x-makefile=vim.desktop
|
||||
|
||||
# Firefox for web/html
|
||||
text/html=firefox.desktop
|
||||
x-scheme-handler/about=firefox.desktop
|
||||
x-scheme-handler/http=firefox.desktop
|
||||
x-scheme-handler/https=firefox.desktop
|
||||
x-scheme-handler/unknown=firefox.desktop
|
||||
|
||||
# Various desktop applications
|
||||
inode/directory=nautilus.desktop
|
||||
x-scheme-handler/magnet=deluge.desktop
|
||||
x-scheme-handler/tg=telegramdesktop.desktop
|
41
parcellite/parcelliterc
Normal file
41
parcellite/parcelliterc
Normal file
@ -0,0 +1,41 @@
|
||||
[rc]
|
||||
RCVersion=1
|
||||
use_copy=true
|
||||
use_primary=true
|
||||
synchronize=true
|
||||
save_history=true
|
||||
history_pos=false
|
||||
history_x=1
|
||||
history_y=1
|
||||
history_limit=25
|
||||
data_size=0
|
||||
item_size=5
|
||||
automatic_paste=true
|
||||
auto_key=false
|
||||
auto_mouse=true
|
||||
key_input=true
|
||||
restore_empty=true
|
||||
rc_edit=false
|
||||
type_search=false
|
||||
case_search=false
|
||||
ignore_whiteonly=false
|
||||
trim_wspace_begend=false
|
||||
trim_newline=false
|
||||
hyperlinks_only=false
|
||||
confirm_clear=true
|
||||
current_on_top=true
|
||||
single_line=true
|
||||
reverse_history=false
|
||||
item_length=50
|
||||
persistent_history=false
|
||||
persistent_separate=false
|
||||
persistent_on_top=false
|
||||
persistent_delim=\\n
|
||||
nonprint_disp=false
|
||||
ellipsize=2
|
||||
multi_user=false
|
||||
icon_name=parcellite
|
||||
menu_key=<Ctrl><Alt>P
|
||||
history_key=<Ctrl><Alt>H
|
||||
phistory_key=<Ctrl><Alt>X
|
||||
actions_key=<Ctrl><Alt>A
|
152
picom/picom.conf
Normal file
152
picom/picom.conf
Normal file
@ -0,0 +1,152 @@
|
||||
# Logging
|
||||
log-level = "info";
|
||||
#log-file = "/home/frebib/.local/share/picom.log";
|
||||
|
||||
# Shadow
|
||||
shadow = true;
|
||||
shadow-radius = 30;
|
||||
shadow-offset-x = -30;
|
||||
shadow-offset-y = -24;
|
||||
shadow-opacity = 0.4;
|
||||
shadow-color = "#000000";
|
||||
shadow-exclude = [
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
|
||||
"name = 'Notification'",
|
||||
"name = 'cpt_frame_window'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
# shadow-exclude-reg = "x10+0+0";
|
||||
# shadow-ignore-shaped = true;
|
||||
xinerama-shadow-crop = true;
|
||||
|
||||
# Opacity
|
||||
frame-opacity = 1.0;
|
||||
active-opacity = 1.0;
|
||||
inactive-opacity = 0.5;
|
||||
inactive-opacity-override = true;
|
||||
# inactive-dim = 0.2;
|
||||
# inactive-dim-fixed = true;
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
|
||||
# Blurring
|
||||
blur:
|
||||
{
|
||||
method = "dual_kawase";
|
||||
strength = 12;
|
||||
};
|
||||
blur-background-frame = true;
|
||||
blur-background-fixed = true;
|
||||
blur-background-exclude = [
|
||||
"class_g = 'Peek'",
|
||||
"class_g = 'Onboard'",
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'Polybar'",
|
||||
"class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c",
|
||||
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
|
||||
# Corners
|
||||
corner-radius = 9;
|
||||
|
||||
# Fading
|
||||
fading = true;
|
||||
fade-delta = 10;
|
||||
fade-in-step = 0.035;
|
||||
fade-out-step = 0.06;
|
||||
no-fading-openclose = false;
|
||||
no-fading-destroyed-argb = false;
|
||||
# fade-exclude = [ ];
|
||||
|
||||
# Focus
|
||||
focus-exclude = [
|
||||
"i:ai:chromium",
|
||||
"class_g = 'firefox'",
|
||||
"class_g = 'zoom'",
|
||||
"class_g = 'guvcview'",
|
||||
"class_g = 'Entangle'",
|
||||
"class_g = 'obs'",
|
||||
"class_g = 'parsecd'",
|
||||
"class_g = 'discord'",
|
||||
"class_g = 'steam_app_271590'"
|
||||
];
|
||||
|
||||
transition-length = 350;
|
||||
transition-pow-x = 0.3;
|
||||
transition-pow-y = 0.3;
|
||||
size-transition = true;
|
||||
|
||||
# Other
|
||||
# https://github.com/yshui/picom/blob/next/picom.sample.conf#L203
|
||||
backend = "glx";
|
||||
vsync = true;
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
use-ewmh-active-win = true;
|
||||
# unredir-if-possible = true;
|
||||
# unredir-if-possible-delay = 5000;
|
||||
# unredir-if-possible-exclude = [ ];
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
invert-color-include = [ ];
|
||||
resize-damage = 1;
|
||||
|
||||
# GLX backend
|
||||
glx-no-stencil = true;
|
||||
glx-no-rebind-pixmap = true;
|
||||
# xrender-sync-fence = true;
|
||||
# no-use-damage = false;
|
||||
use-damage = true;
|
||||
|
||||
# Window type settings
|
||||
wintypes: {
|
||||
tooltip = {
|
||||
opacity = 0.75;
|
||||
full-shadow = false;
|
||||
blur-background = false;
|
||||
}
|
||||
|
||||
dock = {
|
||||
# Prevents polybar getting a forehead-shadow
|
||||
shadow = false;
|
||||
}
|
||||
|
||||
dnd = {
|
||||
# Prevents dragged text in a browser getting blur/shadow
|
||||
shadow = false;
|
||||
blur-background = false;
|
||||
}
|
||||
|
||||
popup_menu = {
|
||||
opacity = 0.8;
|
||||
}
|
||||
|
||||
dropdown_menu = {
|
||||
opacity = 0.8;
|
||||
}
|
||||
};
|
||||
|
||||
#animations = true;
|
||||
#animation-clamping = false;
|
||||
#animation-dampening = 1.0;
|
||||
#animation-window-mass = 0.125;
|
||||
#animation-unmap = "fade-out";
|
||||
#animation-for-unmap-window = "zoom";
|
||||
#animation-for-open-window = "auto";
|
||||
#animation-workspace-in = "slide-left";
|
||||
#animation-workspace-out = "slide-left";
|
||||
#animation-for-workspace-switch-in = "auto";
|
||||
#animation-for-workspace-switch-out = "auto";
|
||||
#animation-for-transient-window = "zoom";
|
||||
|
||||
# vim: ft=conf noet
|
@ -1,5 +1,5 @@
|
||||
[colours]
|
||||
background = transparent
|
||||
background = #0000
|
||||
text = #eceff1
|
||||
icon = #147a82
|
||||
warning = #ffcb00
|
||||
@ -10,25 +10,23 @@ urgent = #e53935
|
||||
format-foreground = ${colours.text}
|
||||
format-background = ${colours.background}
|
||||
format-spacing = 0
|
||||
format-margin = 2.5
|
||||
format-margin = 3
|
||||
format-offset = 0
|
||||
|
||||
screenchange-reload = true
|
||||
|
||||
[bar/i3bar]
|
||||
monitor = ${env:MONITOR:HDMI-0}
|
||||
dpi = ${xrdb:Xft.dpi:96}
|
||||
fixed-center = false
|
||||
enable-ipc = true
|
||||
|
||||
width = 100%
|
||||
#offset-x = 18px
|
||||
height = 16pt
|
||||
bottom = true
|
||||
radius = 0
|
||||
|
||||
font-0 = sans:pixelsize=9;2
|
||||
font-1 = FontAwesome5ProLight:pixelsize=10;2
|
||||
font-0 = sans:pixelsize=9;2pt
|
||||
font-1 = FontAwesome6ProLight:pixelsize=10;2pt
|
||||
|
||||
foreground = ${colours.text}
|
||||
background = ${colours.background}
|
||||
@ -39,7 +37,7 @@ padding-right = 2pt
|
||||
border-size = 0
|
||||
border-left-size = 16pt
|
||||
border-right-size = 16pt
|
||||
border-bottom-size = 8pt
|
||||
border-bottom-size = 10pt
|
||||
|
||||
line-size = 0
|
||||
line-colour = #f00
|
||||
@ -47,14 +45,14 @@ line-colour = #f00
|
||||
modules-left = i3
|
||||
modules-center =
|
||||
# modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
||||
modules-right = volume updates weather wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
||||
modules-right = volume updates weather wlan eth memory cpu xbacklight battery cputemp gputemp date
|
||||
|
||||
tray-position = right
|
||||
tray-detached = false
|
||||
tray-background = ${colours.background}
|
||||
#tray-offset-x = -20
|
||||
#tray-offset-y = 0
|
||||
tray-maxsize = 16
|
||||
tray-maxsize = 16pt
|
||||
tray-padding = 8pt
|
||||
tray-scale = 1.0
|
||||
|
||||
@ -189,10 +187,10 @@ ramp-signal-foreground = ${colours.icon}
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = eth0
|
||||
interval = 3.0
|
||||
interface = lan
|
||||
interval = 10.0
|
||||
|
||||
label-connected = %local_ip%
|
||||
label-connected = %local_ip% & %local_ip6%
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colours.icon}
|
||||
format-connected-underline = ${colours.background}
|
||||
@ -269,7 +267,7 @@ ramp-capacity-1-foreground = ${colours.warning}
|
||||
|
||||
[module/cputemp]
|
||||
type = internal/temperature
|
||||
hwmon-path = /sys/devices/platform/nct6775.656/hwmon/hwmon1/temp2_input
|
||||
hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp2_input
|
||||
base-temperature = 25
|
||||
|
||||
format = <ramp> <label>
|
24
python/startup
Normal file
24
python/startup
Normal file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import atexit
|
||||
import os
|
||||
import readline
|
||||
|
||||
xdg_cache_home = os.environ['XDG_CACHE_HOME']
|
||||
|
||||
if xdg_cache_home is None or xdg_cache_home == "":
|
||||
xdg_cache_home = os.path.join(os.path.expanduser("~"), ".cache")
|
||||
|
||||
python_cache_dir = os.path.join(xdg_cache_home, "python")
|
||||
if not os.path.isdir(python_cache_dir):
|
||||
os.mkdir(python_cache_dir)
|
||||
|
||||
histfile = os.path.join(python_cache_dir, "history")
|
||||
|
||||
try:
|
||||
readline.read_history_file(histfile)
|
||||
readline.set_history_length(10000)
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
atexit.register(readline.write_history_file, histfile)
|
@ -8,7 +8,7 @@ window {
|
||||
border: 0.3em;
|
||||
border-color: #2f343f;
|
||||
padding: 0.8em;
|
||||
background-color: rgba(56, 60, 74, 0.95);
|
||||
background-color: rgba(56, 60, 74, 0.9);
|
||||
transparency: "real";
|
||||
}
|
||||
|
@ -1,15 +1,12 @@
|
||||
configuration {
|
||||
theme: "arc-dark";
|
||||
font: "sans 14";
|
||||
dpi: 0;
|
||||
width: 35;
|
||||
lines: 10;
|
||||
|
||||
/* show-icons: true; */
|
||||
separator-style: "solid";
|
||||
modi: "window,run,ssh";
|
||||
kb-row-tab: "Shift-Tab";
|
||||
kb-row-select: "Tab";
|
||||
/* kb-row-tab: "Shift-Tab"; */
|
||||
/* kb-row-select: "Tab"; */
|
||||
terminal: "i3-sensible-terminal";
|
||||
|
||||
matching: "glob";
|
||||
@ -142,4 +139,15 @@ configuration {
|
||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||
}
|
||||
|
||||
@theme "arc-dark"
|
||||
|
||||
window {
|
||||
width: 700;
|
||||
}
|
||||
|
||||
listview {
|
||||
lines: 10;
|
||||
columns: 1;
|
||||
}
|
||||
|
||||
/* vim: ft=css sw=2 */
|
@ -10,5 +10,3 @@ xrandr --output $BOTTOM_LEFT --primary --mode 1920x1080 --pos 0x1080 --rotate no
|
||||
--output $TOP_LEFT --mode 1920x1080 --pos 0x0 --rotate inverted \
|
||||
--output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
|
||||
--output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
@ -15,5 +15,3 @@ MODENAME=${MODELINE%% *}
|
||||
xrandr --newmode $MODELINE 2>/dev/null || true
|
||||
xrandr --addmode $OUTPUT $MODENAME 2>/dev/null || true
|
||||
xrandr --output $OUTPUT --mode $MODENAME
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
76
scripts/dpi
76
scripts/dpi
@ -1,29 +1,69 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
|
||||
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
|
||||
dpi=$1
|
||||
BLUR_STRENGTH=12
|
||||
CURSOR_SIZE=28
|
||||
CORNER_RADIUS=9
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
>&2 printf "Usage\n\t%s: <dpi>" "$(basename "$0")"
|
||||
xrdbget() {
|
||||
set -o pipefail
|
||||
xrdb -query | grep -i -m1 "$1" | sed 's/^.*:\s//g' || echo "$2"
|
||||
}
|
||||
|
||||
xsetting_bool() {
|
||||
case "$1" in
|
||||
true) echo 1;;
|
||||
false) echo 0;;
|
||||
default) echo -1;;
|
||||
*) echo -1;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
if [ -z "$1" ] || [ "$1" -gt 200 ] || [ "$1" -lt 96 ]; then
|
||||
>&2 printf "Usage\n\t%s: value\n\n value\t Value must be within 96-200 inclusive\n" "$(basename "$0")"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/xsettingsd"
|
||||
mkdir -p "$CONF_DIR"
|
||||
dpi=$1
|
||||
scale=$(( dpi/96 ))
|
||||
cursor=$(( (dpi*CURSOR_SIZE)/96 ))
|
||||
|
||||
# Build xsettingsd.local
|
||||
# Update picom scale
|
||||
sed -i -e "s/strength =.*$/strength = $(( (dpi*BLUR_STRENGTH)/96 ));/" \
|
||||
-e "s/corner-radius =.*$/corner-radius = $(( (dpi*CORNER_RADIUS)/96 ));/" \
|
||||
"$CONF_DIR/picom/picom.conf" &
|
||||
|
||||
# Build xsettingsd.conf
|
||||
mkdir -p "$CONF_DIR/xsettingsd"
|
||||
{
|
||||
cat $CONF_DIR/xsettingsd.conf 2>/dev/null || true
|
||||
echo Xft/DPI $(( $dpi*1024 ))
|
||||
echo Gdk/WindowScalingFactor $(( $dpi/96 ))
|
||||
echo Gdk/UnscaledDPI $(( $dpi*1024/($dpi/96) ))
|
||||
} > $CONF_DIR/xsettingsd.local
|
||||
cat "$CONF_DIR/xsettingsd.local" 2>/dev/null || :
|
||||
echo "Xcursor/size $cursor"
|
||||
echo "Gtk/CursorThemeSize $cursor"
|
||||
echo "Gtk/CursorThemeName \"$(xrdbget Xcursor.theme Adwaita)\""
|
||||
echo "Xft/HintStyle \"$(xrdbget Xft.hintstyle hintfull)\""
|
||||
echo "Xft/Hinting $(xsetting_bool "$(xrdbget Xft.hinting default)")"
|
||||
echo "Xft/RGBA \"$(xrdbget Xft.rgba rgb)\""
|
||||
echo "Xft/DPI $(( dpi*1024 ))"
|
||||
echo "Gdk/WindowScalingFactor $scale"
|
||||
echo "Gdk/UnscaledDPI $(( dpi*1024/scale ))"
|
||||
} > "$CONF_DIR/xsettingsd/xsettingsd.conf"
|
||||
|
||||
echo Xft.dpi: $dpi | xrdb -merge
|
||||
xrandr --dpi $dpi
|
||||
xrdb -merge <<EOF &
|
||||
Xft.dpi: $dpi
|
||||
Xcursor.size: $cursor
|
||||
EOF
|
||||
xrandr --dpi "$dpi" &
|
||||
systemctl --user reload-or-restart xsettingsd &
|
||||
wait
|
||||
|
||||
systemctl --user reload-or-restart xsettingsd
|
||||
systemctl --user --no-block reload i3
|
||||
systemctl --user --no-block restart polybar@i3bar dunst
|
||||
systemctl --user reload \
|
||||
i3 \
|
||||
polybar@i3bar &
|
||||
systemctl --user restart \
|
||||
dunst &
|
||||
|
||||
wait
|
||||
|
42
scripts/otp
Executable file
42
scripts/otp
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
while getopts "on:" o; do
|
||||
case "${o}" in
|
||||
o)
|
||||
stdout=1;;
|
||||
n)
|
||||
caller="${OPTARG}"
|
||||
;;
|
||||
*)
|
||||
exec ykman oath accounts list
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
exec ykman oath accounts list
|
||||
fi
|
||||
|
||||
if [ -n "$caller" ]; then
|
||||
notif="$(notify-send -p "Touch your Yubikey" "$caller is requesting otp for $1")"
|
||||
fi
|
||||
|
||||
ykman oath accounts code -s "$1" 2>&1 |
|
||||
while read -r x; do
|
||||
if grep -Pqw '[0-9]{6}' <<< "$x"; then
|
||||
if [ -z "$stdout" ]; then
|
||||
echo "$x" | tee >(xclip -i)
|
||||
xdotool type "$x"
|
||||
else
|
||||
echo "$x"
|
||||
fi
|
||||
fi
|
||||
if [ -z "$stdout" ]; then
|
||||
notify-send "$x";
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$notif" ]; then
|
||||
notify-send -r "$notif" -t 1000 "Touch your Yubikey" "otp generated for $caller"
|
||||
fi
|
@ -59,7 +59,7 @@ function notify() {
|
||||
function display() {
|
||||
update=$'\tUpdate Font Awesome cache'
|
||||
fontawesome=$(grep -v '#\|^[[:space:]]*$' "$FONTAWESOME_FILE"; printf "$update\n")
|
||||
line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' -kb-row-select Tab $@)
|
||||
line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' $@)
|
||||
exit_code=$?
|
||||
|
||||
if [ "${line[@]}" == "$update" ]; then
|
||||
|
@ -13,6 +13,29 @@ URL_PATH=https://frebib.net/s
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
params=$(getopt -o ac -l active,clip -n screenshot -- "$@")
|
||||
eval set -- "$params"
|
||||
unset params
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
'-a'|'--active')
|
||||
active=1
|
||||
shift
|
||||
continue;;
|
||||
'-c'|'--clip')
|
||||
clip=1
|
||||
shift
|
||||
continue;;
|
||||
'--')
|
||||
shift
|
||||
break;;
|
||||
*)
|
||||
echo 'getopt error' >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
send_notification() {
|
||||
title="$1"
|
||||
body="$2"
|
||||
@ -28,24 +51,24 @@ send_notification() {
|
||||
|
||||
# Make the screenshot directory
|
||||
mkdir -p "$DIRECTORY"
|
||||
|
||||
# Take screenshot geometry
|
||||
read -r winid geom < <(slop -f "%i %g") || :
|
||||
if [ -z "$geom" -o -z "$winid" ]; then
|
||||
send_notification "Screenshot error" "Failed to capture screenshot area" > /dev/null
|
||||
exit 1
|
||||
fi
|
||||
|
||||
out_path="$DIRECTORY/$FILENAME"
|
||||
args=(-g "$geom")
|
||||
|
||||
# If selection is the root window
|
||||
if xwininfo -id "$winid" | grep -qw root; then
|
||||
isroot=1
|
||||
args+=(-i "$winid")
|
||||
elif [ "$1" == "--active" -o "$1" == "-a" ]; then
|
||||
if [ "$active" = '1' ]; then
|
||||
args+=(-i "$(xdotool getactivewindow)")
|
||||
shift
|
||||
else
|
||||
# Take screenshot geometry
|
||||
read -r winid geom < <(slop -f "%i %g") || :
|
||||
if [ -z "$geom" -o -z "$winid" ]; then
|
||||
send_notification "Screenshot error" "Failed to capture screenshot area" > /dev/null
|
||||
exit 1
|
||||
fi
|
||||
args=(-g "$geom")
|
||||
|
||||
# If selection is the root window
|
||||
if xwininfo -id "$winid" | grep -qw root; then
|
||||
isroot=1
|
||||
args+=(-i "$winid")
|
||||
fi
|
||||
fi
|
||||
|
||||
# Take the screenshot and save it
|
||||
@ -60,10 +83,10 @@ if [ "$isroot" != "1" ]; then
|
||||
convert "$out_path" \( +clone -background black -alpha set -channel Alpha -evaluate set 60% -shadow 100x16+0+0 \) +swap -background none -layers merge +repage "$out_path" || :
|
||||
fi
|
||||
|
||||
if [ "$1" == "--clip" -o "$1" == "-c" ]; then
|
||||
if [ "$clip" = '1' ]; then
|
||||
# Add image to clipboard
|
||||
xclip -i "$out_path" -selection clipboard -t image/png
|
||||
send_notification "Screenshot captured" "$FILENAME<br><br>The image is available in the clipboard"
|
||||
send_notification "Screenshot captured" "$FILENAME<br><br>The image is available in the clipboard" >/dev/null
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
@ -1,12 +1,12 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 16)
|
||||
slice=app
|
||||
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8)
|
||||
|
||||
args=()
|
||||
while getopts "u:s:e:d:cnw" opt
|
||||
while getopts "s:e:d:cnw" opt
|
||||
do case "$opt" in
|
||||
u) args+=("--unit=$OPTARG-$rand");;
|
||||
s) args+=("--slice=$OPTARG");;
|
||||
s) slice="$OPTARG";;
|
||||
e) args+=("--setenv=$OPTARG");;
|
||||
d) args+=("--working-directory=$OPTARG");;
|
||||
c) args+=("--scope");;
|
||||
@ -17,4 +17,11 @@ do case "$opt" in
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
exec systemd-run --user --collect --unit="$1-$rand" ${args[@]} -- "$@"
|
||||
exec systemd-run \
|
||||
--user \
|
||||
--collect \
|
||||
--slice="$slice" \
|
||||
--unit="$slice-$1-$rand" \
|
||||
--property=BindsTo=graphical-session.target \
|
||||
--property=ExitType=cgroup \
|
||||
"${args[@]}" -- "$@"
|
||||
|
13
ssh/askpass
Executable file
13
ssh/askpass
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
if [ -z "$SSH_HOST" ]; then
|
||||
>&2 echo 'Missing SSH_HOST variable'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$SSH_HOST" in
|
||||
*)
|
||||
echo 'Unknown SSH host'
|
||||
exit 1
|
||||
;;
|
||||
esac
|
@ -1,12 +1,13 @@
|
||||
[Unit]
|
||||
Description=Bluetooth Applet
|
||||
After=graphical-session.target bluetooth.service
|
||||
Requires=graphical-session.target bluetooth.service
|
||||
After=graphical-session.target
|
||||
Requires=graphical-session.target
|
||||
ConditionPathExists=/sys/class/bluetooth
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/blueman-applet
|
||||
Restart=on-failure
|
||||
Slice=background.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
1
systemd/user/default.target.wants/pipewire.service
Symbolic link
1
systemd/user/default.target.wants/pipewire.service
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire.service
|
1
systemd/user/desktop.target.wants/wallpaper.service
Symbolic link
1
systemd/user/desktop.target.wants/wallpaper.service
Symbolic link
@ -0,0 +1 @@
|
||||
/home/frebib/.config/systemd/user/wallpaper.service
|
5
systemd/user/dunst.service.d/override.conf
Normal file
5
systemd/user/dunst.service.d/override.conf
Normal file
@ -0,0 +1,5 @@
|
||||
[Service]
|
||||
Slice=session.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
16
systemd/user/gphoto-ffmpeg@.service
Normal file
16
systemd/user/gphoto-ffmpeg@.service
Normal file
@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=GPhoto2 capture with ffmpeg encoding
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStartPre=gphoto2 --abilities
|
||||
ExecStart=/bin/sh -c 'exec gphoto2 --set-config /main/capturesettings/continuousaf=1 --set-config /main/capturesettings/focusmode="AI Servo" --set-config /main/imgsettings/whitesbalance=Tungsten --capture-movie --stdout --set-config viewfinder=0 | ffmpeg -i - -f rawvideo -vf "crop=iw:iw*9/16" -pix_fmt yuv420p -threads 0 -s:v 1280x720 -r 25 -f v4l2 /dev/video%i'
|
||||
ExecStop=/bin/kill $MAINPID
|
||||
ExecStop=-/usr/bin/gphoto2 --set-config viewfinder=0
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
SyslogIdentifier=gphoto-ffmpeg
|
||||
Slice=app.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
15
systemd/user/graphical-session.target
Normal file
15
systemd/user/graphical-session.target
Normal file
@ -0,0 +1,15 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
Description=Current graphical user session
|
||||
Documentation=man:systemd.special(7)
|
||||
Requires=basic.target xorg.target
|
||||
RefuseManualStart=yes
|
||||
StopWhenUnneeded=yes
|
1
systemd/user/graphical-session.target.wants/parcellite.service
Symbolic link
1
systemd/user/graphical-session.target.wants/parcellite.service
Symbolic link
@ -0,0 +1 @@
|
||||
/home/frebib/.config/systemd/user/parcellite.service
|
1
systemd/user/graphical-session.target.wants/redshift.service
Symbolic link
1
systemd/user/graphical-session.target.wants/redshift.service
Symbolic link
@ -0,0 +1 @@
|
||||
/home/frebib/.config/systemd/user/redshift.service
|
@ -2,12 +2,13 @@
|
||||
Description=i3 - an improved dynamic, tiling window manager
|
||||
Requires=xorg.target
|
||||
Before=graphical-session.target
|
||||
After=profile.service xprofile.service xorg.target
|
||||
After=xprofile.service xorg.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/i3
|
||||
ExecReload=/bin/sh -c 'i3-msg restart; systemctl is-active --user -q picom && systemctl --user restart picom'
|
||||
ExecReload=/usr/bin/i3-msg restart
|
||||
Restart=always
|
||||
Slice=session.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
@ -2,11 +2,13 @@
|
||||
Description=NetworkManager Applet
|
||||
After=graphical-session.target NetworkManager.service
|
||||
Requires=graphical-session.target
|
||||
ConditionPathExists=/run/NetworkManager
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/nm-applet
|
||||
Restart=on-failure
|
||||
Slice=background.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -4,11 +4,10 @@ Requires=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/nextcloud --background
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
KillMode=process
|
||||
Restart=on-failure
|
||||
Slice=app.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
@ -1,12 +1,12 @@
|
||||
[Unit]
|
||||
Description=autocutsel selection %i
|
||||
Description=Lightweight GTK+ clipboard manager
|
||||
PartOf=graphical-session.target
|
||||
Requires=xorg.target
|
||||
After=xorg.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/autocutsel -selection %i
|
||||
ExecStart=/usr/bin/parcellite -n
|
||||
Slice=session.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
|
@ -4,9 +4,9 @@ Requires=graphical-session.target
|
||||
After=dbus.service graphical-session.target xorg.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/picom --experimental-backends --dbus
|
||||
ExecStart=/usr/bin/picom --dbus
|
||||
Restart=always
|
||||
Slice=session.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=desktop.target
|
1
systemd/user/pipewire-session-manager.service
Symbolic link
1
systemd/user/pipewire-session-manager.service
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/wireplumber.service
|
1
systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
1
systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/wireplumber.service
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user