Many changes

Jonathan Hodgson 5 years ago
parent 0526302f3e
commit 90fc6ab4fb
  1. 2
      NOSTOW/dwm
  2. 2
      NOSTOW/st
  3. 7
      bin/.bin/compiler
  4. 19
      bin/.bin/dmenu/get-bookmark
  5. 12
      bin/.bin/dmenu/man-page-pdf
  6. 10
      bin/.bin/dmenu/offline-aw
  7. 10
      bin/.bin/dmenu/open-file
  8. 5
      bin/.bin/dmenu/ports
  9. 7
      bin/.bin/dmenu/screenlayout
  10. 27
      bin/.bin/download
  11. 8
      bin/.bin/nmap/nmap-get
  12. 10
      bin/.bin/offline-aw
  13. 187
      bin/.bin/project
  14. 2
      bin/.bin/screenlayouts/docked.sh
  15. 2
      bin/.bin/screenlayouts/laptop-only.sh
  16. 2
      bin/.bin/screenlayouts/mirrored.sh
  17. 16
      bin/.bin/screenshot
  18. 2
      bin/.bin/setbackground
  19. 4
      install.sh
  20. 2
      mutt/muttrc
  21. 16
      qutebrowser/.config/qutebrowser/config.py
  22. 10
      qutebrowser/.local/share/qutebrowser/userscripts/iconProject
  23. 3
      qutebrowser/.local/share/qutebrowser/userstylesheets/default-old.css
  24. 1
      qutebrowser/.local/share/qutebrowser/userstylesheets/default.css
  25. 327
      qutebrowser/.local/share/qutebrowser/userstylesheets/default.less
  26. 0
      qutebrowser/.local/share/qutebrowser/userstylesheets/github.css
  27. 3
      qutebrowser/.local/share/qutebrowser/userstylesheets/github.less
  28. 139
      qutebrowser/.local/share/qutebrowser/userstylesheets/gruvbox-colours.less
  29. 225
      qutebrowser/.local/share/qutebrowser/userstylesheets/stylish.css
  30. 282
      qutebrowser/.local/share/qutebrowser/userstylesheets/stylish.less
  31. 14
      shells/shared/aliases
  32. 2
      shells/shared/profile
  33. 14
      shells/zsh/STOW/.zshrc
  34. 3
      shells/zsh/oh-my-zsh-custom/completion.zsh
  35. 46
      shells/zsh/oh-my-zsh-custom/promptconfig.zsh
  36. 2
      shells/zsh/oh-my-zsh-custom/shortcuts.zsh
  37. 2
      vim/.vim
  38. 3
      x/.xinitrc
  39. 6
      x/49-org.libvirt.unix.manager.rules

@ -1 +1 @@
Subproject commit 9a24bc1ededd18e92979250fb81e7b5463f12388
Subproject commit d474bfcbc631f79aa2f2b070e1fac4557762caad

@ -1 +1 @@
Subproject commit 2f2c7792a88bcf014f62ce8639d458b6e7c7e026
Subproject commit 249665b044bf379afdca63c232e5abad9d2656cb

@ -12,6 +12,7 @@
# config.h files: (For suckless utils) recompiles and installs program.
# all others: run `sent` to show a presentation
echo "$1"
file=$(readlink -f "$1")
dir=$(dirname "$file")
base="${file%.*}"
@ -35,7 +36,7 @@ mdtype(){ \
case "$command" in
"fplreport") pandoc "$file" --metadata-file="$HOME/.pandoc/defaults.yaml" --template fellowship.latex --pdf-engine=xelatex -o "${base}.pdf" ;;
"letter") pandoc "$file" --metadata-file="$HOME/.pandoc/defaults.yaml" --template template-letter.tex -o "${base}.pdf" ;;
*) pandoc "$file" --metadata-file="$HOME/.pandoc/defaults.yaml" -o "$base".pdf ;;
*) pandoc "$file" -f markdown+pipe_tables --metadata-file="$HOME/.pandoc/defaults.yaml" -o "$base".pdf ;;
esac
}
@ -46,6 +47,7 @@ shebangtest() {
esac
}
case "$file" in
*\.ms) refer -PS -e "$file" | groff -me -ms -kejpt -T pdf > "$base".pdf ;;
*\.mom) refer -PS -e "$file" | groff -mom -kejpt -T pdf > "$base".pdf ;;
@ -58,7 +60,8 @@ case "$file" in
*\.c) cc "$file" -o "$base" && "$base" ;;
*\.py) python "$file" ;;
*\.js) cat "$file" | minify --js > "${base}.min.js" ;;
*\.less) lessc --clean-css --source-map --autoprefix="last 3 versions, ie >= 11" "$file" "${base}.min.css" ;;
#*\.less) lessc --clean-css --source-map --autoprefix="last 3 versions, ie >= 11" "$file" "${base}.min.css" ;;
*\.less) lessc "$file" "${base}.css" ;;
#*\.go) go run "$file" ;;
#*) shebangtest ;;
esac

@ -0,0 +1,19 @@
#!/usr/bin/env bash
BOOKMARKS="$HOME/.surf/bookmarks/"
function formatFile(){
keywords="$(grep -E '^keywords:' "$1" | sed 's/^keywords://')"
echo "$1 : $keywords" | sed 's/ / /g'
}
export -f formatFile
if [ -d "$BOOKMARKS" ]; then
cd "$BOOKMARKS"
selection=$(find . -type f -exec bash -c 'formatFile "{}"' \; | dmenu -l 20 | sed 's/ : .*//')
if [ -f "$selection" ]; then
head -n 1 "$selection"
fi
else
echo "$BOOKMARKS doesn't exist"
fi

@ -0,0 +1,12 @@
#!/usr/bin/env bash
man -k . |\
awk '{ print $1 " " $2 }' |\
rofi -dmenu -p man -i -matching regex |\
awk '{ print $2 " " $1 }' |\
tr -d '()' |\
xargs man -t |\
ps2pdf - - |\
zathura -

@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Offline version of aw in markdown
AW_FOLDER="$HOME/GitRepos/arch-wiki-md-repo/wiki/_content/english/"
cd "$AW_FOLDER"
selection=$(find . -name \*.md | rofi -dmenu -i -p "Page")
compiler "$selection"
opout "$selection"

@ -0,0 +1,10 @@
#!/bin/sh
while name=$(xsel -o | dmenu -p 'Find File') || exit
do
[[ $name ]] || exit
list=$(sudo locate -A -e -i $name)
[[ $list ]] || continue
file=$(echo -e "$list" | dmenu -l 12 -p 'Open') || exit
echo -n "$file" | xsel -b -i
xdg-open "$file"
done

@ -0,0 +1,5 @@
#!/usr/bin/env bash
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
cat "$SCRIPTPATH/ports-common.csv" "$SCRIPTPATH/ports-uncommon.csv" | tr ',' '\t' | rofi -dmenu -i

@ -0,0 +1,7 @@
#!/usr/bin/env bash
FOLDER="$HOME/.dotfiles/bin/.bin/screenlayouts/"
script=$(ls "$FOLDER" | sed 's/\.sh$//' | rofi -dmenu -p "Layout" )
"${FOLDER}${script}.sh"

@ -0,0 +1,27 @@
#!/usr/bin/env bash
if [[ "$1" = "surf-download" ]]; then
echo "Doing surf"
shift
# I am shifting so that the vaiable numbers here are the same as in surf
useragent="$1"
cookiefile="$2"
referer="$3"
url="$4"
fi
path="~/Downloads/"
project=$(project current --path)
if [ -n "$project" ]; then
path="$project/Downloads/"
fi
mkcd -p "$path"
cd "$path"
echo "$useragent"
echo "$cookiefile"
echo "$referer"
echo "$url"
curl -g -L -J -O -A "$useragent" -b "$cookiefile" -c "$cookiefile" -e "$referer" "$url"

@ -0,0 +1,8 @@
#!/usr/bin/env bash
cat | grep -v 'host down' |\
grep -v Increa |\
grep -v Ignoring |\
grep -v '^#' |\
awk -v RS="\n\n" -v ORS="\n\n" '{if ($0 ~ "'"$1"'" ) print $0}'

@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Offline version of aw in markdown
AW_FOLDER="$HOME/GitRepos/arch-wiki-md-repo/wiki/_content/english/"
cd "$AW_FOLDER"
selection=$(find . -name \*.md | rofi -dmenu -i -p "Page")
compiler "$selection"
opout "$selection"

@ -0,0 +1,187 @@
#!/usr/bin/env bash
# This script sets things based on my current project and will set the symlink ~/Projects/current to the correct folder
PROJECTS_PATH="$HOME/Projects"
SYMLINC="$PROJECTS_PATH/current"
function print_help(){
echo "Manages projects"
echo ""
echo -e "Usage: $0 <command> [<args>]"
echo ""
echo -e "Commands"
echo -e "list\t\t\tLists The available projects"
echo -e "switch\t\t\tSwitches the current project"
echo -e "\t--auto\t\tAutomatically deduce the project based on current working directory"
echo -e "\t--fzf\t\tUses fzf to choose a project"
echo -e "\t--dmenu\t\tUses dmenu to choose a project"
echo -e "\t--rofi\t\tUses rofi to choose a project"
echo -e "\t--unset\t\tUnsets the project"
echo -e "\t<project>\tSets the project"
echo -e "current\t\t\tPrints the current project"
echo -e "\t--notify\t\tUses notify send to print current project"
echo -e "\t--path\t\tPrints the full path rather than the name"
exit 0
}
function list_projects(){
if [[ "$1" == "--options" ]]; then
if [ -L "$SYMLINC" ]; then
echo "--unset"
fi
echo "--new"
fi
find "$PROJECTS_PATH/" -maxdepth 1 -mindepth 1 -type d | xargs -L 1 basename
}
function switch(){
local switchto="$1"
if [[ "$1" == "--auto" ]]; then
if echo "$PWD" | grep -q "$PROJECTS_PATH"; then
switchto=$( echo "$PWD" | sed "s#$PROJECTS_PATH/##")
switchto="${switchto%/*}"
if [[ "$PWD" == "$PROJECTS_PATH" ]]; then
switchto="--unset"
fi
else
switchto="--unset"
fi
elif [[ "$1" == "--fzf" ]]; then
switchto=$(list_projects --options | fzf)
elif [[ "$1" == "--dmenu" ]]; then
switchto=$(list_projects --options | dmenu -i )
elif [[ "$1" == "--rofi" ]]; then
switchto=$(list_projects --options | rofi -dmenu -i )
elif [[ "$1" == "--unset" ]]; then
if [ -L "$SYMLINC" ]; then
rm "$SYMLINC" 2> /dev/null
# See note about SIGWINCH below
pkill -u $USER -SIGWINCH zsh
fi
exit 0
fi
# If $switchto is --unset, it has just been selected from one of the menus
# Re-run switch with the --unset flag
if [[ "$switchto" == "--unset" ]]; then
switch --unset
exit 0
fi
if [[ "$switchto" == "--new" ]]; then
new_project "$1"
exit 0
fi
switchto="$PROJECTS_PATH/$switchto"
# This sends the SIGWINCH signal to all zsh processes
# This tells zsh that the window has been resized.
# Althouph we are not resizing the window, it causes zsh to re-draw the prompt
pkill -u $USER -SIGWINCH zsh
if [ -d "$switchto" ]; then
if [ -L "$SYMLINC" ]; then
rm "$SYMLINC" 2> /dev/null
fi
ln -s "$switchto" "$SYMLINC"
else
echo "No such directory $switchto"
exit 1
fi
}
function get_current(){
if [ -L "$SYMLINC" ]; then
local current=$(readlink "$SYMLINC")
if [[ "$1" != "--path" ]]; then
if [ -f "$current"/index.yaml ]; then
current=$(cat "$current/index.yaml" | yq -r '.name')
else
current=$(echo "$current" | xargs -L 1 basename)
fi
fi
if [[ "$1" == "--notify" ]]; then
notify-send "Current Project" "$current"
else
echo "$current"
fi
else
if [[ "$1" == "--notify" ]]; then
notify-send "Current Project" "not set"
else
echo ""
fi
fi
}
function new_project(){
local name="$1"
local default_dirs=( bin screenshots Downloads )
if [ ! -n "$name" ]; then
echo -n "Project name: "
read name < /dev/tty
elif [[ "$name" == "--rofi" ]]; then
name=$(rofi -dmenu -l 0 -p "Project name" )
elif [[ "$name" == "--dmenu" ]]; then
name=$(echo "" | dmenu -l 0 -p "Project name: " )
fi
# If name still empty, exit
if [ ! -n "$name" ]; then
exit 1
fi
mkdir "$PROJECTS_PATH/$name"
# Make all the directories
for dir in "${default_dirs[@]}"; do
mkdir "$PROJECTS_PATH/$name/$dir"
done
switch "$name"
}
function copyto(){
local current="$(get_current --path)"
if [ -n "$current" ]; then
local destination="$current/"
if [[ "$1" == "--bin" ]]; then
destination="$current/bin/"
shift
fi
mkdir -p "$destination"
cp -r "$@" "$destination"
fi
}
if [ -n "$1" ] ; then
case "$1" in
-h|--help)
print_help
exit 0
;;
list)
list_projects
exit 0
;;
switch)
switch "$2"
exit 0
;;
current)
get_current "$2"
exit 0
;;
new)
new_project "$2"
exit 0
;;
copy)
shift
copyto "$@"
exit 0
;;
*)
echo "Unknown command $1"
print_help
exit 1
;;
esac
fi

@ -0,0 +1,2 @@
#!/bin/sh
xrandr --output eDP-1 --primary --mode 1920x1080 --pos 1920x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --mode 1920x1080 --pos 0x0 --rotate normal

@ -0,0 +1,2 @@
#!/bin/sh
xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --off

@ -0,0 +1,2 @@
#!/bin/sh
xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --mode 1920x1080 --pos 0x0 --rotate normal

@ -4,15 +4,25 @@
#
# When run, the screenshot will be added to she clipboard
path='/tmp'
#If a project is set we will put screenshots in the project's folder
project=$(project current --path)
if [ -n "$project" ]; then
path="$project/screenshots"
#Make the directory if it doesn't exist
mkdir "$path" 2> /dev/null
fi
case $1 in
"window")
file=$(scrot -u '/tmp/%F_%T_$wx$h.png' -e 'echo -n /tmp/%F_%T_$wx$h.png')
file=$(scrot -u "$path/%F_%T_\$wx\$h.png" -e "echo -n $path/%F_%T_\$wx\$h.png")
;;
"select")
file=$(sleep 0.2; scrot -s '/tmp/%F_%T_$wx$h.png' -e 'echo -n /tmp/%F_%T_$wx$h.png')
file=$(sleep 0.2; scrot -s "$path/%F_%T_\$wx\$h.png" -e "echo -n $path/%F_%T_\$wx\$h.png")
;;
*)
file=$(scrot '/tmp/%F_%T_$wx$h.png' -e 'echo -n /tmp/%F_%T_$wx$h.png')
file=$(scrot "$path/%F_%T_\$wx\$h.png" -e "echo -n $path/%F_%T_\$wx\$h.png")
;;
esac

@ -1,6 +1,6 @@
#!/usr/bin/bash
rngback -fg "#404552" -bg "#5294e2" 3840 2160 30 15 -o ~/background.gif
rngback -fg "#3c3836" -bg "#282828" 3840 2160 30 15 -o ~/background.gif
feh --bg-fill ~/background.gif

@ -112,6 +112,6 @@ stInstall(){
#dwmInstall
#stInstall
pacmanInstall
#doStow
#pacmanInstall
doStow

@ -1,5 +1,5 @@
# vim: filetype=neomuttrc
source "~/.config/mutt/accounts/protonmail"
#source "~/.config/mutt/accounts/protonmail"
set header_cache = ~/.cache/mutt

@ -90,9 +90,23 @@ c.url.searchengines['ciu'] = 'https://caniuse.com/#search={}'
c.url.searchengines['mdn'] = 'https://developer.mozilla.org/en-US/search?q={}'
# GitHub
c.url.searchengines['gh'] = 'https://github.com/search?q={}'
# Youtube
c.url.searchengines['yt'] = 'https://www.youtube.com/results?search_query={}'
# Wikipedia
c.url.searchengines['wiki'] = 'https://en.wikipedia.org/wiki/{}'
c.hints.selectors["table"] = [
"table"
]
c.aliases['burp'] = 'set content.proxy http://127.0.0.1:8080/'
c.aliases['noburp'] = 'set content.proxy system'
c.aliases['mystyles'] = 'set content.user_stylesheets ~/.local/share/qutebrowser/userstylesheets/default.css'
c.aliases['nomystyles'] = 'set content.user_stylesheets ""'
stylesheetdir='~/.local/share/qutebrowser/userstylesheets/'
c.content.user_stylesheets = [stylesheetdir + 'default.css']
#with config.pattern('*://github.com/') as p:
# p.content.user_stylesheets = [stylesheetdir + 'github.css']

@ -0,0 +1,10 @@
#!/usr/bin/env bash
# This is a qutebrowser user script that is intendet to be run from an icon project page
# It will put a vector version of the image on the clipboard, ready to be pasted into something like inkscape
cat "$QUTE_HTML" | # This is the qutebrowser file repersenting the current page's html
hq '.iconPreview' attr style | # This gets the style attribute from the preview element
cut -d '"' -f 2 | cut -d ',' -f 2 | # Gets the base 64 out that we want
base64 -d | # Decodes it
xclip -selection clipboard -target image/svg+xml -i # Puts it on the clipboard

@ -0,0 +1,3 @@
body, p, li, h1, h2, h3, h4, h5, h6, .article-content, .article-content p{
font-family: "open-dyslexic";
}

@ -0,0 +1,327 @@
@import "gruvbox-colours.less";
@import "stylish.less";
body{
font-family: opendyslexic;
}
code, pre, tt, .blob-code-inner{
font-family: Iosevka;
color: @gb-dm-fg0 !important;
}
textarea{
background-color: @gb-dm-bg0;
color: @gb-dm-fg0;
font-family: opendyslexic;
font-size: 20px;
}
//.form-control, .form-select{
// border-color: @gb-dm-bg0-hard;
// background-color: @gb-dm-bg0;
// color: @gb-dm-fg0;
// border-width: 2px;
//}
//
footer, .footer, .header-wrap{
&, p, li, h1, h2, h3, h4, h5, h6{
background-color: @gb-dm-bg0-hard;
}
}
//
//#content{
// background-color: @gb-dm-bg0;
// &, p, li, h1, h2, h3, h4, h5, h6{
// color: @gb-dm-fg0;
// }
//}
/**
* Duck Duck Go
**/
.search-filters-wrap{
&::before, &::after{
content: none;
}
}
.highlight .result__a{
&, &:visited,&:visited:hover,&:hover{
color: @gb-dm-dark-purple;
}
}
//.result__a{
// .a()
//}
.result__snippet{
color: @gb-dm-fg0;
font-weight: 400;
b{
color: @gb-dm-dark-orange;
font-weight: 700;
}
}
/**
* Git Hub
**/
.markdown-body{
font-family: opendyslexic;
}
.repohead.experiment-repo-nav{
background-color: @gb-dm-bg0-hard;
}
.discussion-timeline-actions,
.gh-header{
background: none;
border: none;
}
.comment-body{
background-color: @gb-dm-bg0;
}
.timeline-comment{
background-color: @gb-dm-bg0;
border-color: @gb-dm-bg0-hard;
border-width: 2px;
}
.timeline-comment-header{
border-color: @gb-dm-bg0-hard;
&, p, li, h1, h2, h3, h4, h5, h6{
background-color: @gb-dm-bg0-hard;
}
}
.timeline-comment--caret:before{
}
.TimelineItem-break{
background: none;
border-top-color: @gb-dm-bg0-hard;
}
.link-gray-dark{
color: inherit !important;
}
.TimelineItem:before{
background-color: @gb-dm-bg0-hard;
}
.timeline-comment-wrapper{
border-color: @gb-dm-bg0-hard;
}
.comment-reactions.has-reactions{
border-color: @gb-dm-bg0-hard;
}
.previewable-comment-form{
.comment-form-head.tabnav{
background: @gb-dm-bg0-hard;
}
}
.drag-and-drop{
background: @gb-dm-bg0-hard;
}
.input-contrast{
&, &:focus{
background-color: @gb-dm-bg0;
color: @gb-dm-fg0;
}
}
.bg-gray-light{
background-color: @gb-dm-bg0-hard !important;
color: @gb-dm-fg0;
}
.full-width .archive-header, .full-width .comments-area, .full-width .image-navigation, .full-width .page-header, .full-width .page-content, .full-width .post-navigation, .full-width .site-content .entry-header, .full-width .site-content .entry-content, .full-width .site-content .entry-summary, .full-width .site-content footer.entry-meta{
background-color: @gb-dm-bg0;
}
/**
* Slack
**/
.p-workspace__top_nav{
background-color: @gb-dm-bg0-hard !important;
*{
color: @gb-dm-fg0 !important;
}
}
.p-channel_sidebar{
background-color: @gb-dm-dark-blue !important;
}
.p-classic_nav__team_header:hover{
background-color: @gb-lm-light-blue !important;
}
.p-channel_sidebar__channel:hover, .p-channel_sidebar__link:hover, .p-channel_sidebar__close_container:hover{
background-color: @gb-lm-light-blue !important;
}
.p-channel_sidebar__section_heading--selected, .p-channel_sidebar__channel--selected, .p-channel_sidebar__channel--selected:hover, .p-channel_sidebar__link--selected, .p-channel_sidebar__link--selected:hover, .p-channel_sidebar__close:focus{
background-color: @gb-lm-light-blue !important;
}
.p-classic_nav__team_header{
background-color: @gb-lm-light-blue !important;
}
.c-message_attachment,.c-message_attachment__author_name{
color: @gb-dm-fg0 !important;
}
.c-icon_button.c-texty_input__button,.p-workspace__input .p-message_input_file_button{
color: @gb-dm-fg0 !important;
}
.c-texty_input .ql-placeholder{
color: @gb-dm-fg0 !important;
}
.p-message_pane .c-message_list.c-virtual_list--scrollbar>.c-scrollbar__hider:before, .p-message_pane .c-message_list:not(.c-virtual_list--scrollbar):before{
background-color: @gb-dm-bg0-hard !important;
}
.p-workspace__input .p-message_input_field,
.p-threads_footer__input .p-message_input_field{
background-color: @gb-dm-dark-blue !important;
color: @gb-dm-fg0 !important;
}
.c-message_list__day_divider__line{
border-top: 1px solid @gb-dm-light-orange !important;
}
.c-message_list__day_divider__label__pill{
background: @gb-dm-light-orange !important;
}
.c-menu{
background-color: @gb-dm-bg0 !important;
color: @gb-dm-fg0 !important;
.c-menu_item__button, .c-menu_item__button:link, .c-menu_item__button:visited{
color: @gb-dm-fg0 !important;
}
.c-menu_item--standalone:hover, .c-menu_item--standalone:hover:link, .c-menu_item--standalone:hover:visited, .c-menu_item__button--highlighted, .c-menu_item__button--highlighted:link, .c-menu_item__button--highlighted:visited, .no_touch a.c-menu_item__button--highlighted, .no_touch a.c-menu_item__button--highlighted:link, .no_touch a.c-menu_item__button--highlighted:visited{
background-color: @gb-dm-dark-aqua !important;
}
}
.CodeMirror-code{
background-color: @gb-dm-bg0-hard !important;
font-family: Iosevka !important;
&>div:before{
color: @gb-dm-fg0 !important;
border-right: 1px solid @gb-dm-fg0 !important;
}
}
.c-button--primary{
background-color: @gb-dm-dark-aqua !important;
}
.ql-editor blockquote, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6, .ql-editor ol, .ql-editor p, .ql-editor pre, .ql-editor ul{
background-color: @gb-dm-dark-blue !important;
color: @gb-dm-fg0 !important;
}
.c-virtual_list__scroll_container{
background-color: @gb-dm-bg0 !important;
color: @gb-dm-fg0 !important;
.c-message--hover{
background-color: @gb-dm-bg0-hard !important;
}
.c-message__body{
color: @gb-dm-fg0 !important;
}
.c-message__sender, .c-message__sender a, .c-message__sender .c-message__sender_link{
color: @gb-dm-fg0 !important;
}
}
.p-workspace__secondary_view{
background-color: @gb-dm-bg0 !important;
border-left: 2px solid @gb-dm-bg0-hard !important;
.p-flexpane_header{
background-color: @gb-dm-bg0-soft !important;
}
.c-icon_button--light, .c-icon_button--light.c-button-unstyled, .c-icon_button--light:link{
color: @gb-dm-fg0 !important;
}
.p-threads_flexpane__header_channel_name, .p-threads_flexpane__header_permalink:focus, .p-threads_flexpane__header_permalink:hover{
color: @gb-dm-fg0 !important;
}
}
.c-message--focus-within:not(.c-message--highlight):not(.c-message--standalone):not(.c-message--pinned):not(.c-message--ephemeral):not(.c-message--custom_response):not(.c-message--starred):not(.c-message--sli_highlight), .c-message--hover:not(.c-message--highlight):not(.c-message--standalone):not(.c-message--pinned):not(.c-message--ephemeral):not(.c-message--custom_response):not(.c-message--starred):not(.c-message--sli_highlight), .c-message:hover:not(.c-message--highlight):not(.c-message--standalone):not(.c-message--pinned):not(.c-message--ephemeral):not(.c-message--custom_response):not(.c-message--starred):not(.c-message--sli_highlight){
background-color: @gb-dm-bg0-hard !important;
}
/**
Arch Wiki
**/
#content pre, #content code, #content tt{
background: @gb-dm-bg0-hard;
color: @gb-dm-fg0;
font-family: Iosevka;
}
div.archwiki-template-box.archwiki-template-box-tip{
background-color: @gb-dm-light-green;
border-color: @gb-dm-dark-green;
}
div.archwiki-template-box.archwiki-template-box-note{
background-color: @gb-dm-light-blue;
border-color: @gb-dm-dark-blue;
}
div.archwiki-template-message{
background-color: @gb-dm-light-aqua;
border-color: @gb-dm-dark-aqua;
}
.catlinks{
background-color: @gb-dm-light-green;
border-color: @gb-dm-dark-green;
}
#toc, .toc, .mw-warning, .toccolours{
background-color: @gb-dm-fg2;
border: 1px solid @gb-dm-fg4;
}
/**
OWA
**/
table.lvw td.sc{
background-color: @gb-dm-bg0-soft;
}
table.lvw th.chd{
background-color: @gb-dm-fg0;
}
table.tbhd{
background-color: @gb-dm-light-blue;
border-color: @gb-dm-dark-blue;
}
table.snt td.fld a{
color: @gb-dm-fg0;
}
table.snt td.sl, table.sncts td.sl{
a{
color: @gb-dm-bg0;
}
}
table.pnt td a.pn{
background-color: @gb-dm-light-blue;
border-color: @gb-dm-dark-blue;
}
table.pnt td a.s, td.rsz{
background-color: @gb-dm-dark-blue;
}
table.lvw td a{
//.a();
font-size: 1.3em;
}

@ -0,0 +1,139 @@
// Dark Background
@gb-dm-bg0: #282828;
@gb-dm-bg0-hard: #1d2021;
@gb-dm-bg0-soft: #32302f;
@gb-dm-bg1: #3c3836;
@gb-dm-bg2: #504945;
@gb-dm-bg3: #665c54;
@gb-dm-bg4: #7c6f64;
// Dark Foreground
@gb-dm-fg0: #fbf1c7;
@gb-dm-fg1: #ebdbb2;
@gb-dm-fg2: #d5c4a1;
@gb-dm-fg3: #bdae93;
@gb-dm-fg4: #a89984;
// Dark Colors
@gb-dm-dark-red: #cc241d;
@gb-dm-dark-green: #98971a;
@gb-dm-dark-yellow: #d79921;
@gb-dm-dark-blue: #458588;
@gb-dm-dark-purple: #b16286;
@gb-dm-dark-aqua: #689d6a;
@gb-dm-dark-orange: #d65d0e;
@gb-dm-dark-gray: #928374;
@gb-dm-light-red: #fb4934;
@gb-dm-light-green: #b8bb26;
@gb-dm-light-yellow: #fabd2f;
@gb-dm-light-blue: #83a598;
@gb-dm-light-purple: #d3869b;
@gb-dm-light-aqua: #8ec07c;
@gb-dm-light-orange: #f38019;
@gb-dm-light-gray: #a89984;
// Light Background
@gb-lm-bg0: #fbf1c7;
@gb-lm-bg0-hard: #f9f5d7;
@gb-lm-bg0-soft: #f2e5bc;
@gb-lm-bg1: #ebdbb2;
@gb-lm-bg2: #d5c4a1;
@gb-lm-bg3: #bdae93;
@gb-lm-bg4: #a89984;
// Light Foreground
@gb-lm-fg0: #282828;
@gb-lm-fg1: #3c3836;
@gb-lm-fg2: #504945;
@gb-lm-fg3: #665c54;
@gb-lm-fg4: #7c6f64;
// Light Colors
@gb-lm-dark-red: #cc241d;
@gb-lm-dark-green: #98971a;
@gb-lm-dark-yellow: #d79921;
@gb-lm-dark-blue: #458588;
@gb-lm-dark-purple: #b16286;
@gb-lm-dark-aqua: #689d6a;
@gb-lm-dark-orange: #d65d0e;
@gb-lm-dark-gray: #928374;
@gb-lm-light-red: #9d0006;
@gb-lm-light-green: #79740e;
@gb-lm-light-yellow: #b57614;
@gb-lm-light-blue: #076678;
@gb-lm-light-purple: #8f3f71;
@gb-lm-light-aqua: #427b58;
@gb-lm-light-orange: #af3a03;
@gb-lm-light-gray: #7c6f64;
:root{
--gb-dm-bg0: @gb-dm-bg0;
--gb-dm-bg0-hard: @gb-dm-bg0-hard;
--gb-dm-bg0-soft: @gb-dm-bg0-soft;
--gb-dm-bg1: @gb-dm-bg1;
--gb-dm-bg2: @gb-dm-bg2;
--gb-dm-bg3: @gb-dm-bg3;
--gb-dm-bg4: @gb-dm-bg4;
// Dark Foreground
--gb-dm-fg0: @gb-dm-fg0;
--gb-dm-fg1: @gb-dm-fg1;
--gb-dm-fg2: @gb-dm-fg2;
--gb-dm-fg3: @gb-dm-fg3;
--gb-dm-fg4: @gb-dm-fg4;
// Dark Colors
--gb-dm-dark-red: @gb-dm-dark-red;
--gb-dm-dark-green: @gb-dm-dark-green;
--gb-dm-dark-yellow: @gb-dm-dark-yellow;
--gb-dm-dark-blue: @gb-dm-dark-blue;
--gb-dm-dark-purple: @gb-dm-dark-purple;
--gb-dm-dark-aqua: @gb-dm-dark-aqua;
--gb-dm-dark-orange: @gb-dm-dark-orange;
--gb-dm-dark-gray: @gb-dm-dark-gray;
--gb-dm-light-red: @gb-dm-light-red;
--gb-dm-light-green: @gb-dm-light-green;
--gb-dm-light-yellow: @gb-dm-light-yellow;
--gb-dm-light-blue: @gb-dm-light-blue;
--gb-dm-light-purple: @gb-dm-light-purple;
--gb-dm-light-aqua: @gb-dm-light-aqua;
--gb-dm-light-orange: @gb-dm-light-orange;
--gb-dm-light-gray: @gb-dm-light-gray;
// Light Background
--gb-lm-bg0: @gb-lm-bg0;
--gb-lm-bg0-hard: @gb-lm-bg0-hard;
--gb-lm-bg0-soft: @gb-lm-bg0-soft;
--gb-lm-bg1: @gb-lm-bg1;
--gb-lm-bg2: @gb-lm-bg2;
--gb-lm-bg3: @gb-lm-bg3;
--gb-lm-bg4: @gb-lm-bg4;
// Light Foreground
--gb-lm-fg0: @gb-lm-fg0;
--gb-lm-fg1: @gb-lm-fg1;
--gb-lm-fg2: @gb-lm-fg2;
--gb-lm-fg3: @gb-lm-fg3;
--gb-lm-fg4: @gb-lm-fg4;
// Light Colors
--gb-lm-dark-red: @gb-lm-dark-red;
--gb-lm-dark-green: @gb-lm-dark-green;
--gb-lm-dark-yellow: @gb-lm-dark-yellow;
--gb-lm-dark-blue: @gb-lm-dark-blue;
--gb-lm-dark-purple: @gb-lm-dark-purple;
--gb-lm-dark-aqua: @gb-lm-dark-aqua;
--gb-lm-dark-orange: @gb-lm-dark-orange;
--gb-lm-dark-gray: @gb-lm-dark-gray;
--gb-lm-light-red: @gb-lm-light-red;
--gb-lm-light-green: @gb-lm-light-green;
--gb-lm-light-yellow: @gb-lm-light-yellow;
--gb-lm-light-blue: @gb-lm-light-blue;
--gb-lm-light-purple: @gb-lm-light-purple;
--gb-lm-light-aqua: @gb-lm-light-aqua;
--gb-lm-light-orange: @gb-lm-light-orange;
--gb-lm-light-gray: @gb-lm-light-gray;
}

@ -0,0 +1,225 @@
/* Base */
*,
::before,
::after {
color: #a89984 !important;
border-color: #1d2021 !important;
outline-color: #1d2021 !important;
text-shadow: none !important;
box-shadow: none !important;
/*-moz-box-shadow: none !important;*/
background-color: transparent !important;
}
html * {
color: inherit !important;
}
p::first-letter,
h1::first-letter,
h2::first-letter,
p::first-line {
color: inherit !important;
background: none !important;
}
/* :: Give solid BG :: */
/* element */
b,
i,
u,
strong {
color: #98971a;
}
html,
body,
li ul,
ul li,
table,
header,
article,
section,
nav,
menu,
aside,
[class*="nav"],
[class*="open"],
[id*="ropdown"],
[class*="ropdown"],
div[class*="menu"],
[class*="tooltip"],
div[class*="popup"],
div[id*="popup"],
div[id*="detail"],
div[class*="detail"],
div[class*="note"],
span[class*="note"],
div[class*="description"],
div[class*="content"],
div[class*="container"],
div[style*="display: block"],
div[style*="visibility: visible"] {
background-color: #282828 !important;
}
/*: No BG :*/
*:not(:empty):not(span):not([class="html5-volume-slider html5-draggable"]):not([class="html5-player-chrome html5-stop-propagation"]),
*::before,
*::after,
td:empty,
p:empty,
div:empty:not([role]):not([style*="flashblock"]):not([class^="html5"]):not([class*="noscriptPlaceholder"]) {
background-image: none !important;
}
/*: Filter non-icons :*/
span:not(:empty):not([class*="icon"]):not([id*="icon"]):not([class*="star"]):not([id*="star"]):not([id*="rating"]):not([class*="rating"]):not([class*="prite"]) {
background-image: none !important;
text-indent: 0 !important;
}
/*: Image opacity :*/
img,
svg {
opacity: 0.75 !important;
}
img:hover,
svg:hover {
opacity: 1 !important;
}
/* Highlight */
::-moz-selection {
background-color: #ebdbb2 !important;
color: #32302f !important;
}
/* ::: anchor/links ::: */
a {
color: #689d6a !important;
background-color: #282828 !important;
opacity: 1 !important;
text-indent: 0 !important;
}
a:link {
color: #458588 !important;
}
a:visited {
color: #b16286 !important;
}
a:hover {
color: #d79921 !important;
background-color: #1d2021 !important;
}
a:active {
color: #d65d0e !important;
}
/* "Top level" div */
body > div {
background-color: inherit !important;
}
/* :::::: Text Presentation :::::: */
summary,
details {
background-color: inherit !important;
}
kbd,
time,
label,
.date {
color: #98971a !important;
}
acronym,
abbr {
border-bottom: 1px dotted !important;
cursor: help !important;
}
mark {
background-color: #cc241d !important;
}
/* :::::: Headings :::::: */
h1,
h2,
h3,
h4,
h5,
h6 {
background-image: none !important;
border-radius: 5px !important;
/*-moz-border-radius: 5px !important;*/
-webkit-border-radius: 5px !important;
text-indent: 0 !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
background-color: #1d2021 !important;
}
h1,
h2 {
color: #98971a !important;
}
h3,
h4 {
color: #d79921 !important;
}
h5,
h6 {
color: #d65d0e !important;
}
/* :::::: Tables, cells :::::: */
table table {
background: #1d2021 !important;
}
th,
caption {
background: #282828 !important;
}
/* ::: Inputs, textareas ::: */
input,
textarea,
button,
select,
option,
optgroup {
color: #ebdbb2 !important;
background: none #1d2021 !important;
-moz-appearance: none !important;
-webkit-appearance: none !important;
}
input,
textarea,
button {
border-color: #32302f !important;
border-width: 1px !important;
}
/* :::::: Button styling :::::: */
input[type="button"],
input[type="submit"],
input[type="reset"],
button {
background: #1d2021 !important;
}
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button:hover {
color: #32302f !important;
background: #ebdbb2 !important;
}
input[type="image"] {
opacity: 0.85 !important;
}
input[type="image"]:hover {
opacity: 0.95 !important;
}
/* Lightbox fix */
html [id*="lightbox"] * {
background-color: transparent !important;
}
html [id*="lightbox"] img {
opacity: 1 !important;
}
/* Youtube Annotation */
#movie_player-html5 .annotation {
background: #1d2021 !important;
}
/* Mozilla addons shrink/expand sections */
.expando a {
background: none transparent !important;
}

@ -0,0 +1,282 @@
/* Base */
*, ::before, ::after
{
color: #a89984 !important;
border-color: #1d2021 !important;
outline-color: #1d2021 !important;
text-shadow: none !important;
box-shadow: none !important;
/*-moz-box-shadow: none !important;*/
background-color: transparent !important;
}
html *
{
color: inherit !important;
}
p::first-letter,
h1::first-letter,
h2::first-letter,
p::first-line
{
color: inherit !important;
background: none !important;
}
/* :: Give solid BG :: */
/* element */
b,i,u,strong
{
color: #98971a;
}
html,
body,
li ul,
ul li,
table,
header,
article,
section,
nav,
menu,
aside,
/* common */
[class*="nav"],
[class*="open"],
[id*="ropdown"], /*dropdown*/
[class*="ropdown"],
div[class*="menu"],
[class*="tooltip"],
div[class*="popup"],
div[id*="popup"],
/* Notes, details, etc. Maybe useful */
div[id*="detail"],div[class*="detail"],
div[class*="note"], span[class*="note"],
div[class*="description"],
/* Also common */
div[class*="content"], div[class*="container"],
/* Popup divs that use visibility: hidden and display: none */
div[style*="display: block"],
div[style*="visibility: visible"]
{
background-color: #282828 !important;
}
/*: No BG :*/
*:not(:empty):not(span):not([class="html5-volume-slider html5-draggable"]):not([class="html5-player-chrome html5-stop-propagation"]), *::before, *::after,
td:empty, p:empty, div:empty:not([role]):not([style*="flashblock"]):not([class^="html5"]):not([class*="noscriptPlaceholder"])
{
background-image: none !important;
}
/*: Filter non-icons :*/
span:not(:empty):not([class*="icon"]):not([id*="icon"]):not([class*="star"]):not([id*="star"]):not([id*="rating"]):not([class*="rating"]):not([class*="prite"])
{
background-image: none !important;
text-indent: 0 !important;
}
/*: Image opacity :*/
img, svg
{
opacity: .75 !important;
}
img:hover, svg:hover
{
opacity: 1 !important;
}
/* Highlight */
::-moz-selection
{
background-color: #ebdbb2 !important;
color: #32302f !important;
}
/* ::: anchor/links ::: */
a
{
color: #689d6a !important;
background-color: #282828 !important;
opacity: 1 !important;
text-indent: 0 !important;
}
a:link
{
color: #458588 !important;
}
a:visited
{
color: #b16286 !important;
}
a:hover
{
color: #d79921 !important;
background-color: #1d2021 !important;
}
a:active
{
color: #d65d0e !important;
}
/* "Top level" div */
body > div
{
background-color: inherit !important;
}
/* :::::: Text Presentation :::::: */
summary, details
{
background-color: inherit !important;
}
kbd, time, label, .date
{
color: #98971a !important;
}
acronym, abbr
{
border-bottom: 1px dotted !important;
cursor: help !important;
}
mark
{
background-color: #cc241d !important;
}
/* :::::: Headings :::::: */
h1,h2,h3,h4,h5,h6
{
background-image: none !important;
border-radius: 5px !important;
/*-moz-border-radius: 5px !important;*/
-webkit-border-radius: 5px !important;
text-indent: 0 !important;
}
h1,h2,h3,h4,h5,h6
{
background-color: #1d2021 !important;
}
h1,h2
{
color: #98971a!important;
}
h3,h4
{
color: #d79921!important;
}
h5,h6
{
color: #d65d0e!important;
}
/* :::::: Tables, cells :::::: */
table table
{
background: #1d2021 !important;
}
th, caption
{
background: #282828 !important;
}
/* ::: Inputs, textareas ::: */
input, textarea, button,
select,option,optgroup
{
color: #ebdbb2 !important;
background: none #1d2021 !important;
-moz-appearance: none !important;
-webkit-appearance: none !important;
}
input,
textarea,
button
{
border-color: #32302f !important;
border-width: 1px !important;
}
/* :::::: Button styling :::::: */
input[type="button"],
input[type="submit"],
input[type="reset"],
button
{
background: #1d2021 !important;
}
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button:hover
{
color: #32302f !important;
background: #ebdbb2 !important;
}
input[type="image"]
{
opacity: .85 !important;
}
input[type="image"]:hover
{
opacity: .95 !important;
}
/* Lightbox fix */
html [id*="lightbox"] *
{
background-color: transparent !important;
}
html [id*="lightbox"] img
{
opacity: 1 !important;
}
/* Youtube Annotation */
#movie_player-html5 .annotation
{
background: #1d2021 !important;
}
/* Mozilla addons shrink/expand sections */
.expando a
{
background: none transparent !important;
}

@ -172,3 +172,17 @@ alias rs="rofi-reverse-shells"
ARMORY="$HOME/GitRepos/armoury"
alias surecheckImport="$JAVA_HOME/bin/java -jar $ARMORY/host_build_reviews/windows/SurecheckImport/SurecheckImport_v0.2.jar "
alias rot13="tr 'A-Za-z' 'N-ZA-Mn-za-m'"
# These aliases are related to projects
# Make sqlmap put output in the current project folder
alias sqlmap="[ -L ~/Projects/current ] && sqlmap --output-dir=\"~/Projects/current/sqlmap\""
# Cd into the current project
alias pp="[ -L ~/Projects/current ] && cd \$(readlink ~/Projects/current) || cd ~/Projects"
# Automatically switch project based on current location
alias pa="project switch --auto"
# Change project using fzf
alias pc="project switch --fzf"
# Create a new project
alias pn="project new"

@ -1,7 +1,7 @@
export LANG="en_GB.UTF-8"
export TERMINAL=/usr/local/bin/st
export TERM=xterm-256color
export PATH=~/.bin:$PATH:/opt/lampp/bin:~/.config/composer/vendor/bin:.
export PATH=~/Projects/current/bin:~/.bin:$PATH:.
export EDITOR='vim'
export READER='zathura'
export CDPATH=.:~:~/Sites

@ -4,6 +4,7 @@
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.dotfiles/shells/zsh/oh-my-zsh-core
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
@ -106,4 +107,17 @@ TRAPWINCH(){
# exec tmux
#fi
#
local current="$(project current --path)"
if [ -n "$current" ]; then
echo "yay"
local script="/usr/bin/script"
echo "'$(ps -ocommand -p $PPID | grep -v 'COMMAND' | cut -d' ' -f1)'"
if [[ ! "$(ps -ocommand -p $PPID | grep -v 'COMMAND' | cut -d' ' -f1 )" == "$script" ]]; then
mkdir "$current/shell-logs"
/usr/bin/script -f "$current/shell-logs/$(date +"%d-%b-%y_%H-%M-%S")_shell.log"
fi
fi
clear
tldr --linux -r

@ -20,3 +20,6 @@ _wp_complete() {
return 0
}
complete -o nospace -F _wp_complete wp
_comp_options+=(globdots)

@ -11,7 +11,7 @@ function my_dir(){
dropboxIcon=""
seperator=" "
seperatorDual=" "
root="$seperator"
root="$seperator"
# Gets the path.
local current_path="$(print -P "%~")"
@ -24,6 +24,15 @@ function my_dir(){
# Replace wp-content/plugins with plugin icon if in plugin
# current_path=$(echo $current_path | sed -r -e "s/wp\-content\/plugins/$wpPluginsIcon/")
local current_project_full="$(project current --path)"
local current_project_name="$(project current)"
if [ -n "$current_project_name" ]; then
if echo "$PWD" | grep -q "$current_project_full"; then
current_path=$(echo $PWD | sed -r -e "s#$current_project_full##" | sed -r -e 's/^\///')
current_path="$current_path"
fi
fi
#
#This is used for checking if wp or magento
local ph=${PWD%/public_html*}/public_html
# If in a site folder and a wp site, replace home/Sites/<site-name>/public_html with siteIcon <site-url>
@ -90,9 +99,42 @@ POWERLEVEL9K_CUSTOM_CAPS="Capslock"
POWERLEVEL9K_CUSTOM_CAPS_BACKGROUND="red"
POWERLEVEL9K_CUSTOM_CAPS_FOREGROUND="white"
function prompt_project() {
local segment_content state icon
local current_project_name="$(project current)"
local current_project_full="$(project current --path)"
local parent_process="$(ps -ocommand -p $PPID | grep -v 'COMMAND' | cut -d' ' -f1)"
# If there is a current project
if [ -n "$current_project_name" ]; then
segment_content="$current_project_name"
if [[ "$parent_process" == "/usr/bin/script" ]]; then
segment_content="$segment_content"
fi
# If in the current project
if echo "$PWD" | grep -q "$current_project_full"; then
state="INSIDE"
elif echo "$PWD" | grep -q "$HOME/Projects/"; then
state="WRONG"
else
state="OUTSIDE"
fi
fi
if [ -n "$segment_content" ]; then
"$1_prompt_segment" "${0}_${state}" "$2" $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$segment_content" "$icon"
fi
}
POWERLEVEL9K_PROJECT_DEFAULT_FOREGROUND="black"
POWERLEVEL9K_PROJECT_WRONG_BACKGROUND="red"
POWERLEVEL9K_PROJECT_OUTSIDE_BACKGROUND="yellow"
POWERLEVEL9K_PROJECT_INSIDE_BACKGROUND="green"
# Left Prompt
if [[ "$(basename "/"$(ps -f -p $(cat /proc/$(echo $$)/stat | cut -d \ -f 4) | tail -1 | sed 's/^.* //'))" != "$(echo $USER)" ]]; then
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_dir vcs custom_caps)
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(project custom_dir vcs custom_caps)
fi
# Right Prompt

@ -10,4 +10,4 @@ function append_date() {
zle -N append_date
# Bind it to ESC-i.
bindkey "" append_date
#bindkey "" append_date

@ -1 +1 @@
Subproject commit bd847bd8124b5c4051ed08cfd6cebd9f98dd8921
Subproject commit fee53462f9a2ab89690076fdba8473df970ff3e7

@ -13,11 +13,12 @@ eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh
export $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
dbus-update-activation-environment --systemd DISPLAY
nitrogen --restore
#setxkbmap -layout gb,gb -variant "colemak," -option grp:shifts_toggle
setxkbmap -layout gb,gb -variant "colemak," -option grp:shifts_toggle
#exec compton -f -i 0.95
#exec xrdb .Xresources
#xbindkeys
#exec i3 -V >> ~/i3log-$(date + '%F-%k-%M-%S') 2>&1
#startxfce4
while :; do
dwm
done;

@ -0,0 +1,6 @@
polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.unix.manage" &&
subject.isInGroup("kvm")) {
return polkit.Result.YES;
}
});
Loading…
Cancel
Save