Compare commits

..

9 Commits

62917 changed files with 2867 additions and 378521 deletions

View File

@ -1 +0,0 @@
../Nextcloud/keepass.kdbx

View File

@ -1 +0,0 @@
../.ssh

14
.bashrc
View File

@ -1,14 +0,0 @@
#!/bin/bash
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# Source .profile
if [ -r ~/.profile ]; then
# shellcheck disable=1090
source ~/.profile
fi

1
.bashrc Symbolic link
View File

@ -0,0 +1 @@
.local/bin/shrc/bashrc

1
.bin

@ -1 +0,0 @@
Subproject commit 8bec6ce1963278a46c59ccc5dd496c04ad86a0fe

1
.concession Submodule

@ -0,0 +1 @@
Subproject commit f1d08b66cd6fe88e0871fd2041524d43976133df

View File

@ -1,51 +1,32 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2017 rehashedsalt/vintagesalt
#
# bspwmrc
# bspwm configuration file
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
## Start a hotkey daemon
pgrep sxhkd -u "$UID" || sxhkd &
## Monitor allocation
# Honestly pretty complex
setmon() {
desktops_total=10
desktops_primary=8
desktops_secondary=$(( desktops_total - desktops_primary ))
monitor_primary="$(xrandr -q | awk '/primary/{print $1}')"
monitors_secondary=($(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}'))
# Ensure we have enough for every monitor
if (( desktops_secondary < ${#monitors_secondary[@]} )); then
echo "Adding more desktops to match connected monitors"
desktops_secondary=${#monitors_secondary[@]}
desktops_total=$(( desktops_secondary + desktops_primary ))
fi
if (( ${#monitors_secondary[@]} == 0 )); then
echo "Only one monitor allocated"
layout=$(seq --separator=" " 1 $desktops_total)
echo "Setting layout $layout"
bspc monitor $monitor_primary -d $layout
else
echo "${#monitors_secondary[@]} monitors connected"
deskpermon=$(( desktops_secondary / ${#monitors_secondary[@]} ))
layout=$(seq --separator=" " 1 $desktops_primary)
echo "Setting primary layout $layout"
bspc monitor $monitor_primary -d $layout
for m in $(seq 0 $(( ${#monitors_secondary[@]} - 1 ))); do
layout=$(seq --separator=" " \
$(( 1 + m + desktops_primary )) \
${#monitors_secondary[@]} \
"$desktops_total" \
)
echo "Setting layout for ${monitors_secondary[$m]} to $layout"
bspc monitor ${monitors_secondary[$m]} -d $layout
done
fi
}
setmon
# Load session startup script
dtfscript="$HOME/.concession/conspiracy"
if [ -x "$dtfscript" ]; then
("$dtfscript"; pkill bspwm)& >/dev/null 2>&1
exit 0
fi
unset dtfscript
## Behavior
# Tiling behavior
@ -55,61 +36,40 @@ bspc config remove_unplugged_monitors true
# Pointer behavior
bspc config click_to_focus any
bspc config focus_follows_pointer true
bspc config pointer_follows_focus false
bspc config pointer_follows_monitor true
bspc config pointer_modifier mod1
bspc config pointer_action1 move #LMB
bspc config pointer_action2 resize_corner #RMB
# ewmh behavior
bspc config ignore_ewmh_focus true # Fuck you, Discord
## Looks
# Padding
bspc config border_width 4
bspc config window_gap 6
bspc config border_width 2
bspc config window_gap 0
bspc config single_monocle false
bspc config borderless_monocle false
bspc config gapless_monocle false
bspc config gapless_monocle true
# Colors
case $THEME in
light)
bspc config normal_border_color "#f2e5bc" #Unfocused
bspc config active_border_color "#8ec07c" #Focused, but current monitor isn't
bspc config focused_border_color "#83a598" #Focused completely
bspc config presel_feedback_color "#ebdbb2" #???
;;
*)
bspc config normal_border_color "#32302f" #Unfocused
bspc config active_border_color "#8ec07c" #Focused, but current monitor isn't
bspc config focused_border_color "#83a598" #Focused completely
bspc config presel_feedback_color "#ebdbb2" #???
;;
esac
bspc config normal_border_color "#3c3836" #Unfocused
bspc config active_border_color "#458588" #Focused, but current monitor isn't
bspc config focused_border_color "#83a598" #Focused completely
bspc config presel_feedback_color "#9b9b9b" #???
## Rules
bspc rule -r '*'
case $HOSTNAME in
dsk-cstm-0*)
# Big boy gets pseudotiled Firefox
bspc rule -a Firefox state=pseudo_tiled rectangle=1920x1080+0+0
;;
*)
;;
esac
bspc rule -a Steam desktop=7
bspc rule -a KeePassXC desktop=8
bspc rule -a slack desktop=9
bspc rule -a Riot desktop=9
bspc rule -a Element desktop=9
bspc rule -a discord desktop=9
bspc rule -a spotify desktop=10
bspc rule -a cantata desktop=10
bspc rule -a Firefox desktop=1
bspc rule -a Firefox-esr desktop=1
bspc rule -a Waterfox desktop=1
bspc rule -a Liferea desktop=6
bspc rule -a discord desktop=7
bspc rule -a spotify desktop=8
bspc rule -a 'Minecraft 1.7.10' state=fullscreen
bspc rule -a 'NieR:Automata' state=fullscreen
# For fullscreen Wine
bspc rule -a explorer.exe state=fullscreen
# Plasma rules
bspc rule -a plasmashell state=floating sticky=on border=off
bspc rule -a krunner state=floating layer=above sticky=on border=off
# Widgets
bspc rule -a Conky state=floating layer=below sticky=on
bspc rule -a pavucontrol-qt state=floating layer=above sticky=on

View File

@ -9,35 +9,72 @@ glx-copy-from-front = false;
# Recommended if it works.
glx-no-rebind-pixmap = true;
# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
glx-swap-method = "undefined";
## SHADOWS
shadow = true;
shadow-radius = 30;
shadow-offset-x = -25;
shadow-offset-y = -25;
shadow-opacity = 0.45;
shadow = false;
no-dnd-shadow = true;
no-dock-shadow = false;
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
clear-shadow = false;
shadow-radius = 6;
shadow-offset-x = -9;
shadow-offset-y = -8;
shadow-opacity = 0.5;
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
shadow-ignore-shaped = false;
shadow-exclude = [
"name = 'oneko'",
"name = 'Notification'",
"name = 'xfce4-notifyd'",
"name *= 'VLC'",
"name *= 'compton'",
"name *= 'cpt_frame_window'",
"name *= 'Chromium'",
"name *= 'Chrome'",
"name *= 'Conky'",
"name *= 'Polybar tray window'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'",
"class_g ?= 'Wine'",
"_GTK_FRAME_EXTENTS@:c"
"name = 'oneko'",
"name = 'Notification'",
"name = 'xfce4-notifyd'",
"name *= 'VLC'",
"name *= 'compton'",
"name *= 'Chromium'",
"name *= 'Chrome'",
"name *= 'Conky'",
"name *= 'Polybar tray window'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'",
"class_g ?= 'Wine'",
#"window_type = 'dock'",
"_GTK_FRAME_EXTENTS@:c"
];
## OPACITY
menu-opacity = 1;
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
alpha-step = 0.06;
blur-background = true;
blur-kern = "7x7box";
# Blur background of opaque windows with transparent frames as well.
blur-background-frame = false;
# Do not let blur radius adjust based on window opacity.
blur-background-fixed = true;
blur-background-exclude = [
"! class_g = 'Conky'",
"class_g ?= 'xfdesktop'",
"window_type = 'dock'",
"class_g ?= 'Wine'"
];
## FADING
@ -46,9 +83,9 @@ fading = true;
# The time between steps in a fade in milliseconds. (default 10).
fade-delta = 5;
# Opacity change between steps while fading in. (default 0.028).
fade-in-step = 0.08;
fade-in-step = 0.07;
# Opacity change between steps while fading out. (default 0.03).
fade-out-step = 0.08;
fade-out-step = 0.07;
# Fade windows in/out when opening/closing
# no-fading-openclose = true;
@ -63,15 +100,20 @@ mark-ovredir-focused = true;
use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 143.86;
vsync = true;
refresh-rate = 144;
vsync = "opengl-swc";
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
# Reported to have no effect, though.
dbe = false;
# Painting on X Composite overlay window. Recommended.
paint-on-overlay = true;
# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already
sw-opti = true;
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
# Known to cause flickering when redirecting/unredirecting windows.
# paint-on-overlay may make the flickering less obvious.
unredir-if-possible = false;
unredir-if-possible = true;
# Specify a list of conditions of windows that should always be considered focused.
focus-exclude = [ ];
@ -83,8 +125,15 @@ detect-client-leader = true;
wintypes:
{
tooltip =
{
focus = true;
};
tooltip =
{
# fade: Fade the particular type of windows.
fade = true;
# shadow: Give those windows shadow
shadow = true;
# opacity: Default opacity for the type of windows.
opacity = 0.85;
# focus: Whether to always consider windows of this type focused.
focus = true;
};
};

View File

@ -0,0 +1,4 @@
BSPWM_BORDER_WIDTH
BSPWM_DESKTOPS_TOTAL
BSPWM_DESKTOPS_PRIMARY
BSPWM_WINDOW_GAP

View File

@ -0,0 +1,17 @@
PB_MONITOR
PB_WM_RESTACK
PB_BAR_PRIMARY_MODULES_LEFT
PB_BAR_PRIMARY_MODULES_CENTER
PB_BAR_PRIMARY_MODULES_RIGHT
PB_BAR_PRIMARY_2_MODULES_LEFT
PB_BAR_PRIMARY_2_MODULES_CENTER
PB_BAR_PRIMARY_2_MODULES_RIGHT
PB_BAR_SECONDARY_MODULES_LEFT
PB_BAR_SECONDARY_MODULES_CENTER
PB_BAR_SECONDARY_MODULES_RIGHT
PB_BAR_SECONDARY_2_MODULES_LEFT
PB_BAR_SECONDARY_2_MODULES_CENTER
PB_BAR_SECONDARY_2_MODULES_RIGHT
PB_MODULE_BAR_WIDTH
PB_MODULE_ETH_INTERFACE
PB_MODULE_WLAN_INTERFACE

View File

@ -0,0 +1 @@
TERMINAL

2
.config/concession/concederc Executable file
View File

@ -0,0 +1,2 @@
#! /usr/bin/env bash
export XDG_CURRENT_DESKTOP="kde"

View File

@ -0,0 +1,7 @@
#!/bin/sh
export TERMINAL=konsole
export PB_MODULE_ETH_INTERFACE=eno1
export PB_MODULE_WLAN_INTERFACE=wlp5s0
export BSPWM_WINDOW_GAP=16
# vim:ft=sh

View File

@ -0,0 +1,4 @@
#!/bin/sh
export TERMINAL=konsole
# vim:ft=sh

View File

@ -0,0 +1,12 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="KDE kdeinit"
service_process="kdeinit5"
service_kill_on_reload="false"

View File

@ -0,0 +1,16 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="KDE kded5"
service_process="kded5"
service_kill_on_reload="false"
start-extra() {
kcminit
}

View File

@ -0,0 +1,18 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="KDE ksmserver"
service_process="ksmserver"
service_flags="--no-lockscreen"
service_kill_on_reload="false"
function start() {
svc_log "Starting"
svc_logstart kwrapper5 $service_process $service_flags
}

View File

@ -0,0 +1,12 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="bspwm"
service_process="bspwm"
service_kill_on_reload="false"

View File

@ -0,0 +1,12 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="i3wm"
service_process="i3"
service_kill_on_reload="false"

View File

@ -0,0 +1,19 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Compton"
service_process="compton"
function prestart-extra() {
if [[ "$HOST" == "vm-*" ]]; then
svc_log "Will not start: in a VM" 2
return 1
fi
return 0
}

View File

@ -0,0 +1,18 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="KDE Polkit Agent"
service_process="/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1"
service_kill_on_reload="false"
isup() {
pgrep -U "$UID" -f "$service_process" > /dev/null 2>&1
isup-extra $?
return $?
}

View File

@ -0,0 +1,13 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Pulseaudio"
service_process="pulseaudio"
service_flags="--daemonize=no"
service_kill_on_reload="false"

View File

@ -0,0 +1,19 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Simple X Hotkey Daemon"
service_process="sxhkd"
function prestart-extra() {
if ! pgrep -U "$UID" bspwm > /dev/null 2>&1; then
svc_log "Not under bspwm" 2
return 1
fi
return 0
}

View File

@ -0,0 +1,12 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Xfce Settings Daemon"
service_process="xfsettingsd"
service_kill_on_reload="false"

View File

@ -0,0 +1,23 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Conky"
service_process="conky"
function start-extra() {
for i in {1..100}; do
if xprop -name "Conky" > /dev/null 2>&1; then break; fi
sleep 0.01
if (( $i > 99 )); then
svc_log "Conky may spawn behind the current desktop" 2
break
fi
done
return 0
}

View File

@ -0,0 +1,11 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Dunst"
service_process="dunst"

View File

@ -0,0 +1,11 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="KDE Plasma Shell"
service_process="plasmashell"

View File

@ -0,0 +1,46 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Polybar"
service_process="polybar"
function start() {
# Make sure we have our xrdb stuff going
if $(which xrdbupdate) > /dev/null 2>&1; then
xrdbupdate > /dev/null 2>&1
fi
# Set some variables, if necessary
if [[ "$PB_BAR_BORDER_SIZE" == "" ]] && pgrep -U "$UID" bspwm > /dev/null 2>&1; then
if ! [[ "$BSPWM_WINDOW_GAP" == "" ]]; then
svc_log "Inferring bar size from BSPWM_WINDOW_GAP"
export PB_BAR_BORDER_SIZE="$BSPWM_WINDOW_GAP"
fi
fi
if pgrep -U "$UID" i3 > /dev/null 2>&1; then
export PB_WM_RESTACK="i3"
fi
# Spawn bars on the primary monitor
export PB_MONITOR=$(xrandr -q | awk '/primary/{print $1}')
svc_log "Starting primary bar(s) on monitor $PB_MONITOR"
svc_logstart polybar -r primary
svc_logstart polybar -r primary-2
# Spawn more for each secondary
export secondary_monitors=$(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}')
if [[ "$secondary_monitors" == "" ]]; then
return 0
fi
for monitor in $secondary_monitors; do
svc_log "Starting secondary bar(s) on monitor $monitor"
PB_MONITOR=$monitor
svc_logstart polybar -r secondary
svc_logstart polybar -r secondary-2
done
return 0
}

View File

@ -0,0 +1,12 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Xfce Desktop"
service_process="xfdesktop"
service_flags="-D"

View File

@ -0,0 +1,13 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Dropbox"
service_process="dropbox"
service_flags="start"
service_kill_on_reload="false"

View File

@ -0,0 +1,12 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Redshift"
service_process="redshift"
service_kill_on_reload="false"

View File

@ -0,0 +1,13 @@
#! /usr/bin/env bash
#
# Simple wmstartup service
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
service_name="Syncthing"
service_process="syncthing"
service_kill_on_reload="false"
service_flags="--no-browser"

View File

@ -0,0 +1,64 @@
#! /usr/bin/env bash
#
# bspwm.sh
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
main() {
if ! pgrep -U "$UID" bspwm > /dev/null 2>&1; then
tsk_log "Not under bspwm" 1
return 1
fi
tsk_log "Configuring bspwm miscellanea"
## Behavior
tsk_log "Configuring behavior" 0
# Tiling behavior
bspc config split_ratio 0.50
bspc config remove_disabled_monitors false
bspc config remove_unplugged_monitors true
# Pointer behavior
bspc config click_to_focus any
bspc config pointer_follows_focus false
bspc config pointer_follows_monitor true
bspc config pointer_modifier mod1
bspc config pointer_action1 move #LMB
bspc config pointer_action2 resize_corner #RMB
## Looks
tsk_log "Configuring looks" 0
# Padding
bspc config border_width ${BSPWM_BORDER_WIDTH:-2}
bspc config window_gap ${BSPWM_WINDOW_GAP:-8}
bspc config single_monocle false
bspc config borderless_monocle false
bspc config gapless_monocle true
# Colors
bspc config normal_border_color "#3c3836" #Unfocused
bspc config active_border_color "#458588" #Focused, but current monitor isn't
bspc config focused_border_color "#83a598" #Focused completely
bspc config presel_feedback_color "#9b9b9b" #???
tsk_log "Setting window rules" 0
bspc rule -r '*'
bspc rule -a Firefox desktop=1
bspc rule -a Firefox-esr desktop=1
bspc rule -a Waterfox desktop=1
bspc rule -a Liferea desktop=6
bspc rule -a discord desktop=7
bspc rule -a spotify desktop=8
bspc rule -a 'Minecraft 1.7.10' state=fullscreen
bspc rule -a Xephyr state=pseudo_tiled
# For fullscreen Wine
bspc rule -a explorer.exe state=fullscreen
# Plasma rules
bspc rule -a plasmashell state=floating sticky=on border=off
bspc rule -a krunner state=floating layer=above sticky=on border=off
# Widgets
bspc rule -a Conky state=floating layer=below sticky=on
bspc rule -a pavucontrol-qt state=floating layer=above sticky=on
}
main $@

View File

@ -0,0 +1,24 @@
#! /bin/sh
#
# 01_ksmserver.sh
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
main() {
if ! which ksmserver > /dev/null 2>&1; then
tsk_log "Could not find ksmserver" 2
return 50
fi
if pgrep -U "$UID" ksmserver > /dev/null 2>&1; then
tsk_log "ksmserver is already running" 2
return 51
fi
ksmserver -w "/bin/true" --no-lockscreen &
sleep 1
export $(dbus-launch)
}
main $@

View File

@ -0,0 +1,85 @@
#! /usr/bin/env bash
#
# monitorset.sh
# Copyright (C) 2018 salt <salt@dsk-cstm-0>
#
# Distributed under terms of the MIT license.
#
main() {
if ! pgrep -U "$UID" bspwm > /dev/null 2>&1; then
tsk_log "Not under bspwm" 1
return 1
fi
monitor_primary=$(xrandr -q | awk '/primary/{print $1}')
monitors_secondary=($(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}'))
desktops_total=${BSPWM_DESKTOPS_TOTAL:-8}
desktops_primary=${BSPWM_DESKTOPS_PRIMARY:-6}
desktops_secondary=$(($desktops_total - $desktops_primary))
# Sanity checks
if ! [[ "$desktops_total" -ge 1 ]]; then
tsk_log "desktops_total cannot be $desktops_total, defaulting to 8" 0
desktops_total=8
fi
if ! [[ "$desktops_primary" -ge 1 ]]; then
tsk_log "desktops_primary cannot be $desktops_primary, defaulting to 6" 0
desktops_primary=6
fi
# Do we have enough desktops for all monitors?
# We can correct this without defaulting, so don't error
if [[ $desktops_secondary -lt ${#monitors_secondary[@]} ]]; then
tsk_log "Configuration would leave some monitors without desktops; adding more" 0
desktops_secondary=${#monitors_secondary[@]}
desktops_total=$(($desktops_secondary + $desktops_primary))
deskpermon=1
tsk_log "Remaining desktops set to $desktops_secondary, highest desktop is now $desktops_total" 0
fi
# Can we actually reach all of these desktops via keybinds?
if [[ $desktops_total -gt 10 ]]; then
tsk_log "More than ten desktops were allocated! Not all of these can be reached via keybinds!" 0
if [[ $(($desktops_total - $desktops_secondary)) -gt 0 ]]; then
tsk_log "Adjusting primary desktop reservation" 0
desktops_primary=$(($desktops_total - $desktops_secondary))
tsk_log "Set reserved desktops to $desktops_primary" 0
else
tsk_log "Cannot resolve this situation without starving the primary monitor of desktops!" 1
tsk_log "This may result in desktops being allocated that cannot be easily accessed!" 1
fi
fi
# The code that actually sets the monitors up
# First, do we actually have any secondaries?
if [[ $(echo ${monitors_secondary:-0}) == "0" ]]; then
# We only have one monitor, so give it everything
layout=$(seq --separator=" " 1 $desktops_total)
tsk_log "Found one monitor: $monitor_primary, so giving it layout \"$layout\""
bspc monitor $monitor_primary -d $layout
else
deskpermon=$(($desktops_secondary / ${#monitors_secondary[@]}))
layout=$(seq --separator=" " 1 $desktops_primary)
tsk_log "Giving primary monitor $monitor_primary layout \"$layout\""
bspc monitor $monitor_primary -d $layout
unset layout
tsk_log "Attempting to put $desktops_secondary desktops across ${#monitors_secondary[@]} monitors, $deskpermon each" 0
for m in $(seq 0 $((${#monitors_secondary[@]} - 1))); do
layout=$(seq --separator=" " $((1 + $m + $desktops_primary)) ${#monitors_secondary[@]} "$desktops_total")
tsk_log "Giving monitor $m (${monitors_secondary[$m]}) layout \"$layout\""
bspc monitor ${monitors_secondary[$m]} -d $layout
done
fi
unset monitor_primary
unset monitors_secondary
unset desktops_total
unset desktops_primary
unset desktops_secondary
unset deskpermon
}
main $@

View File

@ -0,0 +1,24 @@
#! /bin/sh
main() {
if ! pgrep krunner > /dev/null 2>&1; then
return 0
fi
killall krunner
for i in {1..100}; do
if ! pgrep krunner > /dev/null 2>&1; then break ;fi
sleep 0.01
if (( $i > 99 )); then
killall -9 krunner
fi
done
if pgrep krunner > /dev/null 2>&1; then
tsk_log "Failed to kill krunner" 1
return 1
else
tsk_log "Killed krunner"
return 0
fi
}
main $@

View File

@ -0,0 +1,19 @@
#! /bin/sh
#
# 20_nitrogen.sh
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
main() {
if ! which nitrogen > /dev/null 2>&1; then
tsk_log "Nitrogen is not installed"
return 1
fi
tsk_log "Restoring Nitrogen background"
nitrogen --restore > /dev/null 2>&1
}
main $@

View File

@ -0,0 +1,14 @@
#! /bin/sh
if [ -r ~/.Xresources ]; then
tsk_log "Loading .Xresources"
xrdb ~/.Xresources
fi
for file in $XDG_CONFIG_HOME/xrdb/*.xresources; do
if ! [ -r "$file" ]; then
tsk_log "Could not read file \"$file\"" 1
else
tsk_log "Merging in file \"$file\""
xrdb -merge "$file"
fi
done

View File

@ -0,0 +1,13 @@
#! /bin/sh
#
# xset.sh
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#
tsk_log "Disabling bell"
xset -b
tsk_log "Disabling screen blanking"
xset s off

View File

@ -1,49 +0,0 @@
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
conky.config = {
own_window = true,
own_window_title = 'Conky',
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
own_window_colour = '232629',
double_buffer = true,
cpu_avg_samples = 2,
net_avg_samples = 2,
no_buffers = true,
update_interval = 1,
use_xft = true,
font = 'IBM Plex Sans:style=Light:size=9',
default_color = '#fffcf6',
color1 = '232629', -- Background
color2 = 'fffcf6', -- Foreground
color3 = '4b5162', -- Background-alt
alignment = 'bottom_right',
xinerama_head = 0,
minimum_height = 0,
minimum_width = 304,
border_width = 0,
border_outer_margin = 0,
border_inner_margin = 16,
gap_x = 27,
gap_y = 72,
format_human_readable = true,
temperature_unit = "celsius",
if_up_strictness = "link",
default_bar_height = 11,
default_bar_width = 130,
default_graph_height = 36,
draw_borders = true,
draw_outline = false,
draw_graph_borders = true,
draw_shades = false
}
conky.text = [[
${font IBM Plex Sans:style=Light:size=96}$alignr${time %l:%M %p}$font
${font IBM Plex Sans:style=Light:size=32}$alignr${time %A, %B %d, %Y}$font
]]

81
.config/conky/conky.conf Normal file
View File

@ -0,0 +1,81 @@
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
conky.config = {
own_window = true,
own_window_title = 'Conky',
own_window_class = 'Conky',
own_window_type = 'override',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
own_window_colour = '000000',
double_buffer = true,
cpu_avg_samples = 2,
net_avg_samples = 2,
no_buffers = true,
update_interval = 1,
use_xft = true,
font = 'Inconsolata:style=Light:size=10',
default_color = '#b2b2b2',
color1 = '000000', -- Background
color2 = 'b2b2b2', -- Foreground
color3 = '181818', -- Background-alt
color4 = '54ff54', -- Green (Battery)
color6 = '54ffff', -- Cyan (Network)
color7 = 'ffff54', -- Yellow (Disk)
color8 = '5454ff', -- Blue (CPU)
color9 = 'ff54ff', -- Magenta (Memory)
alignment = 'bottom_left',
xinerama_head = 2,
minimum_height = 0,
minimum_width = 304,
border_width = 6,
gap_x = 10,
gap_y = 40,
format_human_readable = true,
if_up_strictness = "link",
default_bar_height = 11,
default_bar_width = 130,
default_graph_height = 30,
draw_outline = false,
draw_graph_borders = false,
draw_shades = false
}
conky.text = [[
${image ~/.face -s 64x64}${font Inconsolata:style=Medium:size=30}$alignr${no_update $nodename_short}$font
${font Inconsolata:style=Light:size=17}$alignr${time %I:%M %p}$font
${font Inconsolata:style=Light:size=12}$alignr${time %A, %B %d, %Y}$font
${color3}$hr$color
${font Inconsolata:style=Medium:size=10}CPU$font: $freq_g GHz$alignr$cpu%
${color8}${cpugraph cpu1 30,200} ${cpugraph cpu2 30,200}
${cpugraph cpu3 30,200} ${cpugraph cpu4 30,200}$color
${color3}$hr$color
${font Inconsolata:style=Medium:size=10}Memory$font: $mem / $memmax used$alignr$memperc%
${color9}${memgraph}$color
Memory$alignr$memeasyfree free ${color9}${membar}$color
Swap$alignr$swapfree ${color9}${swapbar}$color
${color3}$hr$color
${font Inconsolata:style=Medium:size=10}Disk$font (R/W):$alignr${diskio /dev/sda}
${color7}${diskiograph_read /dev/sda 30,200} ${diskiograph_write /dev/sda 30,200}$color
/$alignr${fs_free /} ${color7}${fs_bar /}$color
/home$alignr${fs_free /home} ${color7}${fs_bar /home}$color
/boot$alignr${fs_free /boot} ${color7}${fs_bar /boot}$color
/boot/efi$alignr${fs_free /boot/efi} ${color7}${fs_bar /boot/efi}$color
${color3}$hr$color
${font Inconsolata:style=Medium:size=10}Network$font:${alignr}Default $gw_iface${if_up wlp1s0}
wlp1s0 (U/D):$alignr${addr wlp1s0} / ${wireless_essid wlp1s0}
${color6}${upspeedgraph wlp1s0 30,200} ${downspeedgraph wlp1s0 30,200}$color$endif${if_up wlp5s0}
wlp5s0 (U/D):$alignr${addr wlp5s0} / ${wireless_essid wlp5s0}
${color6}${upspeedgraph wlp5s0 30,200} ${downspeedgraph wlp5s0 30,200}$color$endif${if_up enp0s31f6}
enp0s31f6 (U/D):$alignr${addr enp0s31f6}
${color6}${upspeedgraph enp0s31f6 30,200} ${downspeedgraph enp0s31f6 30,200}$color$endif${if_up eno1}
eno1 (U/D):$alignr${addr eno1}
${color6}${upspeedgraph eno1 30,200} ${downspeedgraph eno1 30,200}$color$endif${if_up enp0s20f0u2}
enp0s20f0u2 (U/D):$alignr${addr enp0s20f0u2}
${color6}${upspeedgraph enp0s20f0u2 30,200} ${downspeedgraph enp0s20f0u2 30,200}$color$endif
]]

View File

@ -1,334 +0,0 @@
#! /bin/bash
# _
# ___ ___ _ __ | | ___ _ __ _ ___ _ __
# / __/ _ \| '_ \| |/ / | | |/ _` |/ _ \ '_ \
# | (_| (_) | | | | <| |_| | (_| | __/ | | |
# \___\___/|_| |_|_|\_\\__, |\__, |\___|_| |_|
# |___/ |___/
#
# conkygen.sh
# Create a Conky configuration file dynamically
#
# Copyright (c) 2020 Vintage Salt <rehashedsalt@cock.li>
# Distributed under the terms of the MIT License
#
set -e
# Read-only set-once variables
declare -r _name="$(basename -- "$0")"
# Options
declare _optout="${XDG_CONFIG_HOME:-$HOME/.config}/conky/conky.conf"
declare -i _optbar=1
declare -i _optgraph=1
declare -i _opthelp
declare -i _optverbose
declare -i _opttopitems=4
# Working variables
declare -a _args
declare _return
# Helper functions
log() {
# Print a line to the terminal if _optverbose is greater than $2
# $2 defaults to 0
# loglevel 0: Daily-use messages
# loglevel 1: Detailed but not quite debugging
# loglevel 2: Definitely debugging
[ -z "$1" ] && return 1
if (( _optverbose >= ${2:-0} )); then
printf "%s\\n" "$1"
fi
}
warn() {
# Print a yellow line to the terminal, respecting _optverbose
[ -z "$1" ] && return 1
if (( _optverbose >= ${2:-0} )); then
if [ -t 1 ]; then
printf "\\e[33m%s\\e[0m\\n" "$1"
else
printf "WARN: %s\\n" "$1"
fi
fi
}
error() {
# Print a red line to the terminal, exit if $2 is specified
[ -z "$1" ] && return 1
if [ -t 2 ]; then
printf "\\e[31m%s\\e[0m\\n" "$1" 1>&2
else
printf "ERROR: %s\\n" "$1" 1>&2
fi
[ -z "$2" ] && return
exit "${2:-1}"
}
has() {
# Parse out all arguments and try to find them in path
# If an argument cannot be found, set _return and fail
for prog in "$@"; do
if ! command -v "$prog" > /dev/null 2>&1; then
_return="$prog"
return 1
fi
done
return 0
}
# Core program functions
printhelp() {
cat << EOF
Usage: $_name [OPTION]...
Generate a conky.conf configuration file in the current directory
-o Specify output file. Defaults to
~/.config/conky/conky.conf
-b Hide bars
-g Hide graphs
-h Print this help text
-t Number of items to print in top lists. Defaults to 4
-v Print more status messages. Stacks
Copyright (c) 2020 rehashedsalt@cock.li
Licensed under the MIT license
EOF
}
step_header() {
# Clobber output file with header
cat << EOF > "$_optout"
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
-- WARNING:
-- This file was generated with conkygen. See gen.sh if you need to edit this!
-- Any changes you make here can and probably will be clobbered!
EOF
}
step_config() {
# Append config to the output file
cat << EOF >> "$_optout"
conky.config = {
own_window = true,
own_window_title = 'Conky',
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
own_window_argb_visual = true,
own_window_transparent = true,
own_window_colour = '000000',
double_buffer = true,
cpu_avg_samples = 2,
net_avg_samples = 2,
no_buffers = true,
update_interval = 1,
use_xft = true,
font = 'IBM Plex Sans:style=Light:size=9',
default_color = '#ebdbb2',
color1 = '282828', -- Background
color2 = 'ebdbb2', -- Foreground
color3 = '32302f', -- Background-alt
color4 = 'b8bb26', -- Green (Battery)
color6 = '8ec07c', -- Cyan (Network)
color7 = 'fabd2f', -- Yellow (Disk)
color8 = '83a598', -- Blue (CPU)
color9 = 'de869b', -- Magenta (Memory)
alignment = 'top_left',
xinerama_head = 0,
minimum_height = 0,
minimum_width = 304,
border_width = 0,
border_outer_margin = 0,
border_inner_margin = 16,
gap_x = 22,
gap_y = 66,
format_human_readable = true,
temperature_unit = "celsius",
if_up_strictness = "link",
default_bar_height = 11,
default_bar_width = 130,
default_graph_height = 36,
draw_borders = true,
draw_outline = false,
draw_graph_borders = true,
draw_shades = false
}
EOF
}
step_text() {
local -r nproc="$(nproc)"
# Generate our actual functional Conky stuff
# Header
cat <<- 'EOF' >> "$_optout"
conky.text = [[
${font IBM Plex Sans:style=Light:size=64}$alignr${time %l:%M %p}$font
${font IBM Plex Sans:style=Light:size=18}$alignr${time %A, %B %d, %Y}$font
${font IBM Plex Sans:style=Light:size=12}${acpitemp}°C$alignr${no_update $nodename_short}$font
EOF
# CPU info
cat <<- 'EOF' >> "$_optout"
${color3}$hr$color
${font IBM Plex Sans:style=Medium:size=9}CPU$font: $freq_g GHz$alignr$cpu%
EOF
if (( _optgraph > 0 )); then
local gpl=1
if (( nproc <= 2 )); then
gpl=1
elif (( nproc <= 4 )); then
gpl=2
elif (( nproc <= 8 )); then
gpl=4
else
gpl=8
fi
local width=$(( ( 400 - ( gpl - 1 ) * 3 ) / gpl ))
log "Generating $gpl graphs per row of CPU core stats" 1
log "Graphs will be $width wide" 2
local cpuinfo
for i in $(seq 1 "$gpl" "$nproc"); do
# Generate lines
local line
for j in $(seq 0 $(( gpl - 1 ))); do
# Generate graphs
local cpu=$(( i + j ))
log "Generating graph for CPU $cpu" 2
if [ -z "$line" ]; then
line="\${cpugraph cpu$cpu 36,$width}"
else
line="$line \${cpugraph cpu$cpu 36,$width}"
fi
done
# Trim whitespace
line="\${color8}${line%" "}\$color"
log "Appending line: $line" 2
cpuinfo="$cpuinfo$line\n"
unset line
done
while [ "$cpuinfo" != "${cpuinfo%\\n}" ]; do
cpuinfo="${cpuinfo%\\n}"
done
echo -e "$cpuinfo" >> "$_optout"
fi
for i in $(seq $_opttopitems); do
echo "\${color8}\${top name $i}\$color\$alignr\${top cpu $i}%" >> "$_optout"
done
# Memory info
cat <<- 'EOF' >> "$_optout"
${color3}$hr$color
${font IBM Plex Sans:style=Medium:size=9}Memory$font: $mem / $memmax used$alignr$memperc%
EOF
if (( _optgraph > 0 )); then
echo -e '${color9}${memgraph}$color' >> "$_optout"
fi
if (( _optbar > 0 )); then
echo -e 'Memory$alignr$memeasyfree ${color9}${membar}$color' >> "$_optout"
if [ -n "$(swapon)" ]; then
echo "Swap\$alignr\$swapfree \${color9}\${swapbar}\$color" >> "$_optout"
fi
fi
for i in $(seq $_opttopitems); do
echo "\${color9}\${top_mem name $i}\$color\$alignr\${top_mem mem $i}%" >> "$_optout"
done
# Disk info
cat <<- 'EOF' >> "$_optout"
${color3}$hr$color
${font IBM Plex Sans:style=Medium:size=9}Disk$font (R/W):$alignr${diskio /dev/sda}
EOF
if (( _optgraph > 0 )); then
echo '${color7}${diskiograph_read /dev/sda 36,200} ${diskiograph_write /dev/sda 36,200}$color' >> "$_optout"
fi
# Mountpoint detection
if (( _optbar > 0 )); then
for mountpoint in / /home /var /usr /opt /boot /boot/efi; do
if mountpoint $mountpoint > /dev/null 2>&1; then
echo "$mountpoint\$alignr\${fs_free $mountpoint} \${color7}\${fs_bar $mountpoint}\$color" >> "$_optout"
fi
done
fi
for i in $(seq $_opttopitems); do
echo "\${color7}\${top_io name $i}\$color\$alignr\${top_io io_perc $i}%" >> "$_optout"
done
# Networking
cat <<-'EOF' >>"$_optout"
${color3}$hr$color
${font IBM Plex Sans:style=Medium:size=9}Network$font:${alignr}Default $gw_iface${if_up wlp1s0}
EOF
for interface in $(iw dev | awk '$1=="Interface"{print $2}'); do
echo "$interface (U/D): \$alignr\${addr $interface} / \${wireless_essid $interface}" >> "$_optout"
if (( _optgraph > 0 )); then
echo "\${color6}\${upspeedgraph $interface 36,200} \${downspeedgraph $interface 36,200}\$color" >> "$_optout"
fi
done
echo "]]" >> "$_optout"
}
genconfig() {
log "Generating config: $_optout"
step_header
step_config
step_text
}
# Main
main() {
# Parse out arguments
while [ -n "$1" ]; do
# Parse out flags
while getopts ":bgho:t:v" opt; do
case $opt in
b)
_optbar=0
;;
g)
_optgraph=0
;;
o)
_optout="$OPTARG"
;;
h)
_opthelp=1
;;
t)
_opttopitems="$OPTARG"
;;
v)
_optverbose+=1
;;
:)
error "Option requires argument: -$OPTARG" 2
;;
*)
error "Invalid option: -$OPTARG" 2
;;
esac
done
# Store arguments
shift $((OPTIND - 1))
if [ -n "$1" ]; then
_args+=("$1")
shift
fi
unset OPTIND
done
# Early hook for help
[ -n "$_opthelp" ] && printhelp && exit 0
# Validate critical options
if ! (( _opttopitems >= 0 )); then
error "Option -t requires non-negative integer as argument" 2
fi
# Validate core program dependencies
log "Validating dependencies" 2
if ! has awk basename iw seq; then
error "Failed to find program: $_return" 1
fi
# Do the do
genconfig
exit 0
}
main "$@"

53
.config/conky/i3lock.conf Normal file
View File

@ -0,0 +1,53 @@
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
conky.config = {
own_window = true,
own_window_title = 'Conky - i3lock',
own_window_class = 'Conky_i3lock',
own_window_type = 'override',
own_window_hints = 'undecorated,above,sticky,skip_taskbar,skip_pager',
own_window_colour = '282828',
double_buffer = true,
cpu_avg_samples = 2,
no_buffers = true,
update_interval = 1,
use_xft = true,
font = 'Inconsolata:style=Medium:size=10',
default_color = '#ebdbb2',
color1 = '282828', -- Background
color2 = 'ebdbb2', -- Foreground
color3 = '3c3836', -- Background-alt
color4 = 'b8bb26', -- Green (Battery)
color6 = '8ec07c', -- Cyan (Network)
color7 = 'fabd2f', -- Yellow (Disk)
color8 = '83a598', -- Blue (CPU)
color9 = 'd3869b', -- Magenta (Memory)
alignment = 'middle_middle',
xinerama_head = 2,
minimum_height = 0,
minimum_width = 400,
gap_x = 350,
gap_y = 0,
format_human_readable = true,
default_bar_height = 10,
default_bar_width = 300,
draw_outline = false,
draw_graph_borders = false,
draw_shades = false
}
conky.text = [[
${font Inconsolata:style=Medium:size=64}$alignr${time %I:%M %p}$font
${font Inconsolata:style=Medium:size=24}$alignr${time %A, %B %d}$font
${if_existing /sys/class/power_supply/BAT0}
${alignr}BAT: $color4${battery_bar}$color$endif
${alignr}CPU: $color8${cpubar}$color
${alignr}MEM: $color9${membar}$color
${alignr}SWP: $color9${swapbar}$color
]]

View File

@ -1,252 +0,0 @@
# Copyright (c) 2017-present Arctic Ice Studio <development@arcticicestudio.com>
# Copyright (c) 2017-present Sven Greb <code@svengreb.de>
# Project: Nord dircolors
# Repository: https://github.com/arcticicestudio/nord-dircolors
# License: MIT
COLOR tty
TERM ansi
TERM *color*
TERM con[0-9]*x[0-9]*
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM dvtm
TERM dvtm-256color
TERM Eterm
TERM eterm-color
TERM fbterm
TERM gnome
TERM gnome-256color
TERM hurd
TERM jfbterm
TERM konsole
TERM konsole-256color
TERM kterm
TERM linux
TERM linux-c
TERM mlterm
TERM putty
TERM putty-256color
TERM rxvt*
TERM rxvt-unicode
TERM rxvt-256color
TERM rxvt-unicode256
TERM screen*
TERM screen-256color
TERM st
TERM st-256color
TERM terminator
TERM tmux*
TERM tmux-256color
TERM vt100
TERM xterm*
TERM xterm-color
TERM xterm-88color
TERM xterm-256color
#+-----------------+
#+ Global Defaults +
#+-----------------+
NORMAL 00
RESET 0
FILE 00
DIR 01;34
LINK 36
MULTIHARDLINK 04;36
FIFO 04;01;36
SOCK 04;33
DOOR 04;01;36
BLK 01;33
CHR 33
ORPHAN 31
MISSING 01;37;41
EXEC 01;36
SETUID 01;04;37
SETGID 01;04;37
CAPABILITY 01;37
STICKY_OTHER_WRITABLE 01;37;44
OTHER_WRITABLE 01;04;34
STICKY 04;37;44
#+-------------------+
#+ Extension Pattern +
#+-------------------+
#+--- Archives ---+
.7z 01;32
.ace 01;32
.alz 01;32
.arc 01;32
.arj 01;32
.bz 01;32
.bz2 01;32
.cab 01;32
.cpio 01;32
.deb 01;32
.dz 01;32
.ear 01;32
.gz 01;32
.jar 01;32
.lha 01;32
.lrz 01;32
.lz 01;32
.lz4 01;32
.lzh 01;32
.lzma 01;32
.lzo 01;32
.rar 01;32
.rpm 01;32
.rz 01;32
.sar 01;32
.t7z 01;32
.tar 01;32
.taz 01;32
.tbz 01;32
.tbz2 01;32
.tgz 01;32
.tlz 01;32
.txz 01;32
.tz 01;32
.tzo 01;32
.tzst 01;32
.war 01;32
.xz 01;32
.z 01;32
.Z 01;32
.zip 01;32
.zoo 01;32
.zst 01;32
#+--- Audio ---+
.aac 32
.au 32
.flac 32
.m4a 32
.mid 32
.midi 32
.mka 32
.mp3 32
.mpa 32
.mpeg 32
.mpg 32
.ogg 32
.opus 32
.ra 32
.wav 32
#+--- Customs ---+
.3des 01;35
.aes 01;35
.gpg 01;35
.pgp 01;35
#+--- Documents ---+
.doc 32
.docx 32
.dot 32
.odg 32
.odp 32
.ods 32
.odt 32
.otg 32
.otp 32
.ots 32
.ott 32
.pdf 32
.ppt 32
.pptx 32
.xls 32
.xlsx 32
#+--- Executables ---+
.app 01;36
.bat 01;36
.btm 01;36
.cmd 01;36
.com 01;36
.exe 01;36
.reg 01;36
#+--- Ignores ---+
*~ 02;37
.bak 02;37
.BAK 02;37
.log 02;37
.log 02;37
.old 02;37
.OLD 02;37
.orig 02;37
.ORIG 02;37
.swo 02;37
.swp 02;37
#+--- Images ---+
.bmp 32
.cgm 32
.dl 32
.dvi 32
.emf 32
.eps 32
.gif 32
.jpeg 32
.jpg 32
.JPG 32
.mng 32
.pbm 32
.pcx 32
.pgm 32
.png 32
.PNG 32
.ppm 32
.pps 32
.ppsx 32
.ps 32
.svg 32
.svgz 32
.tga 32
.tif 32
.tiff 32
.xbm 32
.xcf 32
.xpm 32
.xwd 32
.xwd 32
.yuv 32
#+--- Video ---+
.anx 32
.asf 32
.avi 32
.axv 32
.flc 32
.fli 32
.flv 32
.gl 32
.m2v 32
.m4v 32
.mkv 32
.mov 32
.MOV 32
.mp4 32
.mpeg 32
.mpg 32
.nuv 32
.ogm 32
.ogv 32
.ogx 32
.qt 32
.rm 32
.rmvb 32
.swf 32
.vob 32
.webm 32
.wmv 32

View File

@ -29,8 +29,7 @@
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "500x8-6+50"
corner_radius = 0
geometry = "500x8-0+0"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
@ -52,20 +51,21 @@
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 4
separator_height = 1
# Padding between text and separator.
padding = 12
padding = 8
# Horizontal padding.
horizontal_padding = 12
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 4
frame_width = 1
# Defines color of the frame around the notification window.
frame_color = "#f2e5bc"
#frame_color = "#aaaaaa"
frame_color = "#181818"
# Define a color for the separator.
# possible values are:
@ -86,7 +86,7 @@
### Text ###
#font = Monospace 8
font = Roboto 10
font = Inconsolata 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
@ -125,7 +125,7 @@
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# Markup is allowed
format = "<span font='Bold'>%s</span> <span font='Light'>(%a)</span>\n%b"
format = "<span font='Bold 14'>%s</span> (%a)\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
@ -161,7 +161,7 @@
max_icon_size = 48
# Paths to default icons.
icon_path = /usr/share/icons/Papirus-Light/48x48/status/:/usr/share/icons/Papirus-Light/48x48/devices/:/usr/share/icons/Papirus-Light/48x48/apps
icon_path = /usr/share/icons/Papirus-Dark/48x48/status/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/apps
### History ###
@ -241,22 +241,22 @@
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#fbf1c7"
foreground = "#3c3836"
background = "#000000"
foreground = "#686868"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#fbf1c7"
foreground = "#3c3836"
background = "#000000"
foreground = "#b2b2b2"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#fbf1c7"
foreground = "#fb4934"
background = "#000000"
foreground = "#ffff54"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon

View File

@ -1,321 +0,0 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# 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 respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "500x8-6+50"
corner_radius = 0
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 4
# Padding between text and separator.
padding = 12
# Horizontal padding.
horizontal_padding = 12
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 4
# Defines color of the frame around the notification window.
frame_color = "#32302f"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 120
### Text ###
#font = Monospace 8
font = Roboto 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# Markup is allowed
format = "<span font='Bold'>%s</span> <span font='Light'>(%a)</span>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = right
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 48
# Paths to default icons.
icon_path = /usr/share/icons/Papirus-Dark/48x48/status/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/apps
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/rofi -dmenu -p dunst:
# Browser for opening urls in context menu.
browser = xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = mod1+shift+space
# Close all notifications.
close_all = mod1+shift+enter
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = mod1+shift+d
# Context menu.
context = mod1+shift+o
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282828"
foreground = "#ebdbb2"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#282828"
foreground = "#ebdbb2"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#282828"
foreground = "#fabd2f"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v akonadictl
akonadictl start

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v pulseaudio
pulseaudio

View File

@ -1,13 +0,0 @@
#.fsdefaults
command -v tint2
tint2
command -v polybar && [ -r "$HOME/.config/polybar/launch.sh" ]
sleep 3 && "$HOME/.config/polybar/launch.sh"
command -v lxpanel
lxpanel
command -v lxqt-panel
lxqt-panel
command -v mate-panel
mate-panel
command -v xfce4-panel
xfce4-panel

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v nextcloud && [ -d "$HOME/.config/Nextcloud" ]
nextcloud --background

View File

@ -1,11 +0,0 @@
#.fsdefaults
[ -z "$DISPLAY" ]
:
command -v unagi
unagi
command -v picom
picom
command -v compton
compton
command -v xcompmgr
xcompmgr

View File

@ -1,11 +0,0 @@
#.fsdefaults
[ -z "$DISPLAY" ]
:
# Note: the dumb sleep hack is because Conky crashes with window_type override if the WM hasn't loaded yet
# This gives the WM ample time to load up
[ "$THEME" == "light" ]
:
command -v conky && [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/conky/conky-clock.conf" ] && [[ "$HOSTNAME" == "lap"* ]]
sleep 3 && conky -c "${XDG_CONFIG_HOME:-$HOME/.config}/conky/conky-clock.conf"
command -v conky && [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/conky/conky.conf" ]
sleep 3 && conky

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v sxhkd
sxhkd

View File

@ -1,7 +0,0 @@
#.fsdefaults
[ -z "$DISPLAY" ]
:
command -v uim-toolbar-gtk3-systray
uim-toolbar-gtk3-systray
command -v ibus-daemon
ibus-daemon -rx

View File

@ -1,5 +0,0 @@
#.fsdefaults
command -v mopidy
mopidy
command -v mpd
mpd

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v nm-applet
nm-applet

View File

@ -1,9 +0,0 @@
#.fsdefaults
[ -z "$DISPLAY" ]
:
command -v dunst && [ "$THEME" == "light" ]
dunst -conf ~/.config/dunst/dunstrc-light
command -v dunst
dunst
command -v lxqt-notificationd
notificationd

View File

@ -1,37 +0,0 @@
#.fsdefaults
command -v lxqt-policykit-agent
lxqt-policykit-agent
command -v lxpolkit
lxpolkit
command -v mate-polkit
mate-polkit
command -v polkit-efl-authentication-agent-1
polkit-efl-authentication-agent-1
[ -x "/usr/lib/ts-polkitagent" ]
/usr/lib/ts-polkitagent
[ -x "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1" ]
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
[ -x "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" ]
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Debian locations
# On generation time, your architecture is filled in here
[ -x "/usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1" ]
"/usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1"
[ -x "/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1" ]
"/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1"
# Arch locations
[ -x "/usr/lib/mate-polkit/polkit-mate-authentication-agent-1" ]
/usr/lib/mate-polkit/polkit-mate-authentication-agent-1
[ -x "/usr/lib/polkit-kde-authentication-agent-1" ]
/usr/lib/polkit-kde-authentication-agent-1
# Fedora locations
[ -x "/usr/libexec/xfce-polkit" ]
/usr/libexec/xfce-polkit
[ -x "/usr/libexec/lxqt-policykit-agent" ]
/usr/libexec/lxqt-policykit-agent
[ -x "/usr/libexec/polkit-mate-authentication-agent-1" ]
/usr/libexec/polkit-mate-authentication-agent-1
[ -x "/usr/libexec/kf5/polkit-kde-authentication-agent-1" ]
/usr/libexec/kf5/polkit-kde-authentication-agent-1
[ -x "/usr/libexec/polkit-gnome-authentication-agent-1" ]
/usr/libexec/polkit-gnome-authentication-agent-1

View File

@ -1,15 +0,0 @@
#.fsdefaults
command -v batterymon
batterymon
command -v cbatticon
cbatticon
command -v lxqt-powermangement
lxqt-powermanagement
command -v xfce4-power-manager
xfce4-power-manager
command -v mate-power-manager
mate-power-manager
[ -x "/usr/lib/x86_64-linux-gnu/libexec/org_kde_powerdevil" ]
/usr/lib/x86_64-linux-gnu/libexec/org_kde_powerdevil
command -v gnome-power-manager
gnome-power-manager

View File

@ -1,5 +0,0 @@
#.fsdefaults
command -v redshift-gtk
redshift-gtk
command -v redshift
redshift

View File

@ -1,13 +0,0 @@
#.fsdefaults
command -v xsettingsd
xsettingsd
command -v xsettings-kde
xsettingskde
command -v lxsettings-daemon
lxsettings-daemon
command -v xfsettingsd
xfsettingsd
command -v mate-settings-daemon
mate-settings-daemon
command -v gnome-settings-daemon
gnome-settings-daemon

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v steam && [ -e ~/.steam ]
steam -nochatui -nofriendsui -silent

View File

@ -1,5 +0,0 @@
#.fsdefaults
command -v syncthing-gtk && [ -d "$HOME/.config/syncthing" ]
syncthing-gtk
command -v syncthing && [ -d "$HOME/.config/syncthing" ]
syncthing

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v telegram-desktop && [ -d "$HOME/.local/share/TelegramDesktop" ]
telegram-desktop -startintray

View File

@ -1,3 +0,0 @@
#.fsdefaults
command -v kwalletd5
kwalletd5

View File

@ -1,11 +0,0 @@
#.fsdefaults
[ -z "$DISPLAY" ]
:
command -v nitrogen && [ -r "$HOME/.config/nitrogen/bg-saved.cfg" ]
nitrogen --restore
command -v feh && [ -r "$HOME/.fehbg" ]
~/.fehbg
command -v hsetroot && [ -r ~/.config/firestarter/tile.png ] && [ "$(hostname)" == "dsk-cstm-0" ]
hsetroot -tile "$HOME/.config/firestarter/tile.png"
command -v hsetroot && [ -r ~/.config/firestarter/tile.png ] && [ -r ~/.config/firestarter/center.png ]
hsetroot -tile "$HOME/.config/firestarter/tile.png" -center "$HOME/.config/firestarter/center.png"

View File

@ -1,7 +0,0 @@
#.fsdefaults
[ -z "$DISPLAY" ]
:
command -v ksmserver && ksmserver -h | grep -ie '-w' && command -v bspwm
ksmserver -w bspwm
command -v bspwm
bspwm

View File

@ -1,16 +0,0 @@
[Settings]
gtk-theme-name=Materia-Gruvbox
gtk-icon-theme-name=Papirus-Dark-Gruvbox
gtk-font-name=IBM Plex Sans Medium 10
gtk-cursor-theme-name=Breeze_Snow
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb

View File

@ -1,13 +1,13 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 5 48 17 18 38 39 2 46 47 49 1
fields=0 5 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=1
show_thread_names=1
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_megabytes=1
@ -20,7 +20,7 @@ update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
delay=15
left_meters=AllCPUs2 Memory Swap
left_meters=AllCPUs Memory Swap
left_meter_modes=1 1 1
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2

View File

@ -3,7 +3,18 @@
# Licensed under the terms of the MIT License
#
## WORKSPACES
###################
# DO NOT START DAEMONS HERE
###################
# This script leverages Concession for startup scripts
# gitlab.com/rehashedsalt/concession
# Set up Concession services instead!
###################
## Workspaces
###################
# Initialize workspaces
set $w1 1
set $w2 2
set $w3 3
@ -12,48 +23,44 @@ set $w5 5
set $w6 6
set $w7 7
set $w8 8
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
set $monprim DisplayPort-0
set $monsec HDMI-A-0
workspace $w1 output $monprim
workspace $w2 output $monprim
workspace $w3 output $monprim
workspace $w4 output $monprim
workspace $w5 output $monprim
# Putting 8 here first so it's the default for my secondary
workspace $w8 output $monsec
workspace $w6 output $monsec
workspace $w7 output $monsec
## COSMETICS
###################
## Cosmetcs
###################
# Set up titlebar and i3bar fonts
font pango:Roboto 10
new_window pixel 4
# Titlebar and borders
hide_edge_borders smart
new_window pixel 1
for_window [class=".*"] border pixel 1
for_window [class="konsole"] border normal 1
for_window [class=".*"] title_format "%title"
# Miscellaneous window rules
for_window [class="Firefox"] move to workspace $w1
for_window [class="Firefox-esr"] move to workspace $w1
for_window [class="Waterfox" ] move to workspace $w1
for_window [class="Liferea" ] move to workspace $w6
for_window [class="discord"] move to workspace $w7
for_window [class="Spotify"] move to workspace $w8
for_window [title="Minecraft 1.7.10"] fullscreen enable
for_window [class="explorer.exe"] fullscreen enable
for_window [class="plasmashell"] kill, floating enable, border none
no_focus [class="Conky"]
no_focus [class="plasmashell"]
focus_on_window_activation none
gaps top 36
gaps inner 6
gaps bottom 36
set $red #ed1515
set $green #11d116
set $yellow #fdbc4b
set $blue #1d99f3
set $magenta #9b59b6
set $cyan #1abc9c
set $white #eff0f1
set $black #232629
set $gray #31363b
###################
## Keybindings
###################
# <colorclass> <brd> <bg> <text> <ind> <chld>
client.focused $blue $black $white $gray $blue
client.focused_inactive $gray $black $white $gray $gray
client.unfocused $gray $black $white $gray $gray
client.urgent $yellow $black $white $gray $yellow
client.placeholder $magenta $black $white $gray $magenta
client.background $bg
## KEYBINDINGS
# Set modifiers
# Mod1 is LALT, Mod4 is LSUP
set $mod Mod1
set $sup Mod4
set $ctl Ctrl
@ -63,7 +70,7 @@ set $shift Shift
floating_modifier $mod
# Program opening and closing
bindsym $mod+Return exec "konsole"
bindsym $mod+Return exec "i3-sensible-terminal"
bindsym $mod+q kill
bindsym $mod+space exec "rofi -show drun"
bindsym $mod+backslash exec "rofi -show ssh"
@ -78,17 +85,15 @@ bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute s
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
# pavucontrol-qt controls
bindsym $mod+p exec --no-startup-id "pgrep pavucontrol-qt || pavucontrol-qt"
bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol-qt"
# i3-settree
bindsym $mod+o exec --no-startup-id "~/.bin/i3-settree"
# mpv-xwinwrap controls
bindsym $mod+p exec --no-startup-id "~/.local/bin/tubetop2"
bindsym $mod+$shift+p exec --no-startup-id "pkill xwinwrap"
# Miscellaneous non-movement hotkeys
bindsym $ctl+$mod+l exec --no-startup-id "~/.bin/i3lock-custom"
bindsym $ctl+$mod+l exec --no-startup-id "~/.local/bin/i3lock-custom"
bindsym $mod+$shift+c reload
bindsym $mod+$shift+r restart
#bindsym $mod+$shift+e exit
# change focus
bindsym $mod+h focus left
@ -155,9 +160,11 @@ bindsym $mod+$shift+6 move container to workspace $w6
bindsym $mod+$shift+7 move container to workspace $w7
bindsym $mod+$shift+8 move container to workspace $w8
## MODES
###################
## Modes
###################
# Resize
bindsym $mod+r mode "resize"
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
@ -173,3 +180,21 @@ mode "resize" {
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
###################
## Bars
###################
bar {
id bar-primary
position bottom
status_command i3status
tray_output primary
font pango:Inconsolata 10
# This looks dumb, but it makes the separators one character wide
separator_symbol "|"
}

28
.config/i3status/config Normal file
View File

@ -0,0 +1,28 @@
general {
colors = true
interval = 1
}
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "tztime local"
wireless _first_ {
format_up = "WLAN: %ip"
format_down = "WLAN"
}
ethernet _first_ {
format_up = "ETH: %ip"
format_down = "ETH"
}
battery all {
format = "BAT: %percentage"
}
tztime local {
format = "%a %I:%M %p"
}

View File

@ -1,27 +1,10 @@
[ActivityManager]
_k_friendly_name=Activity Manager
switch-to-activity-265718b0-e35d-428b-94c1-11f365cb06c6=none,none,Switch to activity "Homelabbity"
switch-to-activity-44008348-6220-4c24-a933-769a47c7be74=,none,Switch to activity "Generalist"
switch-to-activity-5297043d-73e0-4463-b137-788d70bd54ae=none,none,Switch to activity "Dev"
switch-to-activity-9452822e-4ed9-4844-a722-785d3208c4c8=none,none,Switch to activity "Leisure"
[$Version]
update_info=powerdevil_move_shortcuts.upd:powerdevil_move_shortcuts
[KDE Keyboard Layout Switcher]
Switch to Next Keyboard Layout=Ctrl+Alt+K,none,Switch to Next Keyboard Layout
_k_friendly_name=KDE Daemon
[juk]
_k_friendly_name=JuK
back=Ctrl+Alt+Left,Ctrl+Alt+Left,Previous
forward=Ctrl+Alt+Right,Ctrl+Alt+Right,Next
forwardAlbum=Ctrl+Alt+Up,Ctrl+Alt+Up,Play Next Album
mute=Ctrl+Alt+M,Ctrl+Alt+M,Mute
playPause=Ctrl+Alt+P,Ctrl+Alt+P,Play / Pause
seekBack=Ctrl+Alt+Shift+Left,Ctrl+Alt+Shift+Left,Seek Back
seekForward=Ctrl+Alt+Shift+Right,Ctrl+Alt+Shift+Right,Seek Forward
stop=Ctrl+Alt+S,Ctrl+Alt+S,Stop
volumeDown=Ctrl+Alt+Shift+Down,Ctrl+Alt+Shift+Down,Volume Down
volumeUp=Ctrl+Alt+Shift+Up,Ctrl+Alt+Shift+Up,Volume Up
[kaccess]
Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,Toggle Screen Reader On and Off
_k_friendly_name=Accessibility
@ -33,20 +16,25 @@ Toggle Touchpad=Touchpad Toggle,Touchpad Toggle,Toggle Touchpad
_k_friendly_name=KDE Daemon
[kded5]
Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,Decrease Keyboard Brightness
Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,Decrease Screen Brightness
Hibernate=Hibernate,Hibernate,Hibernate
Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,Increase Keyboard Brightness
Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,Increase Screen Brightness
PowerOff=Power Off,Power Off,Power Off
Show System Activity=Ctrl+Esc,Ctrl+Esc,Show System Activity
Sleep=Sleep,Sleep,Suspend
Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,Toggle Keyboard Backlight
_k_friendly_name=KDE Daemon
display=Display\tMeta+P,Display\tMeta+P,Switch Display
[khotkeys]
_k_friendly_name=KDE Daemon
{07129c7a-7aa7-43d1-958b-1ffd8a065e3c}=Print,none,Start Screenshot Tool
{0d8de012-30d7-4b53-94f2-681b456a2396}=Ctrl+Alt+T,none,Launch Konsole
{1ea40eee-c42f-4de7-bccb-c066c2d53eae}=Meta+Print,none,Take Active Window Screenshot
{47bd292b-2d24-47af-8c55-e85615250271}=Meta+Shift+Print,none,Take Rectangular Region Screenshot
{63ea0f64-daaa-437a-ab2c-b73eac8aa29f}=Alt+Return,none,Run Konsole
{a7ddcc8e-2db4-4f94-8477-3434a607a944}=Shift+Print,none,Take Full Screen Screenshot
{d03619b6-9b3c-48cc-9d9c-a2aadb485550}=,none,Search
{fb859807-9936-40d9-bbc9-992c312f25c4}=Alt+I,none,ptgdp-rofi
{3d36735d-a1a3-4b35-83d8-259b026dabc2}=Meta+Print,none,Take Active Window Screenshot
{3eab367f-501b-4a68-a66c-710e31e34352}=Meta+Shift+Print,none,Take Rectangular Region Screenshot
{50f1a634-39a7-47c8-a95a-9663e7fd2812}=Print,none,Start Screenshot Tool
{d03619b6-9b3c-48cc-9d9c-a2aadb485550}=Search,none,Search
{ecef03ae-3bd6-4e09-badc-c28720a20e26}=Shift+Print,none,Take Full Screen Screenshot
[kmix]
_k_friendly_name=Audio Volume
@ -57,19 +45,20 @@ increase_volume=Volume Up,Volume Up,Increase Volume
mic_mute=Microphone Mute,Microphone Mute,Mute Microphone
mute=Volume Mute,Volume Mute,Mute
[kopete]
ReadMessage=Ctrl+Shift+I,Ctrl+Shift+I,Read Message
Set_Away_Back=Ctrl+Shift+W,Ctrl+Shift+W,Set Away/Back
ShowContactList=,Ctrl+Alt+T,Show/Hide Contact List
_k_friendly_name=Kopete
[krunner]
_k_friendly_name=Run Command
run command=Alt+Space\tAlt+F2\tSearch,Alt+Space,Run Command
run command=\tAlt+F2,Alt+Space,Run Command
run command on clipboard contents=Alt+Shift+F2,Alt+Shift+F2,Run Command on clipboard contents
[krunner.desktop]
RunClipboard=,Alt+Shift+F2,Run command on clipboard contents
_k_friendly_name=KRunner
_launch=\t\t,Alt+Space\tAlt+F2\tSearch,KRunner
[ksmserver]
Halt Without Confirmation=Ctrl+Alt+Shift+PgDown,none,Halt Without Confirmation
Lock Session=Ctrl+Alt+L\tScreensaver,Meta+L\tCtrl+Alt+L\tScreensaver,Lock Session
Lock Session=Ctrl+Alt+L\tScreensaver,Ctrl+Alt+L\tScreensaver,Lock Session
Log Out=Ctrl+Alt+Del,none,Log Out
Log Out Without Confirmation=Ctrl+Alt+Shift+Del,none,Log Out Without Confirmation
Reboot Without Confirmation=Ctrl+Alt+Shift+PgUp,none,Reboot Without Confirmation
@ -81,31 +70,43 @@ Decrease Opacity=none,none,Decrease Opacity of Active Window by 5 %
Expose=Ctrl+F9,Ctrl+F9,Toggle Present Windows (Current desktop)
ExposeAll=Ctrl+F10\tLaunch (C),Ctrl+F10\tLaunch (C),Toggle Present Windows (All desktops)
ExposeClass=Ctrl+F7,Ctrl+F7,Toggle Present Windows (Window class)
FlipSwitchAll=none,none,Toggle Flip Switch (All desktops)
FlipSwitchCurrent=none,none,Toggle Flip Switch (Current desktop)
Increase Opacity=none,none,Increase Opacity of Active Window by 5 %
Invert Screen Colors=none,none,Invert Screen Colors
Kill Window=Ctrl+Alt+Esc,Ctrl+Alt+Esc,Kill Window
MoveMouseToCenter=Meta+F6,Meta+F6,Move Mouse to Center
MoveMouseToFocus=Meta+F5,Meta+F5,Move Mouse to Focus
MoveZoomDown=none,none,Move Zoomed Area Downwards
MoveZoomLeft=none,none,Move Zoomed Area to Left
MoveZoomRight=none,none,Move Zoomed Area to Right
MoveZoomUp=none,none,Move Zoomed Area Upwards
MoveZoomDown=Meta+Down,none,Move Zoomed Area Downwards
MoveZoomLeft=Meta+Left,none,Move Zoomed Area to Left
MoveZoomRight=Meta+Right,none,Move Zoomed Area to Right
MoveZoomUp=Meta+Up,none,Move Zoomed Area Upwards
Quarter: + Gap Size=Meta+PgUp,none,Quarter: + Gap Size
Quarter: + Window Size=Meta+Y,none,Quarter: + Window Size
Quarter: - Gap Size=,none,Quarter: - Gap Size
Quarter: - Window Size=Meta+N,none,Quarter: - Window Size
Quarter: Float On/Off=Meta+F,none,Quarter: Float On/Off
Quarter: Float/Tile Desktop=Meta+Esc,none,Quarter: Float/Tile Desktop
Quarter: Move Down=Meta+J,none,Quarter: Move Down
Quarter: Move Left=Meta+H,none,Quarter: Move Left
Quarter: Move Right=Meta+L,none,Quarter: Move Right
Quarter: Move Up=Meta+K,none,Quarter: Move Up
Quarter: Move to Next Screen=,none,Quarter: Move to Next Screen
Quarter: Move to Previous Screen=,none,Quarter: Move to Previous Screen
Quarter: Reset Layout=Meta+R,none,Quarter: Reset Layout
Quarter: Toggle Gaps On/Off=Meta+G,none,Quarter: Toggle Gaps On/Off
Remove Window From Group=none,none,Remove Window From Group
Setup Window Shortcut=none,none,Setup Window Shortcut
Show Desktop=none,Meta+D,Show Desktop
Show Desktop=none,none,Show Desktop
ShowDesktopGrid=Ctrl+F8,Ctrl+F8,Show Desktop Grid
Suspend Compositing=Alt+Shift+F12,Alt+Shift+F12,Suspend Compositing
Switch One Desktop Down=none,none,Switch One Desktop Down
Switch One Desktop Up=none,none,Switch One Desktop Up
Switch One Desktop to the Left=none,none,Switch One Desktop to the Left
Switch One Desktop to the Right=none,none,Switch One Desktop to the Right
Switch One Desktop Down=Ctrl+Alt+Down,none,Switch One Desktop Down
Switch One Desktop Up=Ctrl+Alt+Up,none,Switch One Desktop Up
Switch One Desktop to the Left=Ctrl+Alt+Left,none,Switch One Desktop to the Left
Switch One Desktop to the Right=Ctrl+Alt+Right,none,Switch One Desktop to the Right
Switch Window Down=Meta+Alt+Down,Meta+Alt+Down,Switch to Window Below
Switch Window Left=Meta+Alt+Left,Meta+Alt+Left,Switch to Window to the Left
Switch Window Right=Meta+Alt+Right,Meta+Alt+Right,Switch to Window to the Right
Switch Window Up=Meta+Alt+Up,Meta+Alt+Up,Switch to Window Above
Switch to Desktop 1=Alt+1,Ctrl+F1,Switch to Desktop 1
Switch to Desktop 1=Ctrl+F1,Ctrl+F1,Switch to Desktop 1
Switch to Desktop 10=none,none,Switch to Desktop 10
Switch to Desktop 11=none,none,Switch to Desktop 11
Switch to Desktop 12=none,none,Switch to Desktop 12
@ -116,10 +117,10 @@ Switch to Desktop 16=none,none,Switch to Desktop 16
Switch to Desktop 17=none,none,Switch to Desktop 17
Switch to Desktop 18=none,none,Switch to Desktop 18
Switch to Desktop 19=none,none,Switch to Desktop 19
Switch to Desktop 2=Alt+2,Ctrl+F2,Switch to Desktop 2
Switch to Desktop 2=Ctrl+F2,Ctrl+F2,Switch to Desktop 2
Switch to Desktop 20=none,none,Switch to Desktop 20
Switch to Desktop 3=Alt+3,Ctrl+F3,Switch to Desktop 3
Switch to Desktop 4=Alt+4,Ctrl+F4,Switch to Desktop 4
Switch to Desktop 3=Ctrl+F3,Ctrl+F3,Switch to Desktop 3
Switch to Desktop 4=Ctrl+F4,Ctrl+F4,Switch to Desktop 4
Switch to Desktop 5=none,none,Switch to Desktop 5
Switch to Desktop 6=none,none,Switch to Desktop 6
Switch to Desktop 7=none,none,Switch to Desktop 7
@ -137,6 +138,23 @@ Switch to Screen 4=none,none,Switch to Screen 4
Switch to Screen 5=none,none,Switch to Screen 5
Switch to Screen 6=none,none,Switch to Screen 6
Switch to Screen 7=none,none,Switch to Screen 7
TILING: Decrease Number Of Masters=Meta+_,none,Decrease Number Of Masters
TILING: Increase Number Of Masters=Meta+*,none,Increase Number Of Masters
TILING: Move Window Down=Meta+Shift+J,none,Move Window Down
TILING: Move Window Left=Meta+Shift+H,none,Move Window Left
TILING: Move Window Right=Meta+Shift+L,none,Move Window Right
TILING: Move Window Up=Meta+Shift+K,none,Move Window Up
TILING: Next Tiling Layout=Meta+PgDown,none,Next Tiling Layout
TILING: Previous Tiling Layout=,none,Previous Tiling Layout
TILING: Resize Active Window To The Bottom=Meta+Alt+J,none,Resize Active Window To The Bottom
TILING: Resize Active Window To The Left=Meta+Alt+H,none,Resize Active Window To The Left
TILING: Resize Active Window To The Right=Meta+Alt+L,none,Resize Active Window To The Right
TILING: Resize Active Window To The Top=Meta+Alt+K,none,Resize Active Window To The Top
TILING: Swap Window With Master=Meta+Shift+M,none,Swap Window With Master
TILING: Tile now=Meta+T,none,Tile now
TILING: Toggle Border for all=Meta+Shift+U,none,Toggle Border for all
TILING: Toggle Floating=,none,Toggle Floating
TILING: Toggle Tiling=Meta+Shift+F11,none,Toggle Tiling
Toggle Window Raise/Lower=none,none,Toggle Window Raise/Lower
Walk Through Desktop List=none,none,Walk Through Desktop List
Walk Through Desktop List (Reverse)=none,none,Walk Through Desktop List (Reverse)
@ -154,15 +172,15 @@ Walk Through Windows of Current Application Alternative=none,none,Walk Through W
Walk Through Windows of Current Application Alternative (Reverse)=none,none,Walk Through Windows of Current Application Alternative (Reverse)
Window Above Other Windows=none,none,Keep Window Above Others
Window Below Other Windows=none,none,Keep Window Below Others
Window Close=Alt+Q,Alt+F4,Close Window
Window Fullscreen=Alt+F11,none,Make Window Fullscreen
Window Close=Alt+F4,Alt+F4,Close Window
Window Fullscreen=none,none,Make Window Fullscreen
Window Grow Horizontal=none,none,Pack Grow Window Horizontally
Window Grow Vertical=none,none,Pack Grow Window Vertically
Window Lower=none,none,Lower Window
Window Maximize=Meta+PgUp,Meta+PgUp,Maximize Window
Window Maximize=none,Meta+PgUp,Maximize Window
Window Maximize Horizontal=none,none,Maximize Window Horizontally
Window Maximize Vertical=none,none,Maximize Window Vertically
Window Minimize=Meta+PgDown,Meta+PgDown,Minimize Window
Window Minimize=none,Meta+PgDown,Minimize Window
Window Move=none,none,Move Window
Window No Border=none,none,Hide Window Border
Window On All Desktops=none,none,Keep Window on All Desktops
@ -175,12 +193,12 @@ Window Pack Down=none,none,Pack Window Down
Window Pack Left=none,none,Pack Window to the Left
Window Pack Right=none,none,Pack Window to the Right
Window Pack Up=none,none,Pack Window Up
Window Quick Tile Bottom=Alt+Shift+J,Meta+Down,Quick Tile Window to the Bottom
Window Quick Tile Bottom=none,Meta+Down,Quick Tile Window to the Bottom
Window Quick Tile Bottom Left=none,none,Quick Tile Window to the Bottom Left
Window Quick Tile Bottom Right=none,none,Quick Tile Window to the Bottom Right
Window Quick Tile Left=Alt+Shift+H,Meta+Left,Quick Tile Window to the Left
Window Quick Tile Right=Alt+Shift+L,Meta+Right,Quick Tile Window to the Right
Window Quick Tile Top=Alt+Shift+K,Meta+Up,Quick Tile Window to the Top
Window Quick Tile Left=none,Meta+Left,Quick Tile Window to the Left
Window Quick Tile Right=none,Meta+Right,Quick Tile Window to the Right
Window Quick Tile Top=none,Meta+Up,Quick Tile Window to the Top
Window Quick Tile Top Left=none,none,Quick Tile Window to the Top Left
Window Quick Tile Top Right=none,none,Quick Tile Window to the Top Right
Window Raise=none,none,Raise Window
@ -188,7 +206,7 @@ Window Resize=none,none,Resize Window
Window Shade=none,none,Shade Window
Window Shrink Horizontal=none,none,Pack Shrink Window Horizontally
Window Shrink Vertical=none,none,Pack Shrink Window Vertically
Window to Desktop 1=Alt+!,none,Window to Desktop 1
Window to Desktop 1=none,none,Window to Desktop 1
Window to Desktop 10=none,none,Window to Desktop 10
Window to Desktop 11=none,none,Window to Desktop 11
Window to Desktop 12=none,none,Window to Desktop 12
@ -199,10 +217,10 @@ Window to Desktop 16=none,none,Window to Desktop 16
Window to Desktop 17=none,none,Window to Desktop 17
Window to Desktop 18=none,none,Window to Desktop 18
Window to Desktop 19=none,none,Window to Desktop 19
Window to Desktop 2=Alt+@,none,Window to Desktop 2
Window to Desktop 2=none,none,Window to Desktop 2
Window to Desktop 20=none,none,Window to Desktop 20
Window to Desktop 3=Alt+#,none,Window to Desktop 3
Window to Desktop 4=Alt+$,none,Window to Desktop 4
Window to Desktop 3=none,none,Window to Desktop 3
Window to Desktop 4=none,none,Window to Desktop 4
Window to Desktop 5=none,none,Window to Desktop 5
Window to Desktop 6=none,none,Window to Desktop 6
Window to Desktop 7=none,none,Window to Desktop 7
@ -220,46 +238,52 @@ Window to Screen 4=none,none,Window to Screen 4
Window to Screen 5=none,none,Window to Screen 5
Window to Screen 6=none,none,Window to Screen 6
Window to Screen 7=none,none,Window to Screen 7
WindowGeometry=Ctrl+Shift+F11,Ctrl+Shift+F11,Toggle window geometry display (effect only)
_k_friendly_name=KWin
view_actual_size=,Meta+0,Actual Size
view_zoom_in=Meta+=,Meta+=,Zoom In
view_zoom_out=Meta+-,Meta+-,Zoom Out
[lattedock]
_k_friendly_name=Latte Dock
activate task manager entry 1=,Meta+1,Activate Task Manager Entry 1
activate task manager entry 10=,Meta+0,Activate Task Manager Entry 10
activate task manager entry 2=,Meta+2,Activate Task Manager Entry 2
activate task manager entry 3=,Meta+3,Activate Task Manager Entry 3
activate task manager entry 4=,Meta+4,Activate Task Manager Entry 4
activate task manager entry 5=,Meta+5,Activate Task Manager Entry 5
activate task manager entry 6=,Meta+6,Activate Task Manager Entry 6
activate task manager entry 7=,Meta+7,Activate Task Manager Entry 7
activate task manager entry 8=,Meta+8,Activate Task Manager Entry 8
activate task manager entry 9=,Meta+9,Activate Task Manager Entry 9
new instance for task manager entry 1=Meta+Ctrl+1,Meta+Ctrl+1,New Instance for Task Manager Entry 1
new instance for task manager entry 10=Meta+Ctrl+0,Meta+Ctrl+0,New Instance for Task Manager Entry 10
new instance for task manager entry 2=Meta+Ctrl+2,Meta+Ctrl+2,New Instance for Task Manager Entry 2
new instance for task manager entry 3=Meta+Ctrl+3,Meta+Ctrl+3,New Instance for Task Manager Entry 3
new instance for task manager entry 4=Meta+Ctrl+4,Meta+Ctrl+4,New Instance for Task Manager Entry 4
new instance for task manager entry 5=Meta+Ctrl+5,Meta+Ctrl+5,New Instance for Task Manager Entry 5
new instance for task manager entry 6=Meta+Ctrl+6,Meta+Ctrl+6,New Instance for Task Manager Entry 6
new instance for task manager entry 7=Meta+Ctrl+7,Meta+Ctrl+7,New Instance for Task Manager Entry 7
new instance for task manager entry 8=Meta+Ctrl+8,Meta+Ctrl+8,New Instance for Task Manager Entry 8
new instance for task manager entry 9=Meta+Ctrl+9,Meta+Ctrl+9,New Instance for Task Manager Entry 9
show latte dock=Meta+`,Meta+`,Show Latte Dock
[mediacontrol]
_k_friendly_name=Media Controller
mediavolumedown=none,none,Media volume down
mediavolumeup=none,none,Media volume up
nextmedia=Media Next,Media Next,Media playback next
playpausemedia=Media Play,Media Play,Play/Pause media playback
previousmedia=Media Previous,Media Previous,Media playback previous
stopmedia=Media Stop,Media Stop,Stop media playback
[org.kde.dolphin.desktop]
_k_friendly_name=Dolphin
_launch=Meta+E,Meta+E,Dolphin
[org.kde.plasma.emojier.desktop]
_k_friendly_name=Emoji Selector
_launch=Meta+.,Meta+.,Emoji Selector
[org.kde.spectacle.desktop]
ActiveWindowScreenShot=none,Meta+Print,Capture Active Window
CurrentMonitorScreenShot=,none,Capture Current Monitor
FullScreenScreenShot=none,Shift+Print,Capture Entire Desktop
RectangularRegionScreenShot=none,Meta+Shift+Print,Capture Rectangular Region
_k_friendly_name=Spectacle
_launch=,Print,Launch Spectacle
[org_kde_powerdevil]
Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,Decrease Keyboard Brightness
Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,Decrease Screen Brightness
Hibernate=Hibernate,Hibernate,Hibernate
Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,Increase Keyboard Brightness
Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,Increase Screen Brightness
PowerOff=Power Off,Power Off,Power Off
Sleep=Sleep,Sleep,Suspend
Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,Toggle Keyboard Backlight
Turn Off Screen=none,none,Turn Off Screen
Decrease Keyboard Brightness=none,Keyboard Brightness Down,Decrease Keyboard Brightness
Decrease Screen Brightness=none,Monitor Brightness Down,Decrease Screen Brightness
Hibernate=none,Hibernate,Hibernate
Increase Keyboard Brightness=none,Keyboard Brightness Up,Increase Keyboard Brightness
Increase Screen Brightness=none,Monitor Brightness Up,Increase Screen Brightness
PowerOff=none,Power Off,Power Off
Sleep=none,Sleep,Suspend
Toggle Keyboard Backlight=none,Keyboard Light On/Off,Toggle Keyboard Backlight
_k_friendly_name=Power Management
[plasmashell]
@ -274,9 +298,9 @@ activate task manager entry 6=Meta+6,Meta+6,Activate Task Manager Entry 6
activate task manager entry 7=Meta+7,Meta+7,Activate Task Manager Entry 7
activate task manager entry 8=Meta+8,Meta+8,Activate Task Manager Entry 8
activate task manager entry 9=Meta+9,Meta+9,Activate Task Manager Entry 9
activate widget 16=Alt+F1,none,Activate Application Launcher Widget
activate widget 21=none,none,Activate Digital Clock Widget
activate widget 3=,none,Activate Application Launcher Widget
activate widget 25=none,none,Activate Pager Widget
activate widget 4=,none,Activate Application Launcher Widget
activate widget 50=Alt+F1,none,Activate Application Launcher Widget
clear-history=none,none,Clear Clipboard History
clipboard_action=Ctrl+Alt+X,Ctrl+Alt+X,Enable Clipboard Actions
cycleNextAction=none,none,Next History Item
@ -290,14 +314,3 @@ show dashboard=Ctrl+F12,Ctrl+F12,Show Desktop
show-barcode=none,none,Show Barcode...
show-on-mouse-pos=none,none,Open Klipper at Mouse Position
stop current activity=Meta+S,Meta+S,Stop Current Activity
[wacomtablet]
Map to fullscreen=Meta+Ctrl+F,Meta+Ctrl+F,Map to fullscreen
Map to screen 1=Meta+Ctrl+1,Meta+Ctrl+1,Map to screen 1
Map to screen 2=Meta+Ctrl+2,Meta+Ctrl+2,Map to screen 2
Next Profile=Meta+Ctrl+N,Meta+Ctrl+N,Next profile
Previous Profile=Meta+Ctrl+P,Meta+Ctrl+P,Previous Profile
Toggle screen map selection=Meta+Ctrl+M,Meta+Ctrl+M,Toggle between all screens
Toggle stylus mode=Meta+Ctrl+S,Meta+Ctrl+S,Toggle the Stylus Tool Relative/Absolute
Toggle touch tool=Meta+Ctrl+T,Meta+Ctrl+T,Enable/Disable the Touch Tool
_k_friendly_name=Wacom Tablet

File diff suppressed because it is too large Load Diff

35
.config/konsolerc Normal file
View File

@ -0,0 +1,35 @@
[Desktop Entry]
DefaultProfile=Primary.profile
[Favorite Profiles]
Favorites=Primary.profile
[FileDialogSize]
Height 1080=480
Width 1920=641
[FileLocation]
scrollbackUseCacheLocation=true
scrollbackUseSystemLocation=false
[KFileDialog Settings]
Recent Files[$e]=gentoo-cow-gdm-remake-1920x1080.png,file:$HOME/Pictures/Wallpapers/Loonix/gentoo-cow-gdm-remake-1920x1080.png
Recent URLs[$e]=file:$HOME/Pictures/Wallpapers/Loonix/
[KonsoleWindow]
SaveGeometryOnExit=false
ShowAppNameOnTitleBar=false
ShowMenuBarByDefault=false
ShowWindowTitleOnTitleBar=true
[MainWindow]
MenuBar=Disabled
State=AAAA/wAAAAD9AAAAAAAAAnwAAAP8AAAABAAAAAQAAAAIAAAACPwAAAAA
ToolBarsMovable=Disabled
[Notification Messages]
CloseAllTabs=true
[TabBar]
TabBarPosition=Top
TabBarVisibility=AlwaysHideTabBar

12
.config/kscreenlockerrc Normal file
View File

@ -0,0 +1,12 @@
[$Version]
update_info=kscreenlocker.upd:0.1-autolock
[Daemon]
Autolock=false
[Greeter]
Theme=org.kde.breezedark.desktop
WallpaperPlugin=org.kde.color
[Greeter][Wallpaper][org.kde.color][General]
Color=40,40,40

3
.config/ksplashrc Normal file
View File

@ -0,0 +1,3 @@
[KSplash]
Engine=none
Theme=None

View File

@ -0,0 +1,118 @@
<?xml version="1.0"?>
<opml version="1.0">
<head>
<title>Liferea Feed List Export</title>
</head>
<body>
<outline title="Unread" text="Unread" description="Unread" type="vfolder" id="rrrbrho" sortColumn="time" matchType="any" collapsed="true">
<outline type="rule" text="Read status" rule="unread" value="" additive="true"/>
</outline>
<outline title="Important" text="Important" description="Important" type="vfolder" id="jtitqux" sortColumn="time" matchType="any" collapsed="true">
<outline type="rule" text="Flag status" rule="flagged" value="" additive="true"/>
</outline>
<outline title="Main" text="Main" description="Main" type="folder" id="fhwpnbm" sortColumn="time" expanded="true">
<outline title="Updates" text="Updates" description="Updates" type="folder" id="kcillep" sortColumn="time" collapsed="true">
<outline title="Metaquarium" text="Metaquarium" description="Metaquarium" type="rss" id="sebcrmi" sortColumn="time" xmlUrl="https://metaquarium.wordpress.com/feed/" htmlUrl="https://metaquarium.wordpress.com" updateInterval="-1" collapsed="true"/>
<outline title="Dolphin" text="Dolphin" description="Dolphin" type="atom" id="ojymnjp" sortColumn="time" xmlUrl="https://dolphin-emu.org/blog/feeds/" htmlUrl="https://dolphin-emu.org/blog/feeds/" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Articles" text="Articles" description="Articles" type="folder" id="ikupviy" sortColumn="time" collapsed="true">
<outline title="Debian" text="Debian" description="Debian" type="folder" id="uvvnphw" sortColumn="time" collapsed="true">
<outline title="Debian News" text="Debian News" description="Debian News" type="rss" id="ypydtvw" sortColumn="time" xmlUrl="http://www.debian.org/News/news" htmlUrl="https://www.debian.org/News/" updateInterval="-1" collapsed="true"/>
<outline title="Planet Debian" text="Planet Debian" description="Planet Debian" type="rss" id="hkjpbwb" sortColumn="time" xmlUrl="http://planet.debian.org/rss20.xml" htmlUrl="https://planet.debian.org/" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="LWN.net" text="LWN.net" description="LWN.net" type="rss" id="csafcwv" sortColumn="time" xmlUrl="https://lwn.net/headlines/newrss" htmlUrl="https://lwn.net" updateInterval="-1" collapsed="true"/>
<outline title="The Register" text="The Register" description="The Register" type="atom" id="xgrybrx" sortColumn="time" xmlUrl="https://www.theregister.co.uk/headlines.atom" htmlUrl="https://www.theregister.co.uk/" updateInterval="-1" collapsed="true"/>
<outline title="TorrentFreak" text="TorrentFreak" description="TorrentFreak" type="rss" id="uubkxkn" sortColumn="time" xmlUrl="https://feeds.feedburner.com/Torrentfreak" htmlUrl="https://torrentfreak.com" updateInterval="-1" collapsed="true"/>
<outline title="Wololo.net" text="Wololo.net" description="Wololo.net" type="rss" id="kpjonjr" sortColumn="time" xmlUrl="https://wololo.net/feed/" htmlUrl="http://wololo.net" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Comics" text="Comics" description="Comics" type="folder" id="qouxhbj" sortColumn="time" collapsed="true">
<outline title="Comics &#x2013; StoneToss" text="Comics &#x2013; StoneToss" description="Comics &#x2013; StoneToss" type="rss" id="irnayof" sortColumn="time" xmlUrl="http://stonetoss.com/comic/feed/" htmlUrl="http://stonetoss.com" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Blogs" text="Blogs" description="Blogs" type="folder" id="krwavco" sortColumn="time" collapsed="true"/>
<outline title="YouTube" text="YouTube" description="YouTube" type="folder" id="ivspgxh" sortColumn="time" expanded="true">
<outline title="Reviewers" text="Reviewers" description="Reviewers" type="folder" id="loyqmhy" sortColumn="time" collapsed="true">
<outline title="Matthewmatosis" text="Matthewmatosis" description="Matthewmatosis" type="atom" id="tumcwwb" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCb_sF2m3-2azOqeNEdMwQPw" htmlUrl="https://www.youtube.com/channel/UCb_sF2m3-2azOqeNEdMwQPw" updateInterval="-1" collapsed="true"/>
<outline title="Joseph Anderson" text="Joseph Anderson" description="Joseph Anderson" type="atom" id="krbtvmt" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCyhnYIvIKK_--PiJXCMKxQQ" htmlUrl="https://www.youtube.com/channel/UCyhnYIvIKK_--PiJXCMKxQQ" updateInterval="-1" collapsed="true"/>
<outline title="YourMovieSucksDOTorg" text="YourMovieSucksDOTorg" description="YourMovieSucksDOTorg" type="atom" id="fundidx" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCSc16oMxxlcJSb9SXkjwMjA" htmlUrl="https://www.youtube.com/channel/UCSc16oMxxlcJSb9SXkjwMjA" updateInterval="-1" collapsed="true"/>
<outline title="Mark Brown" text="Mark Brown" description="Mark Brown" type="atom" id="gkmpnqg" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?user=McBacon1337" htmlUrl="https://www.youtube.com/channel/UCqJ-Xo29CKyLTjn6z2XwYAw" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Talks" text="Talks" description="Talks" type="folder" id="gqnxbir" sortColumn="time" collapsed="true">
<outline title="Hacking" text="Hacking" description="Hacking" type="folder" id="uyupfjk" sortColumn="time" collapsed="true">
<outline title="Shakacon LLC" text="Shakacon LLC" description="Shakacon LLC" type="atom" id="pdodnfg" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?user=ShakaconITConference" htmlUrl="https://www.youtube.com/channel/UCIvytJLrQS3x8lTusvTLaOQ" updateInterval="-1" collapsed="true"/>
<outline title="DEFCONConference" text="DEFCONConference" description="DEFCONConference" type="atom" id="wexfxty" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC6Om9kAkl32dWlDSNlDS9Iw" htmlUrl="https://www.youtube.com/channel/UC6Om9kAkl32dWlDSNlDS9Iw" updateInterval="-1" collapsed="true"/>
<outline title="Black Hat" text="Black Hat" description="Black Hat" type="atom" id="qjhrhjr" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCJ6q9Ie29ajGqKApbLqfBOg" htmlUrl="https://www.youtube.com/channel/UCJ6q9Ie29ajGqKApbLqfBOg" updateInterval="-1" collapsed="true"/>
</outline>
</outline>
<outline title="Games" text="Games" description="Games" type="folder" id="arsudsq" sortColumn="time" collapsed="true">
<outline title="TF2" text="TF2" description="TF2" type="folder" id="pslrnmd" sortColumn="time" collapsed="true">
<outline title="LazyPurple" text="LazyPurple" description="LazyPurple" type="atom" id="yfgemtp" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCdfj8hli-xBL93bfQvce88A" htmlUrl="https://www.youtube.com/channel/UCdfj8hli-xBL93bfQvce88A" updateInterval="-1" collapsed="true"/>
<outline title="Uncle Dane" text="Uncle Dane" description="Uncle Dane" type="atom" id="xfmslgx" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?user=danethebrain" htmlUrl="https://www.youtube.com/channel/UCu0PSyLD5p_J5osLk5UD0pw" updateInterval="-1" collapsed="true"/>
</outline>
</outline>
<outline title="Comfy" text="Comfy" description="Comfy" type="folder" id="jkfrvgm" sortColumn="time" collapsed="true">
<outline title="Accursed Farms" text="Accursed Farms" description="Accursed Farms" type="atom" id="eslmdvu" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCJ6KZTTnkE-s2XFJJmoTAkw" htmlUrl="https://www.youtube.com/channel/UCJ6KZTTnkE-s2XFJJmoTAkw" updateInterval="-1" collapsed="true"/>
<outline title="Steve1989MREInfo" text="Steve1989MREInfo" description="Steve1989MREInfo" type="atom" id="rukcbko" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC2I6Et1JkidnnbWgJFiMeHA" htmlUrl="https://www.youtube.com/channel/UC2I6Et1JkidnnbWgJFiMeHA" updateInterval="-1" collapsed="true"/>
<outline title="SovietWomble" text="SovietWomble" description="SovietWomble" type="atom" id="qkkjwqq" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCQD3awTLw9i8Xzh85FKsuJA" htmlUrl="https://www.youtube.com/channel/UCQD3awTLw9i8Xzh85FKsuJA" updateInterval="-1" collapsed="true"/>
<outline title="vinesauce" text="vinesauce" description="vinesauce" type="atom" id="xppfana" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCzORJV8l3FWY4cFO8ot-F2w" htmlUrl="https://www.youtube.com/channel/UCzORJV8l3FWY4cFO8ot-F2w" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Guns" text="Guns" description="Guns" type="folder" id="odwcpvc" sortColumn="time" collapsed="true">
<outline title="hickok45" text="hickok45" description="hickok45" type="atom" id="cqctebm" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCvB3solmhqtgDeLpD-yTtfg" htmlUrl="https://www.youtube.com/channel/UCvB3solmhqtgDeLpD-yTtfg" updateInterval="-1" collapsed="true"/>
<outline title="Forgotten Weapons" text="Forgotten Weapons" description="Forgotten Weapons" type="atom" id="cpatlfj" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCrfKGpvbEQXcbe68dzXgJuA" htmlUrl="https://www.youtube.com/channel/UCrfKGpvbEQXcbe68dzXgJuA" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Chemistry" text="Chemistry" description="Chemistry" type="folder" id="oujpuvh" sortColumn="time" collapsed="true">
<outline title="NurdRage" text="NurdRage" description="NurdRage" type="atom" id="gudocnp" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCIgKGGJkt1MrNmhq3vRibYA" htmlUrl="https://www.youtube.com/channel/UCIgKGGJkt1MrNmhq3vRibYA" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Internet Celebrity Bullshit" text="Internet Celebrity Bullshit" description="Internet Celebrity Bullshit" type="folder" id="kacfaau" sortColumn="time" collapsed="true">
<outline title="CGP Grey" text="CGP Grey" description="CGP Grey" type="atom" id="uxsmmki" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC2C_jShtL725hvbm1arSV9w" htmlUrl="https://www.youtube.com/channel/UC2C_jShtL725hvbm1arSV9w" updateInterval="-1" collapsed="true"/>
<outline title="2ndJerma" text="2ndJerma" description="2ndJerma" type="atom" id="inhimiq" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCL7DDQWP6x7wy0O6L5ZIgxg" htmlUrl="https://www.youtube.com/channel/UCL7DDQWP6x7wy0O6L5ZIgxg" updateInterval="-1" collapsed="true"/>
<outline title="2Snacks" text="2Snacks" description="2Snacks" type="atom" id="xsqimje" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCFNJrEtaD4fDe_cH6WQE9sg" htmlUrl="https://www.youtube.com/channel/UCFNJrEtaD4fDe_cH6WQE9sg" updateInterval="-1" collapsed="true"/>
<outline title="Stryder7x" text="Stryder7x" description="Stryder7x" type="atom" id="pqorcvv" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCYDnJiF0_RqSjkjvjRbG1tA" htmlUrl="https://www.youtube.com/channel/UCYDnJiF0_RqSjkjvjRbG1tA" updateInterval="-1" collapsed="true"/>
<outline title="Ahoy" text="Ahoy" description="Ahoy" type="atom" id="eetshqe" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCE1jXbVAGJQEORz9nZqb5bQ" htmlUrl="https://www.youtube.com/channel/UCE1jXbVAGJQEORz9nZqb5bQ" updateInterval="-1" collapsed="true"/>
<outline title="Jerma985" text="Jerma985" description="Jerma985" type="atom" id="cbnmged" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCK3kaNXbB57CLcyhtccV_yw" htmlUrl="https://www.youtube.com/channel/UCK3kaNXbB57CLcyhtccV_yw" updateInterval="-1" collapsed="true"/>
<outline title="SethEverman" text="SethEverman" description="SethEverman" type="atom" id="hhxdfip" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?user=SethEverman" htmlUrl="https://www.youtube.com/channel/UCoNRSwYHJdy-yV1b82ZdHfQ" updateInterval="-1" collapsed="true"/>
<outline title="Ahoy&#xB2;" text="Ahoy&#xB2;" description="Ahoy&#xB2;" type="atom" id="nvatlag" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCp_pGFmKwwOrpKzLc0sWvKA" htmlUrl="https://www.youtube.com/channel/UCp_pGFmKwwOrpKzLc0sWvKA" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Linux" text="Linux" description="Linux" type="folder" id="oqnkrtd" sortColumn="time" collapsed="true">
<outline title="tutoriaLinux" text="tutoriaLinux" description="tutoriaLinux" type="atom" id="kktnlvu" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCvA_wgsX6eFAOXI8Rbg_WiQ" htmlUrl="https://www.youtube.com/channel/UCvA_wgsX6eFAOXI8Rbg_WiQ" updateInterval="-1" collapsed="true"/>
<outline title="Level1Techs" text="Level1Techs" description="Level1Techs" type="atom" id="ubfmpac" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC4w1YQAJMWOz4qtxinq55LQ" htmlUrl="https://www.youtube.com/channel/UC4w1YQAJMWOz4qtxinq55LQ" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Shitposters" text="Shitposters" description="Shitposters" type="folder" id="ftepfjc" sortColumn="time" collapsed="true">
<outline title="DouchebagChocolat" text="DouchebagChocolat" description="DouchebagChocolat" type="atom" id="asmrkwj" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCcAvljdM2NMdMYq_pvT9pBw" htmlUrl="https://www.youtube.com/channel/UCcAvljdM2NMdMYq_pvT9pBw" updateInterval="-1" collapsed="true"/>
<outline title="Raxxo" text="Raxxo" description="Raxxo" type="atom" id="hamuhtj" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCEChYvWCOvbn8yZkrDsgU0g" htmlUrl="https://www.youtube.com/channel/UCEChYvWCOvbn8yZkrDsgU0g" updateInterval="-1" collapsed="true"/>
<outline title="Lord Zedd" text="Lord Zedd" description="Lord Zedd" type="atom" id="fotbhsc" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UChDWYiNZwSEsIbv5nHltPhQ" htmlUrl="https://www.youtube.com/channel/UChDWYiNZwSEsIbv5nHltPhQ" updateInterval="-1" collapsed="true"/>
<outline title="Pyris the Thaumaturge" text="Pyris the Thaumaturge" description="Pyris the Thaumaturge" type="atom" id="lpkggms" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC3WndXuOD_iovd5H4Zl1cXg" htmlUrl="https://www.youtube.com/channel/UC3WndXuOD_iovd5H4Zl1cXg" updateInterval="-1" collapsed="true"/>
<outline title="bruTalcumPowder" text="bruTalcumPowder" description="bruTalcumPowder" type="atom" id="eoroxuk" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCGoRKw02ld5cM1YPbMI0loA" htmlUrl="https://www.youtube.com/channel/UCGoRKw02ld5cM1YPbMI0loA" updateInterval="-1" collapsed="true"/>
<outline title="Crowbcat" text="Crowbcat" description="Crowbcat" type="atom" id="yowxrhy" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCYZtp0YIxYOipX15v_h_jnA" htmlUrl="https://www.youtube.com/channel/UCYZtp0YIxYOipX15v_h_jnA" updateInterval="-1" collapsed="true"/>
<outline title="MowtenDoo" text="MowtenDoo" description="MowtenDoo" type="atom" id="bfwiile" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCYFvEPbFbDIVRiODrh1-x4g" htmlUrl="https://www.youtube.com/channel/UCYFvEPbFbDIVRiODrh1-x4g" updateInterval="-1" collapsed="true"/>
<outline title="WelfareWalrus" text="WelfareWalrus" description="WelfareWalrus" type="atom" id="vmmpvec" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCH0nxlqGEDoY9KbyY1SP21Q" htmlUrl="https://www.youtube.com/channel/UCH0nxlqGEDoY9KbyY1SP21Q" updateInterval="-1" collapsed="true"/>
<outline title="Mister Metokur" text="Mister Metokur" description="Mister Metokur" type="atom" id="ytsuqcl" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCfYbb7nga6-icsFWWgS-kWw" htmlUrl="https://www.youtube.com/channel/UCfYbb7nga6-icsFWWgS-kWw" updateInterval="-1" collapsed="true"/>
<outline title="Bro Team Pill" text="Bro Team Pill" description="Bro Team Pill" type="atom" id="pwaxamh" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCkop4F44-FV6N92-PNAYzxA" htmlUrl="https://www.youtube.com/channel/UCkop4F44-FV6N92-PNAYzxA" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Speedrunners/LP-ers" text="Speedrunners/LP-ers" description="Speedrunners/LP-ers" type="folder" id="biqkryq" sortColumn="time" collapsed="true">
<outline title="Glitches0and0stuff" text="Glitches0and0stuff" description="Glitches0and0stuff" type="atom" id="slelvcy" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC9W6DDQoGzP2cSShxtgidSQ" htmlUrl="https://www.youtube.com/channel/UC9W6DDQoGzP2cSShxtgidSQ" updateInterval="-1" collapsed="true"/>
<outline title="Skawo" text="Skawo" description="Skawo" type="atom" id="ouwjdni" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UColqqqGEOAuzeD8Zt5Y67FQ" htmlUrl="https://www.youtube.com/channel/UColqqqGEOAuzeD8Zt5Y67FQ" updateInterval="-1" collapsed="true"/>
<outline title="Kruggsmash" text="Kruggsmash" description="Kruggsmash" type="atom" id="ajtxgpi" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCaifrB5IrvGNPJmPeVOcqBA" htmlUrl="https://www.youtube.com/channel/UCaifrB5IrvGNPJmPeVOcqBA" updateInterval="-1" collapsed="true"/>
<outline title="Kaztalek" text="Kaztalek" description="Kaztalek" type="atom" id="klpdwlg" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCYn8nFCOsUZ3edRDCsbakAw" htmlUrl="https://www.youtube.com/channel/UCYn8nFCOsUZ3edRDCsbakAw" updateInterval="-1" collapsed="true"/>
<outline title="SHiFT" text="SHiFT" description="SHiFT" type="atom" id="rhwrorm" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC9Y0uUKJ5y78QbhHbntAyFQ" htmlUrl="https://www.youtube.com/channel/UC9Y0uUKJ5y78QbhHbntAyFQ" updateInterval="-1" collapsed="true"/>
<outline title="That Gray Cartoon Pony" text="That Gray Cartoon Pony" description="That Gray Cartoon Pony" type="atom" id="iosscki" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCcLV1RwqPTIFwTdIescV-Gw" htmlUrl="https://www.youtube.com/channel/UCcLV1RwqPTIFwTdIescV-Gw" updateInterval="-1" collapsed="true"/>
<outline title="Lenophis" text="Lenophis" description="Lenophis" type="atom" id="vutnhqv" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC1GYbg-Urm1t_FytlK01Rbg" htmlUrl="https://www.youtube.com/channel/UC1GYbg-Urm1t_FytlK01Rbg" updateInterval="-1" collapsed="true"/>
<outline title="ParallelSkawo" text="ParallelSkawo" description="ParallelSkawo" type="atom" id="xopwnft" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCd_iSvs8jsAUd1YLmFCKCqw" htmlUrl="https://www.youtube.com/channel/UCd_iSvs8jsAUd1YLmFCKCqw" updateInterval="-1" collapsed="true"/>
<outline title="ZFG" text="ZFG" description="ZFG" type="atom" id="ysqjskw" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCk9RA3G-aVQXvp7-Q4Ac9kQ" htmlUrl="https://www.youtube.com/channel/UCk9RA3G-aVQXvp7-Q4Ac9kQ" updateInterval="-1" collapsed="true"/>
<outline title="Daniel Baamonde" text="Daniel Baamonde" description="Daniel Baamonde" type="atom" id="tocbduu" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?user=dannyb21892" htmlUrl="https://www.youtube.com/channel/UC1iSxMxPBw20iXBRT_4bZhg" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Animators" text="Animators" description="Animators" type="folder" id="xdchvww" sortColumn="time" collapsed="true">
<outline title="DetectiveNigbone" text="DetectiveNigbone" description="DetectiveNigbone" type="atom" id="xppmddc" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCU8MJYRgksRiSpAdpX1yX5w" htmlUrl="https://www.youtube.com/channel/UCU8MJYRgksRiSpAdpX1yX5w" updateInterval="-1" collapsed="true"/>
<outline title="ugotaphonenumber" text="ugotaphonenumber" description="ugotaphonenumber" type="atom" id="pqmsbct" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCqq4eBBFyUIcAEs9-ZW19cw" htmlUrl="https://www.youtube.com/channel/UCqq4eBBFyUIcAEs9-ZW19cw" updateInterval="-1" collapsed="true"/>
<outline title="Felix Colgrave" text="Felix Colgrave" description="Felix Colgrave" type="atom" id="mqudxok" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCO7fujFV_MuxTM0TuZrnE6Q" htmlUrl="https://www.youtube.com/channel/UCO7fujFV_MuxTM0TuZrnE6Q" updateInterval="-1" collapsed="true"/>
<outline title="Duo Cartoonist" text="Duo Cartoonist" description="Duo Cartoonist" type="atom" id="ydoivcw" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?user=SpirittoWeb" htmlUrl="https://www.youtube.com/channel/UCaVf-df5Fm9U5ooS-UF7TOg" updateInterval="-1" collapsed="true"/>
<outline title="Lakitouille" text="Lakitouille" description="Lakitouille" type="atom" id="ojhjxuu" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCajWXecfPYwjKnMSTh7B-_A" htmlUrl="https://www.youtube.com/channel/UCajWXecfPYwjKnMSTh7B-_A" updateInterval="-1" collapsed="true"/>
<outline title="Eltorro64Rus" text="Eltorro64Rus" description="Eltorro64Rus" type="atom" id="bgddbfr" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCn-REG6uY2ew2mICsTZx54Q" htmlUrl="https://www.youtube.com/channel/UCn-REG6uY2ew2mICsTZx54Q" updateInterval="-1" collapsed="true"/>
<outline title="Antoine Delak" text="Antoine Delak" description="Antoine Delak" type="atom" id="uhyyjsn" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCrjImfv2PReA1VhEfNaDOYw" htmlUrl="https://www.youtube.com/channel/UCrjImfv2PReA1VhEfNaDOYw" updateInterval="-1" collapsed="true"/>
<outline title="FineLeatherJackets" text="FineLeatherJackets" description="FineLeatherJackets" type="atom" id="xysnova" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCf-62jA6IdMUtNZ5Iperzxw" htmlUrl="https://www.youtube.com/channel/UCf-62jA6IdMUtNZ5Iperzxw" updateInterval="-1" collapsed="true"/>
</outline>
<outline title="Dolphin Emulator" text="Dolphin Emulator" description="Dolphin Emulator" type="atom" id="kdnmpna" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC1US0SaXvIUPgnf-GLbfb3g" htmlUrl="https://www.youtube.com/channel/UC1US0SaXvIUPgnf-GLbfb3g" updateInterval="-1" collapsed="true"/>
<outline title="FlutterRex" text="FlutterRex" description="FlutterRex" type="atom" id="aftnkws" sortColumn="time" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC6gxEQy8yrLN8nRJQn8KYVw" htmlUrl="https://www.youtube.com/channel/UC6gxEQy8yrLN8nRJQn8KYVw" updateInterval="-1" collapsed="true"/>
</outline>
</outline>
</body>
</opml>

115
.config/liferea/liferea.css Normal file
View File

@ -0,0 +1,115 @@
/**
This is a template file which you can use to redefine the Liferea
CSS definitions use to render items. Below you find empty class
definitions including comments describing what they are used for.
Before you start customizing...
Reloading:
==========
For performance reasons Liferea will read this CSS file only
on startup. So when you modify it please restart Liferea for
changes to take effect.
About Font Definitions:
=======================
You should avoid setting absolute font sizes. This allows Liferea
to follow the GNOME font and font size. Use relative definitions
instead (e.g. "1.2em" or "0.8em").
Color Definitions:
==================
Try to reuse GTK theme colors. Liferea uses the following definitions
and will be replace them on the fly:
GTK-COLOR-FG
GTK-COLOR-BG
GTK-COLOR-LIGHT
GTK-COLOR-DARK
GTK-COLOR-MID
GTK-COLOR-BASE
GTK-COLOR-TEXT
GTK-COLOR-NORMAL-LINK
GTK-COLOR-VISITED-LINK
Inspecting the HTML:
====================
If the definitions below do not help you, run Liferea with
the parameter "--debug-html". Then Liferea will dump HTML
into
~/.cache/liferea/output.xhtml
each time it renders an item or a feed. So you can check for
style classes and the layout you want to affect.
*/
/* Item display rendering header table (with title, categories...) */
// table.itemhead { }
/* Feed display rendering header table (with title, categories...) */
// table.feedhead { }
/* Left <td> of feed/item table display containing favicon */
// td.headleft { }
// a.favicon { }
// a.favicon img { }
/* Right <td> of feed/item table display containing title */
// td.headright { }
/* Metadata display table (inside header table) */
// table.headmeta { }
/* 2 pane mode: Item menu definitions */
// .itemmenu { }
// .itemmenu a { }
// .itemmenu a:hover { }
// .itemmenu * span { }
// .itemmenu * img { }
/* Header table fields to different item metadata */
// .author, .categories, .source { }
// .date { }
/* Item/feed description */
// div.content { }
/* Comment rendering */
// div.comment { }
// div.comment_body { }
// div.comment_title { }
/* Styles for the HTTP error box at the beginning
of the feed description and for item comment feeds */
// #errors, #commentFeedError { }
// #parseError, #filterError, #updateError { }
// div.xmlparseroutput { }
// span.details, span.detaillink { }
// span.details { }
// span.showmore { }
/* namespace specific styles */
// div.blogchanneltitle { }
// div.photoheader { }
/* Gravatar embedding */
// img.gravatar { }
/* OpenStreeMap embedded map*/
// #map img { }
/* Slashdot Header */
// .slash { }
// .slashSection, .slashDepartment { }
// .slashValue { }

4
.config/liferea/mime.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<types>
<type cmd="x-www-browser" mime="application/x-shockwave-flash"/>
</types>

View File

@ -1,55 +0,0 @@
#
# Salt's MPD configuration
# gitlab.com/rehashedsalt/home
#
# DIRECTORIES
#music_directory "~/Music"
playlist_directory "~/Music/Playlists"
db_file "~/.local/share/mpd/database"
log_file "~/.local/share/mpd/log"
# Disabled by default
pid_file "~/.local/share/mpd/pid"
state_file "~/.local/share/mpd/state"
sticker_file "~/.local/share/mpd/sticker.sql"
# INPUT CONFIG
# Why the hell are these even still here?
input {
plugin "tidal"
enabled "no"
}
input {
plugin "qobuz"
enabled "no"
}
# DECODER CONFIG
decoder {
plugin "opus"
enabled "yes"
}
# OUTPUT CONFIG
audio_output {
type "pulse"
name "Local Pulse"
## server "remote_server" # optional
## sink "remote_server_sink" # optional
## media_role "media_role" #optional
}
# GENERAL CONFIG
log_level "default"
restore_paused "yes"
save_absolute_paths_in_playlists "yes"
# DATABASE CONFIG
auto_update "yes"
#auto_update_depth "3"
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links outside of the configured music_directory.
#follow_outside_symlinks "yes"
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links inside of the configured music_directory.
#follow_inside_symlinks "yes"

View File

@ -1 +0,0 @@
volume=100

View File

@ -0,0 +1,9 @@
[xin_0]
file=/home/salt/Pictures/Wallpapers/.active/1445624439541.png
mode=0
bgcolor=#282828
[xin_1]
file=/home/salt/Pictures/Wallpapers/Animu/Ghibli/klOItb2.png
mode=0
bgcolor=#282828

View File

@ -0,0 +1,12 @@
[geometry]
posx=1928
posy=8
sizex=2540
sizey=1382
[nitrogen]
view=icon
recurse=true
sort=alpha
icon_caps=false
dirs=/home/salt/Pictures/Wallpapers;

View File

@ -1,78 +0,0 @@
ACCENT_BG=83a598
ARC_TRANSPARENCY=True
ARC_WIDGET_BORDER_COLOR=59554a
BASE16_GENERATE_DARK=False
BASE16_INVERT_TERMINAL=False
BASE16_MILD_TERMINAL=False
BG=282828
BTN_BG=282828
BTN_FG=610a7a
BTN_OUTLINE_OFFSET=-3
BTN_OUTLINE_WIDTH=1
CARET1_FG=cac10f
CARET2_FG=cac10f
CARET_SIZE=0.04
CINNAMON_OPACITY=1.0
FG=ebdbb2
GRADIENT=0.01
GTK3_GENERATE_DARK=True
HDR_BG=32302f
HDR_BTN_BG=282828
HDR_BTN_FG=01bf9b
HDR_FG=ebdbb2
ICONS_ARCHDROID=d2f000
ICONS_DARK=282828
ICONS_LIGHT=bc8ef4
ICONS_LIGHT_FOLDER=83a598
ICONS_MEDIUM=458588
ICONS_NUMIX_STYLE=0
ICONS_STYLE=papirus_icons
ICONS_SYMBOLIC_ACTION=ebdbb2
ICONS_SYMBOLIC_PANEL=ebdbb2
MATERIA_PANEL_OPACITY=0.6
MATERIA_SELECTION_OPACITY=0.32
MATERIA_STYLE_COMPACT=True
MENU_BG=12afaf
MENU_FG=01bf9b
NAME="Gruvbox/Dark"
OUTLINE_WIDTH=1
ROUNDNESS=6
SEL_BG=83a598
SEL_FG=282828
SPACING=3
SPOTIFY_PROTO_BG=282828
SPOTIFY_PROTO_FG=ebdbb2
SPOTIFY_PROTO_SEL=b8bb26
SURUPLUS_GRADIENT1=21826e
SURUPLUS_GRADIENT2=f728dd
SURUPLUS_GRADIENT_ENABLED=False
TERMINAL_ACCENT_COLOR=f728dd
TERMINAL_BACKGROUND=237095
TERMINAL_BASE_TEMPLATE=material
TERMINAL_COLOR0=36868b
TERMINAL_COLOR1=ffec53
TERMINAL_COLOR10=acffb8
TERMINAL_COLOR11=fff453
TERMINAL_COLOR12=91ffff
TERMINAL_COLOR13=bd68aa
TERMINAL_COLOR14=36faed
TERMINAL_COLOR15=fcffff
TERMINAL_COLOR2=9bff9d
TERMINAL_COLOR3=ffff5a
TERMINAL_COLOR4=13fdff
TERMINAL_COLOR5=f972b6
TERMINAL_COLOR6=10eadb
TERMINAL_COLOR7=dfffff
TERMINAL_COLOR8=479ba2
TERMINAL_COLOR9=fffba0
TERMINAL_FOREGROUND=d2f000
TERMINAL_THEME_ACCURACY=128
TERMINAL_THEME_AUTO_BGFG=True
TERMINAL_THEME_EXTEND_PALETTE=False
TERMINAL_THEME_MODE=smarty
THEME_STYLE=materia
TXT_BG=282828
TXT_FG=d2f000
UNITY_DEFAULT_LAUNCHER_STYLE=False
WM_BORDER_FOCUS=f728dd
WM_BORDER_UNFOCUS=c158ce

View File

@ -0,0 +1 @@
export KDEWM=/usr/bin/bspwm

View File

@ -1,288 +1,361 @@
# vim:ft=dosini
# _ _
# _ __ ___ | |_ _| |__ __ _ _ __
# | '_ \ / _ \| | | | | '_ \ / _` | '__|
# | |_) | (_) | | |_| | |_) | (_| | |
# | .__/ \___/|_|\__, |_.__/ \__,_|_|
# |_| |___/
#==================================================
#
# Copyright (c) 2020 Vintage Salt <rehashedsalt@cock.li>
# Distributed under the terms of the MIT License
# INFO: https://github.com/jaagr/polybar
#
#===================================================
## VARIABLES
#========================================
# RESOURCES
#========================================
[res/colors]
red = #fb4934
green = #b8bb26
yellow = #fabd2f
blue = #83a598
magenta = #de869b
cyan = #8ec07c
white = #ebdbb2
black = #282828
gray = #32302f
primary = ${xrdb:color12}
secondary = ${xrdb:color4}
alert = ${xrdb:color3}
warning = ${xrdb:color1}
bg = ${env:PB_COLOR_BG:#282828}
fg = ${env:PB_COLOR_FG:#ebdbb2}
border = ${env:PB_COLOR_BORDER:#32302f}
selection = #83a598
mod-battery = ${xrdb:color10}
mod-cpu = ${xrdb:color12}
mod-date = ${self.primary}
mod-fs = ${xrdb:color11}
mod-memory = ${xrdb:color13}
mod-tor = ${xrdb:color13}
mod-volume = ${self.primary}
mod-network = ${xrdb:color14}
mod-wm = ${xrdb:color12}
mod-xbacklight = ${self.primary}
notif-package = ${self.foreground-dark}
background = ${xrdb:background}
background-alt = ${xrdb:bg2}
foreground = ${xrdb:color15}
foreground-dark = ${xrdb:color8}
border = #3c3836
bar-empty = ${self.border}
[res/config]
bar-width = 50
bar-fill = |
bar-empty = |
bar-indicator =
border-size = 4
padding = 2
padding-bar = 3
[settings]
screenchange-reload = true
format-padding = ${res/config.padding}
format-background = ${res/colors.bg}
[res/fonts]
font-0 = "Inconsolata:style=Regular:size=10;2"
font-1 = "Inconsolata:style=Bold:size=10;2"
font-2 = "Inconsolata:style=Light:size=10;2"
font-3 = "Inconsolata:size=10;2"
font-4 = "Material Design Icons:size=11;3"
#========================================
# BARS
#========================================
# TEMPLATE
#====================
## BARS
[template/bar]
bottom = false
wm-restack = ${env:PB_WM_RESTACK:i3}
tray-maxsize = 16
background = ${res/colors.bg}
foreground = ${res/colors.fg}
border-color = ${res/colors.border}
tray-background = ${res/colors.bg}
height = 40
width = 100%
padding = 2
border-bottom-size = ${res/config.border-size}
font-0 = "IBM Plex Sans:style=Medium:size=10;2"
font-1 = "Deja Vu Sans Mono:style=Regular:size=10;2"
font-2 = "IBM Plex Sans:style=Bold:size=10;2"
font-3 = "Fork Awesome:style=Regular:size=12;2"
font-4 = "Font Awesome 5 Free:style=Regular:size=12;2"
font-5 = "Font Awesome 5 Brands:style=Regular:size=12;2"
# General ordering
bottom = true
wm-restack = ${env:PB_WM_RESTACK:bspwm}
offset-y = 2
# Tray settings
tray-maxsize = 16
# Colors
background = ${res/colors.background}
foreground = ${res/colors.foreground}
border-color = ${res/colors.background-alt}
# Whitespace
height = 36
padding = ${res/config.padding-bar}
overline-size = 6
underline-size = 6
# Module whitespace
module-margin = 2
# Module fonts
font-0 = ${res/fonts.font-0}
font-1 = ${res/fonts.font-1}
font-2 = ${res/fonts.font-2}
font-3 = ${res/fonts.font-3}
font-4 = ${res/fonts.font-4}
# BARS
#====================
[bar/primary]
monitor = ${env:PB_MONITOR:eDP-1}
inherit = template/bar
tray-position = center
modules-left = i3 bspwm service-ansible service-backup reboot-required
modules-right = backlight pulse battery | date
modules-left = ${env:PB_BAR_PRIMARY_MODULES_LEFT:battery cpu memory}
modules-center = ${env:PB_BAR_PRIMARY_MODULES_CENTER:i3 bspwm}
modules-right = ${env:PB_BAR_PRIMARY_MODULES_RIGHT:tor xbacklight volume wlan eth date}
[bar/primary-2]
monitor = ${env:PB_MONITOR:eDP-1}
inherit = template/bar
bottom = false
border-top-size = 0
border-bottom-size = ${env:PB_BAR_BORDER_SIZE:2}
modules-left = ${env:PB_BAR_PRIMARY_2_MODULES_LEFT: }
modules-center = ${env:PB_BAR_PRIMARY_2_MODULES_CENTER: }
modules-right = ${env:PB_BAR_PRIMARY_2_MODULES_RIGHT: }
[bar/secondary]
monitor= ${env:PB_MONITOR:HDMI-A-0}
monitor = ${env:PB_MONITOR}
inherit = template/bar
modules-left = i3 bspwm
modules-right = wlan-desktop-stats mpd | date
## MODULES
modules-left = ${env:PB_BAR_SECONDARY_MODULES_LEFT:uname hostname}
modules-center = ${env:PB_BAR_SECONDARY_MODULES_CENTER:i3 bspwm}
modules-right = ${env:PB_BAR_SECONDARY_MODULES_RIGHT:date}
[bar/secondary-2]
monitor = ${env:PB_MONITOR}
inherit = template/bar
bottom = false
border-top-size = 0
border-bottom-size = ${env:PB_BAR_BORDER_SIZE:2}
modules-left = ${env:PB_BAR_SECONDARY_2_MODULES_LEFT: }
modules-center = ${env:PB_BAR_SECONDARY_2_MODULES_CENTER: }
modules-right = ${env:PB_BAR_SECONDARY_2_MODULES_RIGHT: }
#========================================
# MODULES
#========================================
# BORDERS and WHITESPACE
#====================
[module/|]
type = custom/text
content = |
content-foreground = ${res/colors.border}
content = "|"
content-foreground = ${res/colors.background-alt}
[module/backlight]
type = internal/xbacklight
format = <bar>
format-prefix = "BRI: "
format-prefix-foreground = ${res/colors.blue}
bar-width = ${res/config.bar-width}
bar-fill = ${res/config.bar-fill}
bar-fill-foreground = ${res/colors.blue}
bar-empty = ${res/config.bar-empty}
bar-empty-foreground = ${res/colors.border}
bar-indicator = ${res/config.bar-indicator}
[module/||]
type = custom/text
content = " "
content-background = ${res/colors.border}
[module/nothing]
type = custom/text
content = " "
# NOTIFICATION
#====================
[module/dpkg]
type = custom/script
format = <label>
format-foreground = ${res/colors.notif-package}
interval = 1
exec = printf "DPKG\n"
exec-if = [ -f /var/lib/dpkg/lock ]
# OTHER
#====================
[module/battery]
type = internal/battery
full-at = 100
format-charging = <label-charging>
format-charging-prefix = "CHR: "
format-charging-prefix-foreground = ${res/colors.mod-battery}
format-discharging = <label-discharging>
format-discharging-prefix = "BAT: "
format-discharging-prefix-foreground = ${res/colors.mod-battery}
format-full = <label-full>
format-full-prefix = "BAT: "
format-full-prefix-foreground = ${res/colors.mod-battery}
time-format = %H:%M
full-at = 100
interval = 15
format-charging = <ramp-capacity>
format-charging-foreground = ${res/colors.green}
format-discharging = <ramp-capacity>
format-full = <ramp-capacity>
format-full-foreground = ${res/colors.green}
ramp-capacity-0 = 
ramp-capacity-0-foreground = ${res/colors.yellow}
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
label-charging = %percentage:3%%
label-discharging = %percentage:3%%
label-full = %percentage:3%%
[module/bspwm]
type = internal/bspwm
format = <label-state> <label-mode>
format-padding = 0
format = <label-state>
enable-scroll = false
pin-workspaces = true
label-mode-padding = 4
label-mode-background = ${res/colors.red}
label-focused = %name%
label-focused-padding = 4
label-focused-font = 3
label-focused-foreground = ${res/colors.bg}
label-focused-background = ${res/colors.selection}
label-occupied = %name%
label-occupied-padding = 4
label-occupied-font = 3
label-urgent = %name%
label-urgent-padding = 4
label-urgent-font = 3
label-urgent-foreground = ${res/colors.bg}
label-urgent-background = ${res/colors.yellow}
label-empty = %name%
label-empty-foreground = ${res/colors.border}
label-empty-padding = 4
label-focused-padding = ${res/config.padding}
label-focused-foreground = ${res/colors.mod-wm}
label-focused-font = 2
label-dimmed-overline = ${res/colors.background}
label-dimmed-underline = ${self.label-dimmed-overline}
label-occupied = ${self.label-focused}
label-occupied-padding = ${res/config.padding}
label-occupied-font = 2
label-urgent = ${self.label-focused}
label-urgent-padding = ${res/config.padding}
label-urgent-foreground = ${res/colors.alert}
label-urgent-font = 2
label-empty = ${self.label-focused}
label-empty-padding = ${res/config.padding}
label-empty-foreground = ${res/colors.foreground-dark}
label-empty-font = 3
[module/cpu]
type = internal/cpu
interval = 1
format = <bar-load>
format = <label>
format-prefix = "CPU: "
format-prefix-foreground = ${res/colors.blue}
bar-load-width = ${res/config.bar-width}
bar-load-fill = ${res/config.bar-fill}
bar-load-fill-foreground = ${res/colors.blue}
bar-load-empty = ${res/config.bar-empty}
bar-load-empty-foreground = ${res/colors.border}
bar-load-indicator = ${res/config.bar-indicator}
format-prefix-foreground = ${res/colors.mod-cpu}
interval = 1
label = %percentage:3%%
[module/date]
type = internal/date
date = %a %b %d
time = %I:%M %p
interval = 5
format = <label>
format-prefix =
format-prefix-foreground = ${res/colors.mod-date}
date = %a
time = %I:%M %p
interval = 30
label = %date% %time%
[module/fshome]
type = internal/fs
mount-0 = /home
format-mounted = <bar-used> <label-mounted>
format-mounted-prefix = "Home: "
format-mounted-prefix-foreground = ${res/colors.yellow}
format-unmounted =
label-mounted = %free% free
bar-used-width = ${res/config.bar-width}
bar-used-fill = ${res/config.bar-fill}
bar-used-fill-foreground = ${res/colors.yellow}
bar-used-empty = ${res/config.bar-empty}
bar-used-empty-foreground = ${res/colors.border}
bar-used-indicator = ${res/config.bar-indicator}
[module/eth]
type = internal/network
format-connected = <label-connected>
format-connected-prefix = "ETH: "
format-connected-prefix-foreground = ${res/colors.mod-network}
format-disconnected = ETH
format-disconnected-foreground = ${res/colors.foreground-dark}
interface = ${env:PB_MODULE_ETH_INTERFACE:enp0s31f6}
[module/fsroot]
label-connected = %local_ip%
label-disconnected = None
label-disconnected-foreground = ${res/colors.foreground-dark}
[module/fs-home]
type = internal/fs
mount-0 = /
format-mounted = <bar-used> <label-mounted>
format-mounted-prefix = "Root: "
format-mounted-prefix-foreground = ${res/colors.yellow}
label-mounted = %free% free
bar-used-width = ${res/config.bar-width}
bar-used-fill = ${res/config.bar-fill}
bar-used-fill-foreground = ${res/colors.yellow}
bar-used-empty = ${res/config.bar-empty}
bar-used-empty-foreground = ${res/colors.border}
bar-used-indicator = ${res/config.bar-indicator}
format-mounted-prefix = "HOME: "
format-mounted-prefix-foreground = ${res/colors.mod-fs}
mount-0 = /home
label-mounted = %free:5% free
[module/hostname]
type = custom/script
format-foreground = ${res/colors.foreground-dark}
interval = 3600
exec = hostname
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
format-padding = 0
enable-scroll = false
pin-workspaces = true
label-mode-padding = 4
label-mode-background = ${res/colors.red}
label-focused = %name%
label-focused-padding = 4
label-focused-foreground = ${res/colors.bg}
label-focused-background = ${res/colors.selection}
label-unfocused = %name%
label-unfocused-background = ${res/colors.bg}
label-unfocused-padding = 4
label-visible = %name%
label-visible-background = ${res/colors.border}
label-visible-padding = 4
label-focused-padding = ${res/config.padding}
label-focused-foreground = ${res/colors.mod-wm}
label-focused-font = 2
label-unfocused = ${self.label-focused}
label-unfocused-padding = ${res/config.padding}
label-unfocused-font = 2
label-visible = ${self.label-focused}
label-visible-foreground = ${res/colors.foreground-dark}
label-visible-padding = ${res/config.padding}
label-visible-font = 2
label-urgent = ${self.label-focused}
label-urgent-padding = ${res/config.padding}
label-urgent-foreground = ${res/colors.alert}
label-urgent-font = 2
label-mode = %mode%
[module/memory]
type = internal/memory
format = <bar-used> <label>
format-prefix = "Memory: "
format-prefix-foreground = ${res/colors.magenta}
label = %gb_free:8%
bar-used-width = ${res/config.bar-width}
bar-used-fill = ${res/config.bar-fill}
bar-used-fill-foreground = ${res/colors.magenta}
bar-used-empty = ${res/config.bar-empty}
bar-used-empty-foreground = ${res/colors.border}
bar-used-indicator = ${res/config.bar-indicator}
format = <label>
format-prefix = "MEM: "
format-prefix-foreground = ${res/colors.mod-memory}
interval = 1
[module/mpd]
type=internal/mpd
format-online=<label-song> <label-time>
label-song=%artist% - %title%
label-time=%elapsed% / %total%
label = %percentage_used:3%%
[module/pulse]
type = internal/pulseaudio
[module/monitor]
type = custom/text
content = ${env:PB_MONITOR:eDP-1}
content-foreground = ${res/colors.background-alt}
[module/swap]
type = internal/memory
format = <label>
format-prefix = "SWP: "
format-prefix-foreground = ${res/colors.mod-memory}
interval = 1
label = %percentage_swap_used:3%%
[module/tor]
type = custom/script
format-prefix = "TOR: "
format-prefix-foreground = ${res/colors.mod-tor}
interval = 10
exec = if systemctl is-failed --quiet tor; then echo FAIL; elif ! systemctl is-enabled --quiet tor; then echo DISB; else echo INAC; fi
exec-if = ! systemctl is-active tor
[module/uname]
type = custom/script
format-foreground = ${res/colors.foreground-dark}
interval = 3600
exec = uname -sr
[module/volume]
type = internal/volume
format-volume = <label-volume>
format-volume-prefix = " "
format-volume-prefix = "VOL: "
format-volume-prefix-foreground = ${res/colors.mod-volume}
format-muted = <label-muted>
format-muted-prefix = " "
format-muted-foreground = ${res/colors.border}
format-muted-prefix = "VOL: "
format-muted-prefix-foreground = ${res/colors.foreground-dark}
[module/reboot-required]
type = custom/script
exec = "echo Reboot required"
exec-if = "[ -f /var/run/reboot-required ]"
format-foreground = ${res/colors.yellow}
label-volume = %percentage:3%%
label-muted = %percentage:3%%
label-muted-foreground = ${res/colors.foreground-dark}
[module/service-ansible]
type = custom/script
interval = 5
exec = "echo "
exec-if = "systemctl is-failed --quiet ansible-pull.service"
format-foreground = ${res/colors.red}
[module/service-backup]
type = custom/script
interval = 5
exec = "echo "
exec-if = "systemctl is-failed --quiet backup.service"
format-foreground = ${res/colors.red}
[module/wlan-laptop]
[module/wlan]
type = internal/network
interface = wlp0s20f3
format-connected = <label-connected>
format-connected-prefix = "WLAN: "
format-connected-prefix-foreground = ${res/colors.green}
format-disconnected-prefix = "WLAN: "
format-disconnected-prefix-foreground = ${res/colors.green}
label-connected = %essid%
label-disconnected = Disconnected
format-connected-prefix-foreground = ${res/colors.mod-network}
format-disconnected = WLAN
format-disconnected-foreground = ${res/colors.foreground-dark}
interface = ${env:PB_MODULE_WLAN_INTERFACE:wlp1s0}
[module/wlan-desktop]
type = internal/network
interface = wlp5s0
format-connected-prefix = "WLAN: "
format-connected-prefix-foreground = ${res/colors.green}
format-disconnected-prefix = "WLAN: "
format-disconnected-prefix-foreground = ${res/colors.green}
label-connected = %essid%
label-disconnected = Disconnected
label-connected = %local_ip%
label-disconnected = None
label-disconnected-foreground = ${res/colors.foreground-dark}
[module/wlan-desktop-stats]
type = internal/network
interface = wlp5s0
label-connected = U %upspeed% D %downspeed%
[module/xbacklight]
type = internal/xbacklight
format = <label>
format-prefix = "BRI: "
format-prefix-foreground = ${res/colors.mod-xbacklight}
[module/xkeyboard]
type = internal/xkeyboard
format = <label-layout>
label-layout = %name%
label = %percentage:3%%
[module/xwindow]
type = internal/xwindow
label = %title%
label-maxlen = 100
format = <label>
label = %title:0:75:...%
# vim:ft=dosini

View File

@ -1,82 +0,0 @@
#! /bin/bash
#
# launch.sh
# A Polybar launch script with a heck of a lot of compat
# Copyright (C) 2019 Vintage Salt <rehashedsalt@cock.li>
#
# Distributed under terms of the MIT license.
#
log() {
[ -z "$1" ] && return 1
printf "$1\\n"
}
# Trap our exit
die() {
kill $(jobs -p)
}
trap die EXIT
# Steps
step_fallback() {
if ! command -v polybar > /dev/null 2>&1; then
if command -v tint2 > /dev/null 2>&1; then
log "Executing fallback"
exec tint2
fi
log "No valid bars found"
exit 51
fi
}
step_configure() {
# Restack compatibility
if pgrep -U "$UID" bspwm > /dev/null 2>&1; then
export PB_WM_RESTACK="bspwm"
elif pgrep -U "$UID" i3 > /dev/null 2>&1; then
export PB_WM_RESTACK="i3"
fi
# Light theme
if [ "$THEME" == "light" ]; then
export PB_COLOR_BG="#fbf1c7"
export PB_COLOR_FG="#3c3836"
export PB_COLOR_BORDER="#f2e5bc"
fi
}
step_spawn_primary() {
# Spawn bars on the primary monitor
log "Spawning primary bars"
export PB_MONITOR=$(xrandr -q | awk '/primary/{print $1}')
polybar -r primary &
polybar -r primary-2 &
}
step_spawn_secondary() {
# Spawn more for each secondary
log "Spawning secondary bars"
export secondary_monitors=$(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}')
if [ "$secondary_monitors" == "" ]; then
return 0
fi
for monitor in $secondary_monitors; do
PB_MONITOR=$monitor
polybar -r secondary &
polybar -r secondary-2 &
done
}
step_wait() {
# And wait
log "Waiting"
wait
}
# Main
main() {
step_fallback
step_configure
step_spawn_primary
step_spawn_secondary
step_wait
}
main "$@"

View File

@ -1,13 +0,0 @@
#
# ptgdp.conf
# Config file for Play the Goddamned Playlist
#
# The media player backend to use
# Supported: mpd, audacious
# Default: mpd
backend=mpd
# Arguments to pass to youtube-dl during downloading
# Default: --geo-bypass
ytdl_args=--geo-bypass

View File

@ -1,28 +0,0 @@
[Appearance]
color_scheme_path=/usr/share/qt5ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus-Dark-Gruvbox
standard_dialogs=kde
style=Breeze
[Fonts]
fixed=@Variant(\0\0\0@\0\0\0\x16\0I\0n\0\x63\0o\0n\0s\0o\0l\0\x61\0t\0\x61@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x39\x10)
general=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0S\0\x61\0n\0s@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x39\x10)
[Interface]
activate_item_on_single_click=2
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\xc3\0\0\0\x6\0\0\ay\0\0\x4\x5\0\0\x3\xc7\0\0\0\n\0\0\au\0\0\x4\x1\0\0\0\0\0\0\0\0\a\x80\0\0\x3\xc7\0\0\0\n\0\0\au\0\0\x4\x1)

View File

@ -2,7 +2,6 @@
temp-day=5300
temp-night=3500
gamma=1
fade=0
location-provider=manual
[manual]

View File

@ -1,93 +1,101 @@
/*
* config.rasi
* Copyright (C) 2020 Vintage Salt <rehashedsalt@cock.li>
*
* Distributed under terms of the MIT License
/* rehashedsalt's Gruvbox rofi theme
* Distributed under the terms of the MIT License
* github.com/rehashedsalt
*
* See rofi-theme(5) for documentation
*
*/
configuration {
matching: "normal";
matching: "fuzzy";
show-icons: true;
icon-theme: "Papirus-Gruvbox-Dark";
drun-icon-theme: "Papirus-Color";
modi: "drun,ssh,window";
sidebar-mode: false;
yoffset: -4;
xoffset: 0;
width: 32;
}
* {
background: #282828;
background-alt: #32302f;
background-alt: #3c3836;
foreground: #ebdbb2;
foreground-alt: #fb4934;
yellow: #fabd2f;
foreground-alt: #a89984;
blue-dark: #458588;
blue: #83a598;
cyan: #8ec07c;
yellow: #fabd2f;
text-color: @foreground;
background-color: @background;
font: "IBM Plex Sans 10";
font: "Roboto 10";
}
#window {
location: southwest;
anchor: southwest;
location: north;
anchor: north;
border-color: @background-alt;
border-color: @background;
background-color: @background;
border: 4px 4px 0 0;
height: 60%;
width: 30%;
border: 4px;
height: 40%;
width: 520px;
}
#inputbar {
background-color: @background-alt;
padding: 1em;
padding: 9px;
border: 0px 0px 1px 0px;
border-color: @background-alt;
}
#case-indicator {
enabled: false;
background-color: @background-alt;
text-color: @foreground-alt;
}
#prompt {
enabled: false;
background-color: @background-alt;
font: "IBM Plex Sans Medium 12";
padding: 0.5em;
}
#entry {
background-color: @background-alt;
font: "IBM Plex Sans 12";
padding: 0.5em;
font: "Roboto Bold 10";
padding: 0px 8px 0px 0px;
text-color: @foreground;
}
#message {
padding: 4px;
}
#textbox {
padding: 4px 12px 4px 12px;
font-color: @foreground-alt;
}
#listview {
padding: 1em;
padding: 4px;
spacing: 0px;
}
#element {
orientation: vertical;
padding: 1em;
padding: 4px;
}
#element normal active {
text-color: @cyan;
text-color: @blue-dark;
}
#element normal urgent {
text-color: @yellow;
}
#element selected normal {
background-color: @blue;
text-color: @background;
}
#element selected active {
background-color: @cyan;
background-color: @blue-dark;
text-color: @background;
}
#element selected urgent {
background-color: @yellow;
text-color: @background;
@ -105,4 +113,4 @@ configuration {
}
/* vim:ft=css
*/
*/

View File

@ -1,58 +0,0 @@
# Open Terminal
cmd - return : ~/.config/yabai/open-iterm2.sh
# Navigation
cmd - h : yabai -m window --focus west
cmd - j : yabai -m window --focus south
cmd - k : yabai -m window --focus north
cmd - l : yabai -m window --focus east
# Focus workspace
cmd - 1 : yabai -m space --focus 1
cmd - 2 : yabai -m space --focus 2
cmd - 3 : yabai -m space --focus 3
cmd - 4 : yabai -m space --focus 4
cmd - 5 : yabai -m space --focus 5
cmd - 6 : yabai -m space --focus 6
cmd - 7 : yabai -m space --focus 7
cmd - 8 : yabai -m space --focus 8
# Moving windows
cmd + shift - h : yabai -m window --warp west
cmd + shift - j : yabai -m window --warp south
cmd + shift - k : yabai -m window --warp north
cmd + shift - l : yabai -m window --warp east
# Resize windows
lctrl + cmd - h : \
yabai -m window --resize left:-20:0 ; \
yabai -m window --resize right:-20:0
lctrl + cmd - j : \
yabai -m window --resize bottom:0:20 ; \
yabai -m window --resize top:0:20
lctrl + cmd - k : \
yabai -m window --resize bottom:0:-20 ; \
yabai -m window --resize top:0:-20 ;
lctrl + cmd - l : \
yabai -m window --resize left:20:0 ; \
yabai -m window --resize right:20:0
# Move focus container to workspace
cmd + shift - 1 : yabai -m window --space 1
cmd + shift - 2 : yabai -m window --space 2
cmd + shift - 3 : yabai -m window --space 3
cmd + shift - 4 : yabai -m window --space 4
cmd + shift - 5 : yabai -m window --space 5
cmd + shift - 6 : yabai -m window --space 6
cmd + shift - 7 : yabai -m window --space 7
cmd + shift - 8 : yabai -m window --space 8
# Float window
lctrl - f : yabai -m window --toggle float
# Fullscreen window
alt + shift - f : yabai -m window --toggle zoom-fullscreen
cmd + shift - f : yabai -m window --toggle native-fullscreen
# Balance space in workspace
cmd + shift - 0 : yabai -m space --balance
# Restart yabai
cmd + shift - r : \
skhd -r ; \
~/.config/yabai/yabairc

13
.config/startupconfig Normal file
View File

@ -0,0 +1,13 @@
#! /bin/sh
# kcminputrc Mouse cursorTheme 'breeze_cursors'
kcminputrc_mouse_cursortheme=breeze_cursors
# kcminputrc Mouse cursorSize ''
kcminputrc_mouse_cursorsize=0
# ksplashrc KSplash Theme Breeze
ksplashrc_ksplash_theme=None
# ksplashrc KSplash Engine KSplashQML
ksplashrc_ksplash_engine=none
# kdeglobals KScreen ScreenScaleFactors ''
kdeglobals_kscreen_screenscalefactors=''
# kcmfonts General forceFontDPI 0
kcmfonts_general_forcefontdpi=0

145
.config/sxhkd/sxhkdrc Normal file → Executable file
View File

@ -1,74 +1,151 @@
# vim:ft=bash
#!/bin/bash
## GENERAL HOTKEYS
####################
# GENERAL HOTKEYS
####################
# Execute terminal
alt + Return
$TERMINAL
# Program launcher
alt + space
rofi -show drun
# Local VM program launcher
alt + d
ssh 192.168.200.2 -X rofi -show drun
# SSH browser
alt + backslash
rofi -show ssh
# Program switcher
alt + Tab
rofi -show window
# Reload SXHKD
alt + Escape
pkill -USR1 -x sxhkd
# Lock screen
ctrl + alt + l
loginctl lock-session
i3lock-custom
## APPLICATION TOGGLES
# pavucontrol-qt Controls
alt + p
killall pavucontrol-qt || pavucontrol-qt
alt + shift + m
killall picom || ~/.firestarter/firestarter start compositor
pavucontrol-qt
alt + shift + p
killall pavucontrol-qt
## HARDWARE CONTROLS
# Pulse controls
XF86Audio{Raise,Lower}Volume
pactl set-sink-volume 0 {+,-}5%
XF86AudioMute
pactl set-sink-mute 0 toggle
# Brightness controls
XF86MonBrightness{Up,Down}
xbacklight {-inc,-dec} 5
## BSPWM
# Reload configs
####################
# BSPWM HOTKEYS
####################
# Reload configuration
alt + shift + r
~/.config/bspwm/bspwmrc
# Close or kill node
echo "reload" > $CNC_HOME/.pipe-daemon
# close and kill
alt + {_,shift + }q
bspc node -{c,k}
# Focus or move the node in the given direction
alt + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# Focus or send to the given desktop
alt + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '{1-9,10}'
# Toggle monocle mode
# alternate between the tiled and monocle layout
alt + m
bspc desktop -l next
# Switch current node with biggest on current desktop
# if the current node is automatic, send it to the last manual, otherwise pull the last leaf
alt + y
bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused
# swap the current node and the biggest node
alt + g
bspc node -s biggest.local --follow
# Focus the node for the given path jump
alt + {a,c}
bspc node -f {@parent,biggest.descendant_of}
# Rotate, equalize, or balance selection
alt + {r,e,u}
bspc node -{R 90,E,B @/}
# Set window states
bspc node -s biggest
#
# state/flags
#
# set the window state
alt + {t,shift + t,f,shift + f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# Set node flags
# set the node flags
alt + ctrl + {x,y,z}
bspc node -g {locked,sticky,private}
# Focus the next/previous node in the current desktop
#
# focus/swap
#
# focus the node in the given direction
alt + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
alt + {a,b}
bspc node -f @{parent,brother}
# focus the next/previous node in the current desktop
alt + {_,shift + }c
bspc node -f {next,prev}.local
# Focus the next/previous desktop in the current monitor
# focus the next/previous desktop in the current monitor
alt + {comma,period}
bspc desktop -f {prev,next}.local
# Expand a window by moving one of its side outward
# focus the last node/desktop
alt + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
alt + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
alt + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '{1-9,10}'
#
# preselect
#
# preselect the direction
super + {h,j,k,l}
bspc node -p {west,south,north,east}
# preselect the ratio
super + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + space
bspc node -p cancel
# cancel the preselection for the focused desktop
ctrl + alt + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
# expand a window by moving one of its side outward
super + alt + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# Contract a window by moving one of its side inward
# contract a window by moving one of its side inward
super + alt + shift + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}

View File

@ -1,24 +0,0 @@
{
"animate_icon": true,
"autokill_daemon": 0,
"autostart_daemon": 1,
"daemon_priority": 0,
"file_browser": "explore",
"folder_as_path": true,
"force_dark_theme": false,
"icon_theme": "syncthing",
"icons_in_menu": true,
"infobox_style": "font_weight=\"bold\" font_size=\"large\"",
"language": "None",
"last_updatecheck": "1969-12-31T18:00:01",
"max_cpus": 0,
"minimize_on_start": true,
"notification_for_error": true,
"notification_for_folder": true,
"notification_for_update": false,
"st_autoupdate": false,
"syncthing_arguments": "--no-browser",
"syncthing_binary": "/usr/bin/syncthing",
"use_old_header": true,
"window_position": null
}

View File

@ -1,9 +0,0 @@
# vim:ft=systemd:
[Unit]
Description=Dotfile fetch service
[Service]
ExecStart=git --git-dir=%h/.dotfiles/ --work-tree=%h fetch
[Install]
WantedBy=default.target

View File

@ -1,11 +0,0 @@
# vim:ft=systemd:
[Unit]
Description=Dot fetch timer
[Timer]
Persistent=true
OnBootSec=15min
OnCalendar=*-*-* 22:00:00
[Install]
WantedBy=default.target

View File

@ -1,9 +0,0 @@
# vim:ft=systemd:
[Unit]
Description=Project fetch service
[Service]
ExecStart=find %h/Projects -type d -iname .git -execdir git fetch \;
[Install]
WantedBy=default.target

View File

@ -1,11 +0,0 @@
# vim:ft=systemd:
[Unit]
Description=Project fetch timer
[Timer]
Persistent=true
OnBootSec=15min
OnCalendar=*-*-* 23:00:00
[Install]
WantedBy=default.target

View File

@ -1,15 +0,0 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

Some files were not shown because too many files have changed in this diff Show More