Switched to Fedora, massive update

This commit is contained in:
Lian Drake 2024-03-07 11:05:41 -04:00
parent 24a65daaa6
commit 6782d922f6
59005 changed files with 392210 additions and 12990 deletions

View file

@ -5,34 +5,59 @@
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) ## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
## /_____/_/ \__,_/_/|_|\___/ My custom bash_profile config ## /_____/_/ \__,_/_/|_|\___/ My custom bash_profile config
## ##
#
# starting hyprland # Home folders
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]
then
sh "$HOME/.winitrc"
logout
fi
# clean home
export XDG_DATA_HOME="$HOME/.local/share" export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache" export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config" export XDG_CONFIG_HOME="$HOME/.config"
# Sanely export XDG Base dir variables
eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)"
# Clean home
export W3M_DIR="$XDG_DATA_HOME/w3m" export W3M_DIR="$XDG_DATA_HOME/w3m"
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
export WGETRC="$HOME/.config/wget/wgetrc" export WGETDIR="$XDG_CONFIG_HOME/wget"
export INPUTRC="$HOME/.config/inputrc" export WGETRC="$WGETDIR/wgetrc"
export LESSHISTFILE=- export INPUTRC="$HOME/.config/X11/inputrc"
export GNUPGHOME="$HOME/.local/share/gnupg"
export LESSHISTFILE="-"
export BASHRC="$HOME/.bashrc"
# user defined environment variables # Default apps
export WM=Hyprland export TERMINAL="wezterm"
export MEDIA_DIR="$HOME/Media" export RUNNER="fuzzel --dmenu"
export TEMP_DIR="$HOME/Temporal" export RUNNER_EX="fuzzel"
export RUNNER="wofi --dmenu"
export RUNNER_EX="wofi -p ' Run'"
export EDITOR="$HOME/.local/bin/lvim" export EDITOR="$HOME/.local/bin/lvim"
export VISUAL="neovide --neovim-bim $HOME/.local/bin/lvim" export VISUAL="neovide --neovim-bim $HOME/.local/bin/lvim"
export BROWSER="firefox" export BROWSER="firefox"
export VIEWER="zathura" export VIEWER="zathura"
# bashrc #ENV
source "$HOME"/.bashrc export XDG_SESSION_DESKTOP=Hyprland
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
export QT_STYLE_OVERRIDE=kvantum
export QT_QPA_PLATFORM=wayland
export GDK_BACKEND=wayland
export SDL_VIDEODRIVER=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export XKB_DEFAULT_LAYOUT="us"
export MOZ_ENABLE_WAYLAND=1
export GTK_THEME="gruvbox-dark-gtk"
export GTK_ICON_THEME="gruvbox-dark-gtk"
export XCURSOR_THEME=Simp1e-Gruvbox-Dark
export XCURSOR_SIZE=16
# Bashrc
source "$BASHRC"
# Create config directories if they don't exist
if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then
mkdir -p "$WGETDIR" "$GNUPGHOME"
touch "$WGETDIR"/wgetrc
fi

View file

@ -19,9 +19,6 @@ export MANPAGER="sh -c 'col -bx | bat -l man -p'"
# if not running interactively, don't do anything # if not running interactively, don't do anything
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
# use neovim for vim if present.
[ -x "$(command -v $HOME/.local/bin/lvim)" ] && alias vim="lvim"
### SET VI MODE ### ### SET VI MODE ###
# Comment this line out to enable default emacs-like bindings # Comment this line out to enable default emacs-like bindings
set -o vi set -o vi
@ -30,19 +27,22 @@ bind -m vi-insert 'Control-l: clear-screen'
### PATH ### ### PATH ###
if [ -d "$HOME/.bin" ] ; if [ -d "$HOME/.bin" ] ;
then PATH="$HOME/.bin:$PATH" then PATH="$HOME/.bin:$PATH"
fi fi
if [ -d "$HOME/.local/bin" ] ; if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH" then PATH="$HOME/.local/bin:$PATH"
fi
if [ -d "$HOME/Applications" ] ;
then PATH="$HOME/Applications:$PATH"
fi fi
### CHANGE TITLE OF TERMINALS ### ### CHANGE TITLE OF TERMINALS ###
case ${TERM} in case ${TERM} in
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*) xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
;; ;;
screen*) screen*)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
;; ;;
esac esac
@ -65,166 +65,225 @@ done; unset command
### ARCHIVE EXTRACTION ### ### ARCHIVE EXTRACTION ###
# usage: ex <file> # usage: ex <file>
ex () function ex() {
{ if [ -f "$1" ] ; then
if [ -f "$1" ] ; then case $1 in
case $1 in *.tar.bz2) tar xjf "$1" ;;
*.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;;
*.tar.gz) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;;
*.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;;
*.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;;
*.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;;
*.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;;
*.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;;
*.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;;
*.zip) unzip "$1" ;; *.Z) uncompress "$1";;
*.Z) uncompress "$1";; *.7z) 7zz x "$1" ;;
*.7z) 7zz x "$1" ;; *.deb) ar x "$1" ;;
*.deb) ar x "$1" ;; *.tar.xz) tar xf "$1" ;;
*.tar.xz) tar xf "$1" ;; *.tar.zst) unzstd "$1" ;;
*.tar.zst) unzstd "$1" ;; *) echo "'$1' cannot be extracted via ex()" ;;
*) echo "'$1' cannot be extracted via ex()" ;; esac
esac else
else echo "'$1' is not a valid file"
echo "'$1' is not a valid file" fi
fi
} }
### ALIASES ### ### ALIASES ###
# navigation # navigation
up () { function up () {
local d="" local d=""
local limit="$1" local limit="$1"
# Default to limit of 1 # Default to limit of 1
if [ -z "$limit" ] || [ "$limit" -le 0 ]; then if [ -z "$limit" ] || [ "$limit" -le 0 ]; then
limit=1 limit=1
fi fi
for ((i=1;i<=limit;i++)); do for ((i=1;i<=limit;i++)); do
d="../$d" d="../$d"
done done
# perform cd. Show error if cd fails # perform cd. Show error if cd fails
if ! cd "$d"; then if ! cd "$d"; then
echo "Couldn't go up $limit dirs."; echo "Couldn't go up $limit dirs.";
fi fi
} }
# cd # cd
alias \ alias \
..="cd .." \ ..="cd .." \
.2="cd ../.." \ .2="cd ../.." \
.3="cd ../../.." \ .3="cd ../../.." \
.4="cd ../../../.." \ .4="cd ../../../.." \
.5="cd ../../../../.." .5="cd ../../../../.."
# bat as cat # bat as cat
[ -x "$(command -v bat)" ] && alias cat="bat" [ -x "$(command -v bat)" ] && alias cat="bat"
# Changing "ls" to "exa" # use lunarvim or neovim for vim if present.
alias \ if [ -x "$(command -v $HOME/.local/bin/lvim)" ]; then
ls="exa -al --icons --color=always --group-directories-first" \ alias vim="$HOME/.local/bin/lvim"
la="exa -a --icons --color=always --group-directories-first" \ elif [ -x "$(command -v nvim)" ]; then
ll="exa -l --icons --color=always --group-directories-first" \ alias vim="nvim"
lt="exa -aT --icons --color=always --group-directories-first" \ fi
l.='exa -a | grep -E "^\."'
# pacman # Changing "ls" to "eza"
[ -x "$(command -v eza)" ] && alias \
ls="eza --icons -al --color=always --group-directories-first" \
la="eza --icons -a --color=always --group-directories-first" \
ll="eza --icons -l --color=always --group-directories-first" \
lt="eza --icons -aT --color=always --group-directories-first" \
l.='eza --icons -a | grep -E "^\."'
# function to detect os and assign aliases to package managers
alias \ alias \
pac-up="paru -Syu" \ pkg-update="sudo dnf update" \
pac-get="paru -S" \ pkg-install="sudo dnf install" \
pac-rmv="paru -Rcns" \ pkg-remove="sudo dnf remove" \
pac-rmv-sec="paru -R" \ pkg-search="sudo dnf search" \
pac-qry="paru -Ss" \
pac-cln="paru -Scc && sudo pacman -Rns $(pacman -Qtdq)"
# colorize grep output (good for log files) # colorize grep output (good for log files)
alias \ alias \
grep="grep --color=auto" \ grep="grep --color=auto" \
egrep="egrep --color=auto" \ egrep="egrep --color=auto" \
fgrep="fgrep --color=auto" fgrep="fgrep --color=auto"
# git # git
alias \ alias \
git-adu="git add -u" \ git-adu="git add -u" \
git-adl="git add ." \ git-adl="git add ." \
git-brn="git branch" \ git-brn="git branch" \
git-chk="git checkout" \ git-chk="git checkout" \
git-cln="git clone" \ git-cln="git clone" \
git-cmt="git commit -m" \ git-cmt="git commit -m" \
git-fth="git fetch" \ git-fth="git fetch" \
git-pll="git pull origin" \ git-pll="git pull origin" \
git-psh="git push origin" \ git-psh="git push origin" \
git-sts="git status" \ git-sts="git status" \
git-tag="git tag" \ git-tag="git tag" \
git-ntg="git tag -a" git-ntg="git tag -a"
# adding flags # adding flags
alias \ alias \
df="df -h" \ df="df -h" \
free="free -m" free="free -m"
# multimedia scripts # multimedia scripts
alias \ alias \
fli="flix-cli" \ fli="flix-cli" \
ani="ani-cli" \ ani="ani-cli" \
aniq="ani-cli -q" aniq="ani-cli -q"
# audio # audio
alias \ alias \
mx="pulsemixer" \ mx="pulsemixer" \
amx="alsamixer" \ mk="cmus" \
mk="cmus" \ ms="cmus" \
ms="cmus" \ music="cmus"
music="cmus"
# power management # power management
alias \ alias \
po="systemctl poweroff" \ po="systemctl poweroff" \
sp="systemctl suspend" \ sp="systemctl suspend" \
rb="systemctl reboot" rb="systemctl reboot"
# file management # file management
alias \ alias \
fm="vifm" \ fm="$HOME/.config/vifm/scripts/vifmrun" \
file="vifm" \ flm="$HOME/.config/vifm/scripts/vifmrun" \
flm="vifm" \ vifm="$HOME/.config/vifm/scripts/vifmrun" \
rm="rm -vI" \ rm="rm -vI" \
mv="mv -iv" \ mv="mv -iv" \
cp="cp -iv" \ cp="cp -iv" \
mkd="mkdir -pv" mkd="mkdir -pv"
# ps # ps
alias \ alias \
psa="ps auxf" \ psa="ps auxf" \
psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \ psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \
psmem="ps auxf | sort -nr -k 4" \ psmem="ps auxf | sort -nr -k 4" \
pscpu="ps auxf | sort -nr -k 3" pscpu="ps auxf | sort -nr -k 3"
# youtube # youtube
alias \ alias \
yta-aac="yt-dlp --extract-audio --audio-format aac" \ yta-aac="yt-dlp --extract-audio --audio-format aac" \
yta-best="yt-dlp --extract-audio --audio-format best" \ yta-best="yt-dlp --extract-audio --audio-format best" \
yta-flac="yt-dlp --extract-audio --audio-format flac" \ yta-flac="yt-dlp --extract-audio --audio-format flac" \
yta-m4a="yt-dlp --extract-audio --audio-format m4a" \ yta-m4a="yt-dlp --extract-audio --audio-format m4a" \
yta-mp3="yt-dlp --extract-audio --audio-format mp3" \ yta-mp3="yt-dlp --extract-audio --audio-format mp3" \
yta-opus="yt-dlp --extract-audio --audio-format opus" \ yta-opus="yt-dlp --extract-audio --audio-format opus" \
yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \ yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \
yta-wav="yt-dlp --extract-audio --audio-format wav" \ yta-wav="yt-dlp --extract-audio --audio-format wav" \
ytv-best="yt-dlp -f bestvideo+bestaudio" \ ytv-best="yt-dlp -f bestvideo+bestaudio" \
yt="ytfzf -ftsl" \ yt="ytfzf -ftsl" \
ytm="ytfzf -mtsl" ytm="ytfzf -mtsl"
# network and bluetooth # network and bluetooth
alias \ alias \
netstats="nmcli dev" \ netstats="nmcli dev" \
wfi="nmtui-connect" \ wfi="nmtui-connect" \
wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \ wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \
wfi-edit="nmtui-edit" \ wfi-edit="nmtui-edit" \
wfi-on="nmcli radio wifi on" \ wfi-on="nmcli radio wifi on" \
wfi-off="nmcli radio wifi off" \ wfi-off="nmcli radio wifi off" \
blt="bluetoothctl" blt="bluetoothctl"
### SETTING THE STARSHIP PROMPT ### # get current branch in git repo
eval "$(starship init bash)" function parse_git_branch() {
BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
if [ ! "${BRANCH}" == "" ]; then
STAT=$(parse_git_dirty)
echo "[${BRANCH}${STAT}]"
else
echo ""
fi
}
# get current branch in git repo
function parse_git_branch() {
BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
if [ ! "${BRANCH}" == "" ]; then
STAT=$(parse_git_dirty)
echo "[${BRANCH}${STAT}]"
else
echo ""
fi
}
# get current status of git repo
function parse_git_dirty {
status=$(git status 2>&1 | tee)
dirty=$(echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?")
untracked=$(echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?")
ahead=$(echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?")
newfile=$(echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?")
renamed=$(echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?")
deleted=$(echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?")
bits=''
if [ "${renamed}" == "0" ]; then
bits=">${bits}"
fi
if [ "${ahead}" == "0" ]; then
bits="*${bits}"
fi
if [ "${newfile}" == "0" ]; then
bits="+${bits}"
fi
if [ "${untracked}" == "0" ]; then
bits="?${bits}"
fi
if [ "${deleted}" == "0" ]; then
bits="x${bits}"
fi
if [ "${dirty}" == "0" ]; then
bits="!${bits}"
fi
if [ ! "${bits}" == "" ]; then
echo " ${bits}"
else
echo ""
fi
}
export PS1="[\[\e[31m\]\u\[\e[m\]\[\e[35m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]] [\[\e[33m\]\W\[\e[m\]\[\e[34m\]\`parse_git_branch\`\[\e[m\]] 󱞪 "

View file

@ -0,0 +1,527 @@
[%General]
author=sachnr, based on KvAdapta
comment=Gruvbox Dark theme with brown highlights
x11drag=menubar_and_primary_toolbar
alt_mnemonic=true
left_tabs=true
attach_active_tab=false
mirror_doc_tabs=true
group_toolbar_buttons=false
toolbar_item_spacing=0
toolbar_interior_spacing=2
spread_progressbar=true
composite=true
menu_shadow_depth=5
tooltip_shadow_depth=2
splitter_width=4
scroll_width=9
scroll_arrows=false
scroll_min_extent=60
slider_width=2
slider_handle_width=22
slider_handle_length=22
center_toolbar_handle=true
check_size=14
textless_progressbar=false
progressbar_thickness=2
menubar_mouse_tracking=true
toolbutton_style=1
double_click=false
translucent_windows=false
blurring=false
popup_blurring=false
vertical_spin_indicators=false
spin_button_width=24
fill_rubberband=false
merge_menubar_with_toolbar=true
small_icon_size=16
large_icon_size=32
button_icon_size=16
toolbar_icon_size=22
combo_as_lineedit=true
animate_states=true
button_contents_shift=false
combo_menu=true
hide_combo_checkboxes=true
combo_focus_rect=false
groupbox_top_label=true
inline_spin_indicators=true
joined_inactive_tabs=true
layout_spacing=6
layout_margin=9
scrollbar_in_view=true
transient_scrollbar=true
transient_groove=false
submenu_overlap=0
tooltip_delay=-1
tree_branch_line=true
no_window_pattern=false
opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
reduce_window_opacity=0
respect_DE=true
scrollable_menu=false
submenu_delay=250
[GeneralColors]
window.color=#232323
base.color=#282828
alt.base.color=#282828
button.color=#2e2e2e
light.color=#504945
mid.light.color=#3f3f3f
dark.color=#1d2021
mid.color=##202324
highlight.color=#665c54cc
inactive.highlight.color=#665c54bb
text.color=#ebdbb2
window.text.color=#ebdbb2
button.text.color=#ebdbb2
disabled.text.color=#a89984
tooltip.text.color=#fbf1c7
highlight.text.color=#3c3836
link.color=#b8bb26
link.visited.color=#98971a
progress.indicator.text.color=#fbf1c7
[Hacks]
transparent_ktitle_label=true
transparent_dolphin_view=false
transparent_pcmanfm_sidepane=true
blur_translucent=false
transparent_menutitle=true
respect_darkness=false
kcapacitybar_as_progressbar=true
force_size_grip=true
iconless_pushbutton=true
iconless_menu=false
disabled_icon_opacity=70
lxqtmainmenu_iconsize=22
normal_default_pushbutton=true
single_top_toolbar=true
tint_on_mouseover=0
transparent_pcmanfm_view=false
no_selection_tint=true
transparent_arrow_button=true
[PanelButtonCommand]
frame=true
frame.element=button
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
interior=true
interior.element=button
indicator.size=8
text.normal.color=#ebdbb2
text.focus.color=#3c3836
text.press.color=#ebdbb2
text.toggle.color=#fbf1c7
text.shadow=0
text.margin=1
text.iconspacing=4
indicator.element=arrow
text.margin.top=2
text.margin.bottom=4
text.margin.left=2
text.margin.right=2
min_width=+0.3font
min_height=+0.3font
frame.expansion=14
[PanelButtonTool]
inherits=PanelButtonCommand
text.normal.color=#ebdbb2
text.bold=false
indicator.element=arrow
indicator.size=0
[ToolbarButton]
frame.element=tbutton
interior.element=tbutton
indicator.element=tarrow
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.press.color=#fbf1c7
text.toggle.color=#fbf1c7
text.bold=false
[Dock]
inherits=PanelButtonCommand
interior.element=dock
frame.element=dock
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
text.normal.color=#ebdbb2
[DockTitle]
inherits=PanelButtonCommand
frame=false
interior=false
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.bold=false
[IndicatorSpinBox]
inherits=PanelButtonCommand
frame=true
interior=true
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
indicator.element=spin
indicator.size=8
text.normal.color=#ebdbb2
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
[RadioButton]
inherits=PanelButtonCommand
frame=false
interior.element=radio
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
min_width=+0.3font
min_height=+0.3font
[CheckBox]
inherits=PanelButtonCommand
frame=false
interior.element=checkbox
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
min_width=+0.3font
min_height=+0.3font
[Focus]
inherits=PanelButtonCommand
frame=true
frame.element=focus
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.patternsize=20
[GenericFrame]
inherits=PanelButtonCommand
frame=true
interior=false
frame.element=common
interior.element=common
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
[LineEdit]
inherits=PanelButtonCommand
frame.element=lineedit
interior.element=lineedit
interior=false
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
frame.expansion=0
[DropDownButton]
inherits=PanelButtonCommand
indicator.element=arrow-down
[IndicatorArrow]
indicator.element=arrow
indicator.size=8
[ToolboxTab]
inherits=PanelButtonCommand
text.normal.color=#ebdbb2
text.press.color=#ebdbb2
text.focus.color=#fbf1c7
[Tab]
inherits=PanelButtonCommand
interior.element=tab
text.margin.left=8
text.margin.right=8
text.margin.top=2
text.margin.bottom=2
frame.element=tab
indicator.element=tab
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.normal.color=#ebdbb2
text.focus.color=#ebdbb2
text.toggle.color=#ebdbb2
frame.expansion=0
text.bold=false
[TabFrame]
inherits=PanelButtonCommand
frame.element=tabframe
interior.element=tabframe
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
[TreeExpander]
inherits=PanelButtonCommand
indicator.size=8
indicator.element=tree
[HeaderSection]
inherits=PanelButtonCommand
interior.element=header
frame.element=header
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.press.color=#fbf1c7
text.toggle.color=#fbf1c7
frame.expansion=0
[SizeGrip]
indicator.element=resize-grip
[Toolbar]
inherits=PanelButtonCommand
indicator.element=toolbar
indicator.size=5
text.margin=0
interior.element=menubar
frame.element=menubar
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
frame.left=0
frame.right=0
frame.top=0
frame.bottom=4
frame.expansion=0
[Slider]
inherits=PanelButtonCommand
frame.element=slider
interior.element=slider
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
[SliderCursor]
inherits=PanelButtonCommand
frame=false
interior.element=slidercursor
[Progressbar]
inherits=PanelButtonCommand
frame.element=progress
interior.element=progress
text.margin=0
text.normal.color=#ebdbb2
text.focus.color=#ebdbb2
text.press.color=#ebdbb2
text.toggle.color=#cfd8dc
text.bold=false
frame.expansion=8
[ProgressbarContents]
inherits=PanelButtonCommand
frame=true
frame.element=progress-pattern
interior.element=progress-pattern
[ItemView]
inherits=PanelButtonCommand
text.margin=0
frame.element=itemview
interior.element=itemview
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.top=2
text.margin.bottom=2
text.margin.left=4
text.margin.right=4
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.press.color=#fbf1c7
text.toggle.color=#fbf1c7
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[Splitter]
indicator.size=48
[Scrollbar]
inherits=PanelButtonCommand
indicator.element=arrow
indicator.size=8
[ScrollbarSlider]
inherits=PanelButtonCommand
interior.element=scrollbarslider
interior=true
frame=false
indicator.element=grip
indicator.size=13
frame.expansion=48
[ScrollbarGroove]
inherits=PanelButtonCommand
interior=false
frame=false
[MenuItem]
inherits=PanelButtonCommand
frame=true
frame.element=menuitem
interior.element=menuitem
indicator.element=menuitem
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.margin.top=1
text.margin.bottom=1
text.margin.left=4
text.margin.right=4
frame.top=0
frame.bottom=0
frame.left=0
frame.right=0
text.bold=false
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[MenuBar]
inherits=PanelButtonCommand
frame.element=menubar
interior.element=menubar
frame.bottom=0
text.normal.color=#ebdbb2
frame.expansion=0
text.bold=false
[MenuBarItem]
inherits=PanelButtonCommand
interior=true
interior.element=menubaritem
frame.element=menubaritem
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.left=4
text.margin.right=4
text.margin.top=0
text.margin.bottom=0
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.bold=false
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[TitleBar]
inherits=PanelButtonCommand
frame=false
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
interior.element=titlebar
indicator.size=16
indicator.element=mdi
text.normal.color=#d5c4a1
text.focus.color=#ebdbb2
text.bold=false
text.italic=true
frame.expansion=0
[ComboBox]
inherits=PanelButtonCommand
frame.element=combo
interior.element=combo
interior=false
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
text.focus.color=#fbf1c7
text.press.color=#ebdbb2
text.toggle.color=#fbf1c7
frame.expansion=0
[Menu]
inherits=PanelButtonCommand
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.element=menu
interior.element=menu
text.normal.color=#ebdbb2
text.shadow=false
frame.expansion=0
[GroupBox]
inherits=GenericFrame
frame=false
text.shadow=0
text.margin=0
text.normal.color=#ebdbb2
text.focus.color=#fbf1c7
text.bold=false
frame.expansion=0
[TabBarFrame]
inherits=GenericFrame
frame=true
frame.element=tabBarFrame
interior=false
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
[ToolTip]
inherits=GenericFrame
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
interior=true
text.shadow=0
text.margin=0
interior.element=tooltip
frame.element=tooltip
frame.expansion=0
[StatusBar]
inherits=GenericFrame
frame=false
interior=false
[Window]
interior=true
interior.element=window

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 207 KiB

View file

@ -1,491 +0,0 @@
[%General]
author=Sourav Gope
comment=Medium Dark Gruvbox kvantum theme
x11drag=menubar_and_primary_toolbar
alt_mnemonic=true
left_tabs=true
attach_active_tab=true
mirror_doc_tabs=true
group_toolbar_buttons=false
toolbar_item_spacing=1
toolbar_interior_spacing=3
spread_progressbar=true
composite=true
menu_shadow_depth=5
menu_separator_height=6
tooltip_shadow_depth=6
splitter_width=4
scroll_width=6
scroll_arrows=false
scroll_min_extent=60
slider_width=2
slider_handle_width=18
slider_handle_length=18
center_toolbar_handle=true
check_size=14
textless_progressbar=false
progressbar_thickness=2
menubar_mouse_tracking=true
toolbutton_style=1
double_click=false
translucent_windows=true
blurring=true
popup_blurring=true
vertical_spin_indicators=false
spin_button_width=32
fill_rubberband=false
merge_menubar_with_toolbar=true
small_icon_size=16
large_icon_size=32
button_icon_size=16
toolbar_icon_size=22
combo_as_lineedit=true
animate_states=false
button_contents_shift=false
combo_menu=true
hide_combo_checkboxes=true
combo_focus_rect=true
groupbox_top_label=true
inline_spin_indicators=false
joined_inactive_tabs=false
layout_spacing=6
layout_margin=9
scrollbar_in_view=true
transient_scrollbar=true
transient_groove=false
submenu_overlap=0
tooltip_delay=-1
tree_branch_line=true
dark_titlebar=true
opaque=QMPlay2,kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
reduce_window_opacity=0
scrollable_menu=false
submenu_delay=250
no_inactiveness=false
no_window_pattern=false
reduce_menu_opacity=0
respect_DE=true
contrast=1.00
dialog_button_layout=0
intensity=1.00
saturation=1.00
[GeneralColors]
window.color=#282828
base.color=#282828
alt.base.color=#282828
button.color=#fbf1c7
light.color=#282828
mid.light.color=#282828
dark.color=#282828
mid.color=#282828
highlight.color=#a89984
inactive.highlight.color=#282828
text.color=#fbf1c7
window.text.color=#fbf1c7
button.text.color=#fbf1c7
disabled.text.color=#d5c4a1
tooltip.text.color=#fbf1c7
highlight.text.color=#ebdbb2
link.color=#fbf1c7
link.visited.color=#7f8c8d
progress.indicator.text.color=#d5c4a1
[Hacks]
transparent_ktitle_label=true
transparent_dolphin_view=true
transparent_pcmanfm_sidepane=true
blur_translucent=true
transparent_menutitle=true
respect_darkness=true
kcapacitybar_as_progressbar=true
force_size_grip=true
iconless_pushbutton=false
iconless_menu=false
disabled_icon_opacity=70
lxqtmainmenu_iconsize=22
normal_default_pushbutton=true
single_top_toolbar=true
tint_on_mouseover=0
transparent_pcmanfm_view=true
middle_click_scroll=false
no_selection_tint=false
opaque_colors=false
scroll_jump_workaround=false
[PanelButtonCommand]
frame=true
frame.element=button
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
interior=true
interior.element=button
indicator.size=8
text.normal.color=#d8dee9
text.focus.color=#d8dee9
text.press.color=#d8dee9
text.toggle.color=#d8dee9
text.shadow=0
text.margin=1
text.iconspacing=4
indicator.element=arrow
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
min_width=+0.3font
min_height=+0.3font
frame.expansion=6
[PanelButtonTool]
inherits=PanelButtonCommand
[Dock]
inherits=PanelButtonCommand
interior.element=dock
frame.element=dock
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
text.normal.color=#d8dee9
[DockTitle]
inherits=PanelButtonCommand
frame=false
interior=false
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.bold=false
[IndicatorSpinBox]
inherits=PanelButtonCommand
frame=true
interior=true
frame.left=1
indicator.element=spin
indicator.size=10
text.normal.color=#d8dee9
[RadioButton]
inherits=PanelButtonCommand
frame=false
interior.element=radio
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
[CheckBox]
inherits=PanelButtonCommand
frame=false
interior.element=checkbox
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
[Focus]
inherits=PanelButtonCommand
frame=true
frame.element=focus
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.patternsize=20
[GenericFrame]
inherits=PanelButtonCommand
frame=true
interior=false
frame.element=common
interior.element=common
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
[LineEdit]
inherits=PanelButtonCommand
frame.element=lineedit
interior.element=lineedit
text.margin.left=0
text.margin.right=0
[DropDownButton]
inherits=PanelButtonCommand
indicator.element=arrow-down
[IndicatorArrow]
indicator.element=arrow
indicator.size=8
[ToolboxTab]
inherits=PanelButtonCommand
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.press.color=#d2d2d4
[Tab]
inherits=PanelButtonCommand
interior.element=tab
text.margin.left=8
text.margin.right=8
text.margin.top=2
text.margin.bottom=2
frame.element=tab
indicator.element=tab
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
text.normal.color=#d8dee9
text.focus.color=#d8dee9
text.toggle.color=#d8dee9
frame.expansion=0
[TabFrame]
inherits=PanelButtonCommand
frame.element=tabframe
interior.element=tabframe
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
[TreeExpander]
inherits=PanelButtonCommand
indicator.size=12
indicator.element=tree
[HeaderSection]
inherits=PanelButtonCommand
interior.element=header
frame.element=header
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
text.bold=false
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.press.color=#d2d2d4
text.toggle.color=#d2d2d4
frame.expansion=0
[SizeGrip]
indicator.element=resize-grip
[Toolbar]
inherits=PanelButtonCommand
indicator.element=toolbar
indicator.size=5
text.margin=0
frame=true
interior.element=menubar
frame.element=menubar
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
frame.left=0
frame.right=0
frame.top=0
frame.bottom=1
frame.expansion=0
[Slider]
inherits=PanelButtonCommand
frame.element=slider
interior.element=slider
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
[SliderCursor]
inherits=PanelButtonCommand
frame=false
interior.element=slidercursor
[Progressbar]
inherits=PanelButtonCommand
frame.element=progress
interior.element=progress
text.margin=0
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.press.color=#d2d2d4
text.toggle.color=#d8dee9
text.bold=false
frame.expansion=8
[ProgressbarContents]
inherits=PanelButtonCommand
frame=true
frame.element=progress-pattern
interior.element=progress-pattern
[ItemView]
inherits=PanelButtonCommand
text.margin=0
frame.element=itemview
interior.element=itemview
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.top=2
text.margin.bottom=2
text.margin.left=4
text.margin.right=4
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.press.color=#d8dee9
text.toggle.color=#d8dee9
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[Splitter]
indicator.size=48
[Scrollbar]
inherits=PanelButtonCommand
indicator.element=arrow
indicator.size=8
[ScrollbarSlider]
inherits=PanelButtonCommand
interior.element=scrollbarslider
interior=true
frame=false
frame.expansion=48
[ScrollbarGroove]
inherits=PanelButtonCommand
interior.element=scrollbargroove
interior=true
frame=false
frame.expansion=48
[MenuItem]
inherits=PanelButtonCommand
frame=true
frame.element=menuitem
interior.element=menuitem
indicator.element=menuitem
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.margin.top=1
text.margin.bottom=1
text.margin.left=4
text.margin.right=4
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
text.bold=false
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[MenuBar]
inherits=PanelButtonCommand
frame.element=menubar
interior.element=menubar
text.normal.color=#d8dee9
frame.bottom=0
frame.expansion=0
[MenuBarItem]
inherits=PanelButtonCommand
interior=true
interior.element=menubaritem
frame.element=menubaritem
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.left=4
text.margin.right=4
text.margin.top=0
text.margin.bottom=0
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
frame.expansion=0
[TitleBar]
inherits=PanelButtonCommand
frame=false
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
interior.element=titlebar
indicator.size=16
indicator.element=mdi
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.bold=true
text.italic=false
frame.expansion=0
[ComboBox]
inherits=PanelButtonCommand
interior.element=combo
frame.element=combo
text.press.color=#d2d2d4
indicator.element=carrow
[Menu]
inherits=PanelButtonCommand
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.element=menu
interior.element=menu
text.normal.color=#d8dee9
text.shadow=false
frame.expansion=0
[GroupBox]
inherits=GenericFrame
frame=false
text.shadow=0
text.margin=0
text.normal.color=#d8dee9
text.focus.color=#c8c8ca
text.bold=true
frame.expansion=0
[TabBarFrame]
inherits=GenericFrame
frame=true
frame.element=tabBarFrame
interior=false
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
[ToolTip]
inherits=GenericFrame
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
interior=true
text.shadow=0
text.margin=0
interior.element=tooltip
frame.element=tooltip
frame.expansion=0
[StatusBar]
inherits=GenericFrame
frame=false
interior=false
interior=false
[Window]
interior=true
interior.element=window

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 223 KiB

View file

@ -1,2 +1,2 @@
[General] [General]
theme=gruvbox-fallnn theme=Gruvbox-Dark-Brown

View file

@ -0,0 +1,79 @@
[colors]
draw_bold_text_with_bright_colors = true
# Default colors
[colors.primary]
# hard contrast background = = '#1d2021'
background = '#1d2021'
# soft contrast background = = '#32302f'
foreground = '#ebdbb2'
# Normal colors
[colors.normal]
black = '#282828'
red = '#cc241d'
green = '#98971a'
yellow = '#d79921'
blue = '#458588'
magenta = '#b16286'
cyan = '#689d6a'
white = '#a89984'
# Bright colors
[colors.bright]
black = '#928374'
red = '#fb4934'
green = '#b8bb26'
yellow = '#fabd2f'
blue = '#83a598'
magenta = '#d3869b'
cyan = '#8ec07c'
white = '#ebdbb2'
[cursor]
style = "Underline"
[env]
TERM = "xterm-256color"
[font]
size = 14
[font.bold]
family = "Mononoki Nerd Font"
style = "Bold"
[font.bold_italic]
family = "Mononoki Nerd Font"
style = "Bold Italic"
[font.italic]
family = "Mononoki Nerd Font"
style = "Italic"
[font.normal]
family = "Mononoki Nerd Font"
style = "Regular"
[font.offset]
x = 0
y = 1
[scrolling]
history = 10000
[shell]
program = "/bin/fish"
[window]
dynamic_padding = false
opacity = 0.9
title = "Alacritty"
[window.class]
general = "Alacritty"
instance = "Alacritty"
[window.padding]
x = 5
y = 5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

View file

@ -1,359 +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
# 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 = 30
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "#fb4934"
# 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 = auto
# 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.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = mononoki Nerd Font 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
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = center
# 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
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked 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 = left
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### 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/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox
# 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
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
### 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
### mouse
# Defines action of mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
mouse_left_click = do_action
mouse_middle_click = close_all
mouse_right_click = close_current
# 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
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282828"
foreground = "#ebdbd2"
timeout = 5
# Icon for notifications with low urgency, uncomment to enable
icon = /home/drk/.config/dunst/normal.png
[urgency_normal]
background = "#282828"
foreground = "#ebdbd2"
timeout = 5
# Icon for notifications with normal urgency, uncomment to enable
icon = /home/drk/.config/dunst/normal.png
[urgency_critical]
background = "#900000"
foreground = "#ebdbd2"
frame_color = "#ff0000"
timeout = 5
# Icon for notifications with critical urgency, uncomment to enable
icon = /home/drk/.config/dunst/critical.png
# 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 (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# timeout
# urgency
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# 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.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[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
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = 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
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -15,7 +15,7 @@ set -U fish_user_paths $HOME/.bin $HOME/.local/bin /var/lib/flatpak/exports/bin
set fish_greeting # Supresses fish's intro message set fish_greeting # Supresses fish's intro message
set TERM "xterm-256color" # Sets the terminal type set TERM "xterm-256color" # Sets the terminal type
set EDITOR "~/.local/bin/lvim" set EDITOR "~/.local/bin/lvim"
set VISUAL "neovide --neovim-bin ~/.local/bin/lvim" set VISUAL "alacritty --class editor -e ~/.local/bin/lvim"
### SET BAT AS MANPAGER ### SET BAT AS MANPAGER
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'" set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
@ -125,26 +125,30 @@ alias .3='cd ../../..'
alias .4='cd ../../../..' alias .4='cd ../../../..'
alias .5='cd ../../../../..' alias .5='cd ../../../../..'
# emacs as vim # use lunarvim or neovim for vim if present.
alias vim="~/.local/bin/lvim" if test -x "$HOME/.local/bin/lvim"
alias vim "$HOME/.local/bin/lvim"
else if test -x (command -v nvim)
alias vim "nvim"
end
# bat as cat # bat as cat
alias cat='bat' if test -x (command -v bat)
alias cat "bat"
end
# Changing "ls" to "exa" # Changing "ls" to "eza"
alias ls='exa -al --color=always --group-directories-first' # my preferred listing alias ls='eza -al --color=always --group-directories-first' # my preferred listing
alias la='exa -a --color=always --group-directories-first' # all files and dirs alias la='eza -a --color=always --group-directories-first' # all files and dirs
alias ll='exa -l --color=always --group-directories-first' # long format alias ll='eza -l --color=always --group-directories-first' # long format
alias lt='exa -aT --color=always --group-directories-first' # tree listing alias lt='eza -aT --color=always --group-directories-first' # tree listing
alias l.='exa -a | egrep "^\."' alias l.='eza -a | egrep "^\."'
# package management # package management
alias pac-up='paru -Syu' alias pkg-update="sudo dnf update"
alias pac-get='paru -S' alias pkg-install="sudo dnf install"
alias pac-rmv='paru -Rcns' alias pkg-remove="sudo dnf remove"
alias pac-rmv-sec='paru -R' alias pkg-search="sudo dnf search"
alias pac-qry='paru -Ss'
alias pac-cln='paru -Scc && paru -Rns (pacman -Qtdq)'
# Colorize grep output (good for log files) # Colorize grep output (good for log files)
alias grep='grep --color=auto' alias grep='grep --color=auto'
@ -153,7 +157,6 @@ alias fgrep='fgrep --color=auto'
# file management # file management
alias fm="vifm" alias fm="vifm"
alias file="vifm"
alias flm="vifm" alias flm="vifm"
alias cp='cp -iv' alias cp='cp -iv'
alias mv='mv -iv' alias mv='mv -iv'
@ -184,17 +187,18 @@ alias psmem='ps auxf | sort -nr -k 4'
alias pscpu='ps auxf | sort -nr -k 3' alias pscpu='ps auxf | sort -nr -k 3'
# git # git
alias addup='git add -u' alias git-adu='git add -u'
alias addall='git add .' alias git-adl='git add .'
alias branch='git branch' alias git-brn='git branch'
alias checkout='git checkout' alias git-chk='git checkout'
alias clone='git clone' alias git-cln='git clone'
alias commit='git commit -m' alias git-cmt='git commit -m'
alias fetch='git fetch' alias git-fth='git fetch'
alias pull='git pull origin' alias git-pll='git pull origin'
alias push='git push origin' alias git-psh='git push origin'
alias tag='git tag' alias git-sts='git status'
alias newtag='git tag -a' alias git-tag='git tag'
alias git-ntg='git tag -a'
# power management # power management
alias po='systemctl poweroff' alias po='systemctl poweroff'

View file

@ -0,0 +1,77 @@
font=Mononoki Nerd Font:size=09
prompt=" "
icon-theme=gruvbox-dark-icons-gtk
icons-enabled=yes
password-character=*
fuzzy=yes
terminal=wezterm start
lines=20
width=70
inner-pad=12
vertical-pad=24
horizontal-pad=32
layer= top
exit-on-keyboard-focus-loss=yes
[colors]
background=1d2021ff
text=ebdbb2ff
match=8ec07cff
selection-match=1d2021ff
selection=cc241dff
selection-text=ebdbb2ff
border=cc241dff
[border]
width=2
radius=0
[dmenu]
mode=text
exit-immediately-if-empty=no
[key-bindings]
# cancel=Escape Control+g
# execute=Return KP_Enter Control+y
# execute-or-next=Tab
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete KP_Delete Control+d
# delete-next-word=Mod1+d Control+Delete Control+KP_Delete
# delete-line=Control+k
# prev=Up Control+p
# prev-with-wrap=ISO_Left_Tab
# prev-page=Page_Up KP_Page_Up
# next=Down Control+n
# next-with-wrap=none
# next-page=Page_Down KP_Page_Down
# custom-N: *dmenu mode only*. Like execute, but with a non-zero
# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
# with 12, and so on.
# custom-1=Mod1+1
# custom-2=Mod1+2
# custom-3=Mod1+3
# custom-4=Mod1+4
# custom-5=Mod1+5
# custom-6=Mod1+6
# custom-7=Mod1+7
# custom-8=Mod1+8
# custom-9=Mod1+9
# custom-10=Mod1+0
# custom-11=Mod1+exclam
# custom-12=Mod1+at
# custom-13=Mod1+numbersign
# custom-14=Mod1+dollar
# custom-15=Mod1+percent
# custom-16=Mod1+dead_circumflex
# custom-17=Mod1+ampersand
# custom-18=Mod1+asterix
# custom-19=Mod1+parentleft

View file

@ -0,0 +1,314 @@
#!/usr/bin/env bash
# __ _ _ _ _ _ _
# _ __ ___ / _(_) | |__ | |_ _ ___| |_ ___ ___ | |_| |__
# | '__/ _ \| |_| |_____| '_ \| | | | |/ _ \ __/ _ \ / _ \| __| '_ \
# | | | (_) | _| |_____| |_) | | |_| | __/ || (_) | (_) | |_| | | |
# |_| \___/|_| |_| |_.__/|_|\__,_|\___|\__\___/ \___/ \__|_| |_|
#
# Author: Nick Clyde (clydedroid)
#
# A script that generates a rofi menu that uses bluetoothctl to
# connect to bluetooth devices and display status info.
#
# Inspired by networkmanager-dmenu (https://github.com/firecat53/networkmanager-dmenu)
# Thanks to x70b1 (https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/system-bluetooth-bluetoothctl)
#
# Depends on:
# Arch repositories: rofi, bluez-utils (contains bluetoothctl)
# Constants
divider="---------"
goback="Back"
# Checks if bluetooth controller is powered on
power_on() {
if bluetoothctl show | grep -q "Powered: yes"; then
return 0
else
return 1
fi
}
# Toggles power state
toggle_power() {
if power_on; then
bluetoothctl power off
show_menu
else
if rfkill list bluetooth | grep -q 'blocked: yes'; then
rfkill unblock bluetooth && sleep 3
fi
bluetoothctl power on
show_menu
fi
}
# Checks if controller is scanning for new devices
scan_on() {
if bluetoothctl show | grep -q "Discovering: yes"; then
echo "Scan: on"
return 0
else
echo "Scan: off"
return 1
fi
}
# Toggles scanning state
toggle_scan() {
if scan_on; then
kill $(pgrep -f "bluetoothctl scan on")
bluetoothctl scan off
show_menu
else
bluetoothctl scan on &
echo "Scanning..."
sleep 5
show_menu
fi
}
# Checks if controller is able to pair to devices
pairable_on() {
if bluetoothctl show | grep -q "Pairable: yes"; then
echo "Pairable: on"
return 0
else
echo "Pairable: off"
return 1
fi
}
# Toggles pairable state
toggle_pairable() {
if pairable_on; then
bluetoothctl pairable off
show_menu
else
bluetoothctl pairable on
show_menu
fi
}
# Checks if controller is discoverable by other devices
discoverable_on() {
if bluetoothctl show | grep -q "Discoverable: yes"; then
echo "Discoverable: on"
return 0
else
echo "Discoverable: off"
return 1
fi
}
# Toggles discoverable state
toggle_discoverable() {
if discoverable_on; then
bluetoothctl discoverable off
show_menu
else
bluetoothctl discoverable on
show_menu
fi
}
# Checks if a device is connected
device_connected() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Connected: yes"; then
return 0
else
return 1
fi
}
# Toggles device connection
toggle_connection() {
if device_connected "$1"; then
bluetoothctl disconnect "$1"
device_menu "$device"
else
bluetoothctl connect "$1"
device_menu "$device"
fi
}
# Checks if a device is paired
device_paired() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Paired: yes"; then
echo "Paired: yes"
return 0
else
echo "Paired: no"
return 1
fi
}
# Toggles device paired state
toggle_paired() {
if device_paired "$1"; then
bluetoothctl remove "$1"
device_menu "$device"
else
bluetoothctl pair "$1"
device_menu "$device"
fi
}
# Checks if a device is trusted
device_trusted() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Trusted: yes"; then
echo "Trusted: yes"
return 0
else
echo "Trusted: no"
return 1
fi
}
# Toggles device connection
toggle_trust() {
if device_trusted "$1"; then
bluetoothctl untrust "$1"
device_menu "$device"
else
bluetoothctl trust "$1"
device_menu "$device"
fi
}
# Prints a short string with the current bluetooth status
# Useful for status bars like polybar, etc.
print_status() {
if power_on; then
printf ''
paired_devices_cmd="devices Paired"
# Check if an outdated version of bluetoothctl is used to preserve backwards compatibility
if (( $(echo "$(bluetoothctl version | cut -d ' ' -f 2) < 5.65" | bc -l) )); then
paired_devices_cmd="paired-devices"
fi
mapfile -t paired_devices < <(bluetoothctl "$paired_devices_cmd" | grep Device | cut -d ' ' -f 2)
counter=0
for device in "${paired_devices[@]}"; do
if device_connected "$device"; then
device_alias=$(bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-)
if [ $counter -gt 0 ]; then
printf ", %s" "$device_alias"
else
printf " %s" "$device_alias"
fi
((counter++))
fi
done
printf "\n"
else
echo ""
fi
}
# A submenu for a specific device that allows connecting, pairing, and trusting
device_menu() {
device=$1
# Get device name and mac address
device_name=$(echo "$device" | cut -d ' ' -f 3-)
mac=$(echo "$device" | cut -d ' ' -f 2)
# Build options
if device_connected "$mac"; then
connected="Connected: yes"
else
connected="Connected: no"
fi
paired=$(device_paired "$mac")
trusted=$(device_trusted "$mac")
options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit"
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $RUNNER -i -l 8 -p "$device_name")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$connected")
toggle_connection "$mac"
;;
"$paired")
toggle_paired "$mac"
;;
"$trusted")
toggle_trust "$mac"
;;
"$goback")
show_menu
;;
esac
}
# Opens a rofi menu with current bluetooth status and options to connect
show_menu() {
# Get menu options
if power_on; then
power="Power: on"
# Human-readable names of devices, one per line
# If scan is off, will only list paired devices
devices=$(bluetoothctl devices | grep Device | cut -d ' ' -f 3-)
# Get controller flags
scan=$(scan_on)
pairable=$(pairable_on)
discoverable=$(discoverable_on)
# Options passed to rofi
options="$devices\n$divider\n$power\n$scan\n$pairable\n$discoverable\nExit"
else
power="Power: off"
options="$power\nExit"
fi
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $RUNNER -i -l 7 -p "[ Bluetooth]  ")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$power")
toggle_power
;;
"$scan")
toggle_scan
;;
"$discoverable")
toggle_discoverable
;;
"$pairable")
toggle_pairable
;;
*)
device=$(bluetoothctl devices | grep "$chosen")
# Open a submenu if a device is selected
if [[ $device ]]; then device_menu "$device"; fi
;;
esac
}
case "$1" in
--status)
print_status
;;
*)
show_menu
;;
esac

View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# clipboard script
cliphist list | $RUNNER -l 10 -p "[󱉧 Clipboard]  " | cliphist decode | wl-copy

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,96 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple power menu script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, power-profiles-daemon, swaylock
#
#######################
## Main manu options ##
#######################
option1=" Logout"
option2=" Reboot"
option3=" Power off"
option4="󰒲 Suspend"
option5=" Lock"
option6=" Change power profile"
option7=" Exit"
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7"
####################################
## Power profiles submenu options ##
####################################
pwr1="󰓅 Performance"
pwr2="󰾅 Balanced"
pwr3="󰾆 Power Saver"
pwr4=" Cancel"
pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
#####
## This variable will store the current power profile
#####
currentpwr=$(powerprofilesctl get)
##########
## main ##
##########
action=$(echo -e "$options" | $RUNNER -i -l 7 -p "[ Power Options] ") # main menu prompt
case "$action" in
"$option1")
pkill Hyprland;
;;
"$option2")
systemctl reboot;
;;
"$option3")
systemctl poweroff;
;;
"$option4")
systemctl suspend;
;;
"$option5")
"$HOME/.config/hypr/scripts/lock";
;;
"$option6")
#####
## These conditions will be used for the prompt
#####
if [ "$currentpwr" = "performance" ]; then
currentpwr="$pwr1";
elif [ "$currentpwr" = "balanced" ]; then
currentpwr="$pwr2";
elif [ "$currentpwr" = "power-saver" ]; then
currentpwr="$pwr3";
fi
pwraction=$(echo -e "$pwrs" | $RUNNER -l 6 -i -p "[ Power Profile Menu - Currently set to: $currentpwr] ") # power profiles submenu prompt
case "$pwraction" in
"$pwr1")
if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance
notify-send "The power profile is already set to performance";
exit 1;
else
powerprofilesctl set performance && notify-send "Power profile switched to performance"; # if not, set the powerprofile to performance
fi
;;
"$pwr2")
if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced
notify-send "The power profile is already set to balanced";
exit 1;
else
powerprofilesctl set balanced && notify-send "Power profile switched to balanced"; # if not, set the powerprofile to balanced
fi
;;
"$pwr3")
if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver
notify-send "The power profile is already set to power saver";
exit 1;
else
powerprofilesctl set power-saver && notify-send "Power profile switched to power saver"; # if not, set the powerprofile to power saver
fi
;;
"$pwr4")
exit 0;
esac;;
"$option7")
exit 0;
esac

View file

@ -0,0 +1,207 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple screenshot menu script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, wayshot, slurp, wf-recorder
###########################
## Screenshots Directory ##
###########################
SHOTDIR="$XDG_PICTURES_DIR/Screenshots"
[ ! -d "$SHOTDIR" ] && mkdir -p "$SHOTDIR" || echo
#######################
## Main menu choices ##
#######################
mcho1="󱣴 Entire screen"
mcho2="󱎫 Entire screen with delay"
mcho3="󱕻 Select region"
mcho4="󰖯 Active window"
mcho5="󱎘 Exit"
mchos="$mcho1\n$mcho2\n$mcho3\n$mcho4\n$mcho5"
########################
## Screenshot submenu ##
########################
sscho1="󰆏 Copy to clipboard"
sscho2="󰠘 Save to $XDG_PICTURES_DIR"
sscho3="󱎘 Exit"
sschos="$sscho1\n$sscho2\n$sscho3"
#################################
## Screenshot delay subsubmenu ##
#################################
del1="󱑀 3 sec delay"
del2="󱑂 5 sec delay"
del3="󱑇 10 sec delay"
del4="󱎘 Exit"
dels="$del1\n$del2\n$del3\n$del4"
#####
## This function uses the sschos variable
## to ask the user what to do with the
## screenshot
#####
## param: none
## return: string
#####
fsschos() {
sschoice=$(echo -e "$sschos" | $RUNNER -i -l 4 -p "[ What do you want to do with this screenshot?]")
}
#####
## This function uses the dels variable
## to ask the user which delay option to
## choose
#####
## param: none
## return: string
#####
fdel() {
del=$(echo -e "$dels" | $RUNNER -l 5 -i -p "[ Select Delay]")
}
#####
## This function does a full screen
## screenshot without delay, depending on
## what the user chooses on the fsschos
## function, the screenshot will be saved
## to the clipboard or to $SHOTDIR
#####
## param: none
## return: void
#####
shot_screen() {
fsschos
if [ "$sschoice" = "$sscho1" ]; then
sleep 0.5 && wayshot --stdout | wl-copy && notify-send "Screenshot copied to clipboard"
elif [ "$sschoice" = "$sscho2" ]; then
sleep 0.5 && wayshot -f "$SHOTDIR/$(date +%s).jpg" && notify-send "Screenshot saved to $SHOTDIR"
else
exit 0
fi
}
#####
## This function does a full screen
## screenshot with delay, depending on
## what the user chooses on the fsschos
## function, the screenshot will be saved
## to the clipboard or to $SHOTDIR. And
## depending on what the user chooses on
## the fdel function, the delay will be
## between 3 and 10 seconds
#####
## param: none
## return: void
#####
shot_screen_delay() {
fsschos;
if [ "$sschoice" = "$sscho1" ]; then
fdel;
case $del in
"$del1")
sleep 3 && wayshot --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
;;
"$del2")
sleep 5 && wayshot --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
;;
"$del3")
sleep 10 && wayshot --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
;;
"$del4")
exit 0;
esac
elif [ "$sschoice" = "$sscho2" ]; then
fdel;
case $del in
"$del1")
sleep 3 && wayshot -f "$SHOTDIR/$(date +%s)" && notify-send "Screenshot saved to $SHOTDIR";
;;
"$del2")
sleep 5 && wayshot -f "$SHOTDIR/$(date +%s)" && notify-send "Screenshot saved to $SHOTDIR";
;;
"$del3")
sleep 10 && wayshot -f "$SHOTDIR/$(date +%s)" && notify-send "Screenshot saved to $SHOTDIR";
;;
"$del4")
exit 0;
esac
else
exit 0
fi
}
#####
## This function allows the user to select
## the area on screen to screenshot
## depending on what the user chooses on
## the fsschos function, the screenshot
## will be saved to the clipboard or to
## $SHOTDIR
#####
## param: none
## return: void
#####
shot_area() {
fsschos;
if [ "$sschoice" = "$sscho1" ]; then
sleep 0.5 && wayshot -s "$(slurp)" --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
elif [ "$sschoice" = "$sscho2" ]; then
sleep 0.5 && wayshot -f "$SHOTDIR/$(date +%s).jpg" && notify-send "Screenshot saved to $SHOTDIR";
else
exit 0
fi
}
#####
## This function does an screnshot of the
## currently active window, depending on
## what the user chooses on the fsschos
## function, the screenshot will be saved
## to the clipboard or to $SHOTDIR
#####
## param: none
## return: void
#####
shot_window() {
fsschos;
if [ "$sschoice" = "$sscho1" ]; then
wayshot -s "$(hyprctl activewindow -j | jq -c -r '.at,.size | .[]' | tr '\n' ' ')" --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
elif [ "$sschoice" = "$sscho2" ]; then
wayshot -s "$(hyprctl activewindow -j | jq -c -r '.at,.size | .[]' | tr '\n' ' ')" --stdout -f "$SHOTDIR/$(date +%s).jpg" && notify-send "Screenshot saved to $SHOTDIR";
else
exit 0
fi
}
# show the help output with --help or -h arguments
if [ "$1" == '--help' ] || [ "$1" = '-h' ]; then
echo "rs-scrot"
echo "USAGE: rs-scrot [OPTION]"
echo -e "(no option)\tshow the screenshot menu"
echo -e "-h, --help\tthis screen"
exit 1
fi
##########
## main ##
##########
mchoice=$(echo -e "$mchos" | $RUNNER -i -l 5 -p "[ Screenshot Utility]") # main menu prompt
case $mchoice in
"$mcho1")
shot_screen;
;;
"$mcho2")
shot_screen_delay;
;;
"$mcho3")
shot_area;
;;
"$mcho4")
shot_window;
;;
"$mcho5")
exit 0
esac

View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple wallpaper changer script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, fd, swaybg
## WALLPAPER DIRECTORY ##
walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours
## SELECT PICTURE ##
cd "$walldir" || exit 1
wallpaper=$(fd -p "$walldir" | $RUNNER -l 5 -i -p "[󰋩 Wallpaper Selector]  ")
if [ -n "$wallpaper" ]; then
swww img "$wallpaper"
else
exit 0
fi
exit 0

View file

@ -0,0 +1,150 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple wifi script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, NetworkManager, io.elementary.capnet-assist
#######################
## Main manu options ##
#######################
option1=" Turn on WiFi"
option2=" Turn off WiFi"
option3="󱛅 Disconnect WiFi"
option4="󱛃 Connect WiFi"
option5="󱛆 Setup captive portal"
option6=" Exit"
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
#####
## These variables will store specific
## information about the wireless
## interface
#####
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
read -r wlan constate <<< "$wifi_info"
#####
## This function uses nmcli to turn
## off wifi and then sends a
## notification
#####
## param: none
## return: void
#####
turnoff() {
nmcli radio wifi off && notify-send "WiFi has been turned off";
}
#####
## This function uses nmcli to turn
## on wifi and then sends a
## notification
#####
## param: none
## return: void
#####
turnon() {
nmcli radio wifi on && notify-send "WiFi has been turned on";
}
#####
## This function uses nmcli and the
## $wlan and $constate variables to
## disconnect from the wifi network
## and then sends a notification
#####
## param: none
## return: void
#####
disconnect() {
if [ "$constate" = "disconnected" ]; then
notify-send "WiFi is already disconnected";
elif [ "$constate" = "connected" ]; then
nmcli device disconnect "$wlan" && notify-send "Wifi has been disconnected";
else
exit 1;
fi
}
#####
## This function uses nmcli to first scan
## for available networks and then the
## $bssid variable will store the SSID
## of the network that the user chooses
#####
## param: none
## return: string
#####
connect() {
notify-send "Scannig networks..." && nmcli dev wifi rescan;
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | $RUNNER -i -l 10 -p "[ Select a Wifi Network]  ");
bssid=$(echo "$wifinet" | cut -d' ' -f1)
ssid=$(echo "$wifinet" | cut -d' ' -f3)
}
#####
## This function will store the WiFi
## password in the $pass variable
#####
## param: none
## return: string
#####
password() {
if nmcli connection show | grep -q "$ssid"; then # check if the network is already saved
return 0; # no password is required
elif nmcli -f BSSID,SECURITY dev wifi list | sed -n '1!p' | grep "$bssid" | awk '{print $2}' | grep -q -- "--"; then # check if the network is open
return 0; # no password is required
else
pass=$($RUNNER -l 0 --password -p "[Enter Password ]  " );
if [ -n "$pass" ]; then # if the user gave a password
return 0;
else
exit 1; # if not, exit the script
fi
fi
}
#####
## This function will actually connect
## to the chosen WiFi network using the
## $bssid and $pass variables
#####
## param: none
## return: void
#####
action() {
if [ -n "$pass" ]; then # we need to check again if the $pass variable exists
nmcli dev wifi connect "$bssid" password "$pass"
else # if not, that means that the password() function ended in one of the first two conditions, the network is saved or open
nmcli dev wifi connect "$bssid";
fi
}
##########
## main ##
##########
cases=$(echo -e "$options" | $RUNNER -i -l 6 -p "[ Wifi Settings]  " ) # main menu prompt
case "$cases" in
"$option1")
turnon;
;;
"$option2")
turnoff;
;;
"$option3")
disconnect;
;;
"$option4")
if connect; then # if the user chooses a network
password; # this function will exit the script if the user didn't put a password
action;
else
exit 1; # if not, exit the script
fi
;;
"$option5")
io.elementary.capnet-assist;
;;
"$option6")
exit 0;
esac

View file

@ -1,4 +1,4 @@
[user] [user]
mail = misterclay@tutanota.com mail = maverick.xero@proton.me
name = Clay Gomera name = Clay Gomera
email = misterclay@tutanota.com email = maverick.xero@proton.me

View file

@ -1,42 +1,15 @@
############################################################
### ____ __ ###
### / __ \_________ _/ /_____ ###
### / / / / ___/ __ `/ //_/ _ \ ###
### / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) ###
### /_____/_/ \__,_/_/|_|\___/ The Hyprland config ###
### ###
############################################################
################################
### beg_________ ___ ____ ###
### / ___/ __ \/ _ \/ __/ ###
### / /__/ /_/ / , _/ _/ ###
### \___/\____/_/|_/___/ ###
### ###
############# {{{{ #############
# Autostart
## Wayland backend
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
## Polkit agent exec-once = /usr/libexec/xdg-desktop-portal-hyprland
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = /usr/libexec/polkit-gnome/polkit-gnome-authentication-agent-1
## Desktop portals
exec-once = /usr/lib/xdg-desktop-portal
exec-once = /usr/lib/xdg-desktop-portal-hyprland
## Notification daemon
exec-once = dunst --config ~/.config/dunst/dunstrc
## Top bar
exec-once = waybar exec-once = waybar
## Set wallpaper exec-once = mako -c ~/.config/mako/config
exec-once = swww init exec-once = swww init
## Clipboard history exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store #Stores only image data exec-once = $HOME/.config/hypr/scripts/idle
# Monitors
monitor=,preferred,auto,1 monitor=,preferred,auto,1
# Input config
input { input {
kb_layout = us,es kb_layout = us,es
kb_options = grp:shift_caps_toggle kb_options = grp:shift_caps_toggle
@ -47,15 +20,9 @@ input {
disable_while_typing = false disable_while_typing = false
tap-to-click = true tap-to-click = true
} }
sensitivity = -0.2 # -1.0 - 1.0, 0 means no modification. sensitivity = -0.2
} }
# Trackpoint sensitivity
device:tpps/2-elan-trackpoint {
sensitivity = 1.2
}
# Touchpad gestures
gestures { gestures {
workspace_swipe = true workspace_swipe = true
workspace_swipe_numbered = false workspace_swipe_numbered = false
@ -64,7 +31,6 @@ gestures {
workspace_swipe_forever = false workspace_swipe_forever = false
} }
# General config
general { general {
gaps_in = 2 gaps_in = 2
gaps_out = 4 gaps_out = 4
@ -75,7 +41,6 @@ general {
no_focus_fallback = true no_focus_fallback = true
} }
# Decorations
decoration { decoration {
blur { blur {
enabled = true enabled = true
@ -85,24 +50,20 @@ decoration {
noise = 0.2 noise = 0.2
brightness = 0.8 brightness = 0.8
} }
rounding = 0 # Rounded corners rounding = 0
drop_shadow = yes drop_shadow = yes
shadow_range = 5 shadow_range = 5
shadow_render_power = 3 shadow_render_power = 3
col.shadow = rgba(1a1a1aee) col.shadow = rgba(1a1a1aee)
} }
# Animations
animations { animations {
enabled = yes enabled = yes
bezier = linear,0,0,1,1 bezier = linear,0,0,1,1
# window creation
animation = windowsIn,1, 3,default,popin animation = windowsIn,1, 3,default,popin
animation = fadeIn,1, 3,default animation = fadeIn,1, 3,default
# window destruction
animation = windowsOut,1, 3,default,popin animation = windowsOut,1, 3,default,popin
animation = fadeOut,1, 3,default animation = fadeOut,1, 3,default
# window movement
animation = windowsMove,1, 3,default,popin animation = windowsMove,1, 3,default,popin
animation = border, 1, 2, linear animation = border, 1, 2, linear
animation = borderangle, 1, 25, linear, loop animation = borderangle, 1, 25, linear, loop
@ -110,94 +71,65 @@ animations {
animation = workspaces, 1, 4, default, slide animation = workspaces, 1, 4, default, slide
} }
# Layouts
## Dwindle layout
dwindle { dwindle {
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = yes
preserve_split = yes # you probably want this preserve_split = yes
} }
## Master & stack layout
master { master {
no_gaps_when_only = false no_gaps_when_only = false
new_is_master = false new_is_master = false
mfact = 0.50 mfact = 0.50
} }
# Misc config
misc { misc {
disable_hyprland_logo = true disable_hyprland_logo = true
disable_splash_rendering = true disable_splash_rendering = true
mouse_move_enables_dpms = true mouse_move_enables_dpms = true
enable_swallow = true enable_swallow = true
swallow_regex = ^(wezterm)$ swallow_regex = ^(alacritty)$
hide_cursor_on_touch = true hide_cursor_on_touch = true
mouse_move_focuses_monitor = true mouse_move_focuses_monitor = true
} }
################################
### end_________ ___ ____ ###
### / ___/ __ \/ _ \/ __/ ###
### / /__/ /_/ / , _/ _/ ###
### \___/\____/_/|_/___/ ###
### ###
############# }}}} #############
###################################
### beg___ __ ____ ________ ###
### / _ \/ / / / / / __/ __/ ###
### / , _/ /_/ / /__/ _/_\ \ ###
### /_/|_|\____/____/___/___/ ###
### ###
############## {{{{ ###############
# Window rules
windowrule = float, ^(qalculate-gtk)$ windowrule = float, ^(qalculate-gtk)$
## Workspace 1 - Editors
windowrule = workspace 1, ^(neovim)$ windowrule = workspace 1, ^(neovim)$
windowrule = workspace 1, ^(goneovim)$ windowrule = workspace 1, ^(goneovim)$
windowrule = workspace 1, ^(Code)$ windowrule = workspace 1, ^(Code)$
windowrule = workspace 1, ^(emacs)$ windowrule = workspace 1, ^(emacs)$
windowrule = workspace 1, ^(neovide)$ windowrule = workspace 1, ^(neovide)$
## Workspace 2 - Debug/Test Tools
windowrule = workspace 2, ^(gnome-boxes)$ windowrule = workspace 2, ^(gnome-boxes)$
windowrule = workspace 2, ^(virt-manager)$ windowrule = workspace 2, ^(virt-manager)$
## Workspace 2 - File management
windowrule = workspace 3, ^(file_manager)$ windowrule = workspace 3, ^(file_manager)$
windowrule = workspace 3, ^(pcmanfm)$ windowrule = workspace 3, ^(pcmanfm)$
## Workspace 4 - Web
windowrule = workspace 4, ^(org.qutebrowser.qutebrowser)$ windowrule = workspace 4, ^(org.qutebrowser.qutebrowser)$
windowrule = workspace 4, ^(firefox)$ windowrule = workspace 4, ^(org.mozilla.firefox)$
windowrule = workspace 4, ^(LibreWolf)$ windowrule = workspace 4, ^(LibreWolf)$
windowrule = workspace 4, ^(Chromium)$ windowrule = workspace 4, ^(Chromium)$
windowrule = workspace 4, ^(Brave-browser)$ windowrule = workspace 4, ^(Brave-browser)$
## Workspace 5 - Chat
windowrule = workspace 5, ^(gomuks)$ windowrule = workspace 5, ^(gomuks)$
windowrule = workspace 5, ^(Signal)$ windowrule = workspace 5, ^(Signal)$
windowrule = workspace 5, ^(revolt-desktop)$ windowrule = workspace 5, ^(revolt-desktop)$
windowrule = workspace 5, ^(Element)$ windowrule = workspace 5, ^(Element)$
## Workspace 6 - Mail
windowrule = workspace 6, ^(tutanota-desktop)$ windowrule = workspace 6, ^(tutanota-desktop)$
windowrule = workspace 6, ^(thunderbird)$ windowrule = workspace 6, ^(thunderbird)$
## Workspace 7 - News
windowrule = workspace 7, ^(newsboat)$ windowrule = workspace 7, ^(newsboat)$
windowrule = workspace 7, ^(org.kde.akregator)$ windowrule = workspace 7, ^(org.kde.akregator)$
windowrule = workspace 7, ^(io.gitlab.news_flash.NewsFlash)$ windowrule = workspace 7, ^(io.gitlab.news_flash.NewsFlash)$
windowrule = workspace 7, ^(liferea)$ windowrule = workspace 7, ^(liferea)$
windowrule = workspace 7, ^(io.github.martinrotter.rssguard)$ windowrule = workspace 7, ^(io.github.martinrotter.rssguard)$
## Workspace 8 - Mastodon
windowrule = workspace 8, ^(tut)$ windowrule = workspace 8, ^(tut)$
windowrule = workspace 8, ^(org.kde.tokodon)$ windowrule = workspace 8, ^(org.kde.tokodon)$
## Workspace 9 - Audio
windowrule = workspace 9, ^(music_player)$ windowrule = workspace 9, ^(music_player)$
windowrule = workspace 9, ^(ytfzf_music)$ windowrule = workspace 9, ^(ytfzf_music)$
windowrule = workspace 9, ^(audacity)$ windowrule = workspace 9, ^(audacity)$
@ -212,7 +144,6 @@ windowrule = workspace 9, ^(org.rncbc.qpwgraph)$
windowrule = workspace 9, ^(soundconverter)$ windowrule = workspace 9, ^(soundconverter)$
windowrule = workspace 9, ^(kid3-qt)$ windowrule = workspace 9, ^(kid3-qt)$
## Workspace 10 - Video
windowrule = workspace 10, ^(pitivi)$ windowrule = workspace 10, ^(pitivi)$
windowrule = workspace 10, ^(org.kde.kdenlive)$ windowrule = workspace 10, ^(org.kde.kdenlive)$
windowrule = workspace 10, ^(mpv)$ windowrule = workspace 10, ^(mpv)$
@ -223,7 +154,6 @@ windowrule = workspace 10, ^(blender)$
windowrule = workspace 10, ^(com.obsproject.Studio)$ windowrule = workspace 10, ^(com.obsproject.Studio)$
windowrule = workspace 10, ^(fr.handbrake.ghb)$ windowrule = workspace 10, ^(fr.handbrake.ghb)$
## Workspace 11 - Graphics
windowrule = workspace 11, ^(org.inkscape.Inkscape)$ windowrule = workspace 11, ^(org.inkscape.Inkscape)$
windowrule = workspace 11, ^(Gimp-2.10)$ windowrule = workspace 11, ^(Gimp-2.10)$
windowrule = workspace 11, ^(xournalpp)$ windowrule = workspace 11, ^(xournalpp)$
@ -231,7 +161,6 @@ windowrule = workspace 11, ^(krita)$
windowrule = workspace 11, ^(darktable)$ windowrule = workspace 11, ^(darktable)$
windowrule = workspace 11, ^(org.kde.digikam)$ windowrule = workspace 11, ^(org.kde.digikam)$
## Workspace 12 - Office
windowrule = workspace 12, ^(libreoffice-writer)$ windowrule = workspace 12, ^(libreoffice-writer)$
windowrule = workspace 12, ^(libreoffice-calc)$ windowrule = workspace 12, ^(libreoffice-calc)$
windowrule = workspace 12, ^(libreoffice-impress)$ windowrule = workspace 12, ^(libreoffice-impress)$
@ -242,10 +171,8 @@ windowrule = workspace 12, ^(soffice)$
windowrule = workspace 12, ^(GeoGebra)$ windowrule = workspace 12, ^(GeoGebra)$
windowrule = workspace 12, ^(Notesnook)$ windowrule = workspace 12, ^(Notesnook)$
## Workspace 13 - PDF Readers
windowrule = workspace 13, ^(org.pwmt.zathura)$ windowrule = workspace 13, ^(org.pwmt.zathura)$
## Workspace 14 - Games
windowrule = workspace 14, ^(org.libretro.RetroArch)$ windowrule = workspace 14, ^(org.libretro.RetroArch)$
windowrule = workspace 14, ^(com.github.tkashkin.gamehub)$ windowrule = workspace 14, ^(com.github.tkashkin.gamehub)$
windowrule = workspace 14, ^(DarkPlaces)$ windowrule = workspace 14, ^(DarkPlaces)$
@ -254,85 +181,48 @@ windowrule = workspace 14, ^(wesnoth)$
windowrule = workspace 14, ^(Steam)$ windowrule = workspace 14, ^(Steam)$
windowrule = workspace 14, ^(Minetest)$ windowrule = workspace 14, ^(Minetest)$
# Workspace 15 - Password Manager
windowrule = workspace 15, ^(org.keepassxc.KeePassXC)$ windowrule = workspace 15, ^(org.keepassxc.KeePassXC)$
# Workspace 16 - Audio Tools
windowrule = workspace 16, ^(pulsemixer)$ windowrule = workspace 16, ^(pulsemixer)$
windowrule = workspace 16, ^(alsamixer)$ windowrule = workspace 16, ^(alsamixer)$
windowrule = workspace 16, ^(com.github.wwmm.easyeffects)$ windowrule = workspace 16, ^(com.github.wwmm.easyeffects)$
## Workspace 19 - System Monitor
windowrule = workspace 19, ^(btop)$ windowrule = workspace 19, ^(btop)$
windowrule = workspace 19, ^(htop)$ windowrule = workspace 19, ^(htop)$
## Workspace 20 - Tools
windowrule = workspace 20, ^(wdisplays)$ windowrule = workspace 20, ^(wdisplays)$
windowrule = workspace 20, ^(font-manager)$ windowrule = workspace 20, ^(font-manager)$
windowrule = workspace 20, ^(org.qbittorrent.qBittorrent)$ windowrule = workspace 20, ^(org.qbittorrent.qBittorrent)$
###################################
### end___ __ ____ ________ ###
### / _ \/ / / / / / __/ __/ ###
### / , _/ /_/ / /__/ _/_\ \ ###
### /_/|_|\____/____/___/___/ ###
### ###
############## }}}} ###############
##################################
### beg___ _____ _____ ____ ###
### / _ )/ _/ |/ / _ \/ __/ ###
### / _ |/ // / // /\ \ ###
### /____/___/_/|_/____/___/ ###
### ###
############## {{{{ ##############
# Mod keys variables
$supMod = SUPER $supMod = SUPER
$altMod = ALT $altMod = ALT
$conMod = CONTROL $conMod = CONTROL
# MAIN KEYBINDS bind = $supMod, RETURN, exec, alacritty
bind = $supMod, RETURN, exec, wezterm # Terminal bind = $supMod, q, killactive
bind = $supMod, q, killactive, # Close window bind = $supMod_$conMod_SHIFT, q, exit
bind = $supMod_$conMod_SHIFT, q, exit, # Exit the compositor bind = $supMod, b, exec, pkill waybar || waybar
bind = $supMod, b, exec, pkill waybar || waybar # Hide/Show the top bar bind = $supMod, f, togglefloating
bind = $supMod, f, togglefloating, # Toggle floating mode bind = $supMod, v, fullscreen, 0
bind = $supMod, v, fullscreen, 0 # Toggle full screen mode
#bind = $supMod, P, pseudo, # dwindle
#bind = $supMod, J, togglesplit, # dwindle
# Focus
## Cycle focus with supmod + k,j
bind = $supMod, k, layoutmsg, cyclenext bind = $supMod, k, layoutmsg, cyclenext
bind = $supMod, j, layoutmsg, cycleprev bind = $supMod, j, layoutmsg, cycleprev
## Focus master window
bind = $supMod_SHIFT, RETURN, layoutmsg, focusmaster bind = $supMod_SHIFT, RETURN, layoutmsg, focusmaster
# Layout manipulation
## Swap windows
bind = $supMod_SHIFT, j, layoutmsg, swapnext bind = $supMod_SHIFT, j, layoutmsg, swapnext
bind = $supMod_SHIFT, k, layoutmsg, swapprev bind = $supMod_SHIFT, k, layoutmsg, swapprev
## Swap window with master
bind = $supMod_$conMod, RETURN, layoutmsg, swapwithmaster bind = $supMod_$conMod, RETURN, layoutmsg, swapwithmaster
## Add/remove window to master stack
bind = $supMod, i, layoutmsg, addmaster bind = $supMod, i, layoutmsg, addmaster
bind = $supMod, d, layoutmsg, removemaster bind = $supMod, d, layoutmsg, removemaster
## Change the master orientation
bind = $supMod_SHIFT, l, layoutmsg, orientationnext bind = $supMod_SHIFT, l, layoutmsg, orientationnext
bind = $supMod_SHIFT, h, layoutmsg, orientationprev bind = $supMod_SHIFT, h, layoutmsg, orientationprev
## Window resizing
bind = $supMod, l, resizeactive, 30 0 bind = $supMod, l, resizeactive, 30 0
bind = $supMod, h, resizeactive, -30 0 bind = $supMod, h, resizeactive, -30 0
bind = $supMod_$conMod, j, resizeactive, 0 30 bind = $supMod_$conMod, j, resizeactive, 0 30
bind = $supMod_$conMod, k, resizeactive, 0 -30 bind = $supMod_$conMod, k, resizeactive, 0 -30
# Move/resize windows with supmod + lmb/rmb and dragging
bindm = $supMod, mouse:272, movewindow bindm = $supMod, mouse:272, movewindow
bindm = $supMod, mouse:273, resizewindow bindm = $supMod, mouse:273, resizewindow
# Workspace manipulation
## Switch workspaces with supmod + [0-9]
bind = $supMod, 1, workspace, 1 bind = $supMod, 1, workspace, 1
bind = $supMod, 2, workspace, 2 bind = $supMod, 2, workspace, 2
bind = $supMod, 3, workspace, 3 bind = $supMod, 3, workspace, 3
@ -354,7 +244,6 @@ bind = $supMod_$conMod, 8, workspace, 18
bind = $supMod_$conMod, 9, workspace, 19 bind = $supMod_$conMod, 9, workspace, 19
bind = $supMod_$conMod, 0, workspace, 20 bind = $supMod_$conMod, 0, workspace, 20
## Move active window to a workspace with supmod + shift + [0-9]
bind = $supMod_SHIFT, 1, movetoworkspace, 1 bind = $supMod_SHIFT, 1, movetoworkspace, 1
bind = $supMod_SHIFT, 2, movetoworkspace, 2 bind = $supMod_SHIFT, 2, movetoworkspace, 2
bind = $supMod_SHIFT, 3, movetoworkspace, 3 bind = $supMod_SHIFT, 3, movetoworkspace, 3
@ -376,88 +265,55 @@ bind = $supMod_$conMod_SHIFT, 8, movetoworkspace, 18
bind = $supMod_$conMod_SHIFT, 9, movetoworkspace, 19 bind = $supMod_$conMod_SHIFT, 9, movetoworkspace, 19
bind = $supMod_$conMod_SHIFT, 0, movetoworkspace, 20 bind = $supMod_$conMod_SHIFT, 0, movetoworkspace, 20
## Scroll through existing workspaces with supmod + scroll
bind = $supMod, mouse_down, workspace, e+1 bind = $supMod, mouse_down, workspace, e+1
bind = $supMod, mouse_up, workspace, e-1 bind = $supMod, mouse_up, workspace, e-1
# Scroll through existing workspaces with supmod + arrow keys
bind = $supMod, Right, workspace, e+1 bind = $supMod, Right, workspace, e+1
bind = $supMod, Left, workspace, e-1 bind = $supMod, Left, workspace, e-1
## Move active window through existing workspaces with supmod + arrow keys
bind = $supMod_SHIFT, Left, movetoworkspace, e+1 bind = $supMod_SHIFT, Left, movetoworkspace, e+1
bind = $supMod_SHIFT, Right, movetoworkspace, e-1 bind = $supMod_SHIFT, Right, movetoworkspace, e-1
# XF86 keys bindl=, XF86AudioRaiseVolume, exec, pamixer -i 5
## Media control bindl=, XF86AudioLowerVolume, exec, pamixer -d 5
bindl=, XF86AudioRaiseVolume, exec, pamixer -i 5 # Increase volume by 5% bindl=, XF86AudioMute, exec, pamixer -t
bindl=, XF86AudioLowerVolume, exec, pamixer -d 5 # Decrease volume by 5% bindl=, XF86AudioMicMute, exec, pamixer --default-source -t
bindl=, XF86AudioMute, exec, pamixer -t # Toggle mute bindl=, XF86AudioPause, exec, playerctl play-pause
bindl=, XF86AudioMicMute, exec, pamixer --default-source -t # Toggle microphone mute bindl=, XF86AudioPlay, exec, playerctl play-pause
bindl=, XF86AudioPause, exec, playerctl play-pause # Play/pause bindl=, XF86AudioNext, exec, playerctl next
bindl=, XF86AudioPlay, exec, playerctl play-pause # Play/pause bindl=, XF86AudioPrev, exec, playerctl previous
bindl=, XF86AudioNext, exec, playerctl next # Next song bindl=, XF86AudioStop, exec, playerctl stop
bindl=, XF86AudioPrev, exec, playerctl previous # Previous song bindl=, XF86News, exec, alacritty --class newsboat -e newsboat
bindl=, XF86AudioStop, exec, playerctl stop # Stop playback bindl=, XF86MonBrightnessUp, exec, brightnessctl s 5%+
## News bindl=, XF86MonBrightnessDown, exec, brightnessctl s 5%-
bindl=, XF86News, exec, wezterm start --class newsboat -- newsboat bindl=, XF86Display, exec, wdisplays
## Brightness control
bindl=, XF86MonBrightnessUp, exec, brightnessctl s 5%+ # Increase brightness by 10%
bindl=, XF86MonBrightnessDown, exec, brightnessctl s 5%- # Decrease brightness by 10%
## Display setup
bindl=, XF86Display, exec, wdisplays # Open the display config tool (wdisplays)
# Run launcher scripts binde = $supMod_SHIFT, d, exec, pkill fuzzel || $RUNNER_EX --show drun
binde = $supMod_SHIFT, d, exec, pkill wofi || $RUNNER_EX --show drun # Desktop launcher binde = $supMod_SHIFT, r, exec, pkill fuzzel || $RUNNER_EX --show run
binde = $supMod_SHIFT, r, exec, pkill wofi || $RUNNER_EX --show run # Standard launcher binde = $supMod_SHIFT, w, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_wall
binde = $supMod_SHIFT, w, exec, pkill wofi || $HOME/.local/bin/rs_wall # Wallpaper setup binde = $supMod_SHIFT, i, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_wifi
binde = $supMod_SHIFT, i, exec, pkill wofi || $HOME/.local/bin/rs_wifi # Wifi setup binde = $supMod_SHIFT, e, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_emoji
binde = $supMod_SHIFT, e, exec, pkill wofi || $HOME/.local/bin/rs_emoji # Emoji picker binde = $supMod_SHIFT, c, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_clip
binde = $supMod_SHIFT, s, exec, killall -s SIGINT wf-recorder || pkill wofi || $HOME/.local/bin/rs_scrot # Screenshot tool binde = $supMod_SHIFT, s, exec, killall -s SIGINT wf-recorder || pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_scrot
binde = $supMod_SHIFT, q, exec, pkill wofi || $HOME/.local/bin/rs_power # Power setup binde = $supMod_SHIFT, q, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_power
binde = $supMod_SHIFT, b, exec, pkill wofi || $HOME/.local/bin/rs_blue # Bluetooth setup binde = $supMod_SHIFT, b, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_blue
binde = $supMod_SHIFT, m, exec, pkill wofi || $HOME/.local/bin/rs_mount # External drive mount utility binde = $supMod_SHIFT, m, exec, pkill fuzzel || $HOME/.config/fuzzel/scripts/fuzz_mount
binde = $supMod_SHIFT, c, exec, pkill wofi || cliphist list | $RUNNER -p "  Clipboard " | cliphist decode | wl-copy # Clipboard history
# Color picker
binde = $supMod_$conMod_SHIFT, p, exec, hyprpicker -n -a binde = $supMod_$conMod_SHIFT, p, exec, hyprpicker -n -a
# Quick terminal scripts/commands binde = $supMod_$altMod, r, exec, alacritty --class newsboat -e newsboat
## Workspace 3 - Web binde = $supMod_$altMod, t, exec, alacritty --class tut -e tut
binde = $supMod_$altMod, r, exec, wezterm start --class newsboat -- newsboat # RSS feed reader binde = $supMod_$altMod, m, exec, alacritty --class ytfzf_music -e ytfzf -mlstT chafa
binde = $supMod_$altMod, t, exec, wezterm start --class tut -- tut # Mastodon client binde = $supMod_$altMod, f, exec, alacritty --class flix_cli -e flix-cli
## Workspace 5 - Audio binde = $supMod_$altMod, a, exec, alacritty --class ani_cli -e ani-cli
binde = $supMod_$altMod, m, exec, wezterm start --class ytfzf_music -- ytfzf -mlstT chafa # Listen to YouTube Music on the terminal binde = $supMod_$altMod, y, exec, alacritty --class ytfzf -e ytfzf -flstT chafa
## Workspace 6 - Video binde = $supMod_$altMod, p, exec, alacritty --class pulsemixer -e pulsemixer
binde = $supMod_$altMod, f, exec, wezterm start --class flix_cli -- flix-cli # Watch movies on the terminal binde = $supMod_$altMod, o, exec, alacritty --class alsamixer -e alsamixer
binde = $supMod_$altMod, a, exec, wezterm start --class ani_cli -- ani-cli # Watch anime on the terminal binde = $supMod_$altMod, b, exec, alacritty --class btop -e btop
binde = $supMod_$altMod, y, exec, wezterm start --class ytfzf -- ytfzf -flstT chafa # Watch YouTube on the terminal binde = $supMod_$conMod, m, exec, alacritty --class music_player -e cmus
## Workspace 9 - Extras binde = $supMod_$conMod, f, exec, alacritty --class file_manager -e $HOME/.config/vifm/scripts/vifmrun
binde = $supMod_$altMod, p, exec, wezterm start --class pulsemixer -- pulsemixer # Open the volume mixer (pulsemixer) binde = $supMod_$conMod, w, exec, flatpak run org.mozilla.firefox
binde = $supMod_$altMod, o, exec, wezterm start --class alsamixer -- alsamixer # Open the volume mixer (alsamixer) binde = $supMod_$conMod, e, exec, alacritty --class editor -e $HOME/.local/bin/lvim
binde = $supMod_$altMod, b, exec, wezterm start --class btop -- btop # Open the system monitor (btop) binde = $supMod_$conMod, c, exec, flatpak run org.signal.Signal
binde = $supMod_$altMod, h, exec, wezterm start --class htop -- htop # Open the system monitor (htop) binde = $supMod_$conMod, g, exec, flatpak run org.libretro.Retroarch
binde = $supMod_$conMod, p, exec, flatpak run com.bitwarden.desktop
# Main apps
## Workspace 1 - Web
binde = $supMod_$conMod, w, exec, firefox
## Workspace 2 - File management
binde = $supMod_$conMod, f, exec, wezterm start --class file_manager -- vifm
## Workspace 3 - Editors
binde = $supMod_$conMod, e, exec, neovide --neovim-bin $HOME/.local/bin/lvim
## Workspace 4 - Chat
binde = $supMod_$conMod, c, exec, signal-desktop
## Workspace 5 - Audio
binde = $supMod_$conMod, m, exec, wezterm start --class music_player -- cmus
## Workspace 9 - Games
binde = $supMod_$conMod, g, exec, retroarch
## Workspace 10 - Extras
binde = $supMod_$conMod, p, exec, keepassxc
##################################
### end___ _____ _____ ____ ###
### / _ )/ _/ |/ / _ \/ __/ ###
### / _ |/ // / // /\ \ ###
### /____/___/_/|_/____/___/ ###
### ###
############## {{{{ ##############

7
user/.config/hypr/scripts/idle Executable file
View file

@ -0,0 +1,7 @@
#!/bin/bash
swayidle -w \
timeout 300 "$HOME/.config/hypr/scripts/lock" \
timeout 600 "hyprctl dispatch dpms off" \
resume "hyprctl dispatch dpms on" \
before-sleep "$HOME/.config/hypr/scripts/lock"

5
user/.config/hypr/scripts/lock Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
currwall=$(swww query | awk '{print $8}')
swaylock -f -i "$currwall"

View file

@ -1,32 +1,3 @@
-- neovide options
vim.o.guifont = "mononoki Nerd Font:h12"
vim.g.neovide_hide_mouse_when_typing = true
vim.g.neovide_input_macos_alt_is_meta = true
vim.g.neovide_hide_mouse_when_typing = false
vim.g.neovide_refresh_rate = 60
vim.g.neovide_refresh_rate_idle = 5
vim.g.neovide_no_idle = true
vim.g.neovide_confirm_quit = true
vim.g.neovide_input_use_logo = true
vim.g.neovide_cursor_antialiasing = true
vim.g.neovide_cursor_animate_in_insert_mode = true
vim.g.neovide_cursor_vfx_mode = "pixiedust"
vim.g.neovide_cursor_vfx_particle_speed = 20.0
vim.g.neovide_padding_top = 0
vim.g.neovide_padding_bottom = 0
vim.g.neovide_padding_right = 0
vim.g.neovide_padding_left = 0
-- Helper function for transparency formatting
local alpha = function()
return string.format("%x", math.floor(255 * (vim.g.transparency or 0.9)))
end
vim.g.neovide_transparency = 0.9
vim.g.transparency = 0.9
vim.g.neovide_background_color = "#1d2021" .. alpha()
-- nvim options -- nvim options
vim.opt.shiftwidth = 4 vim.opt.shiftwidth = 4
vim.opt.tabstop = 4 vim.opt.tabstop = 4
@ -41,89 +12,46 @@ vim.cmd('autocmd BufEnter * lcd %:p:h')
-- general -- general
lvim.use_icons = true lvim.use_icons = true
lvim.log.level = "info" lvim.log.level = "info"
lvim.format_on_save = {
enabled = true,
pattern = "*.lua",
timeout = 1000,
}
-- change theme settings -- change theme settings
lvim.colorscheme = "gruvbox" lvim.colorscheme = "gruvbox"
lvim.transparent_window = false lvim.transparent_window = true
lvim.builtin.alpha.active = true lvim.builtin.alpha.active = true
lvim.builtin.alpha.mode = "dashboard" lvim.builtin.alpha.mode = "dashboard"
lvim.builtin.terminal.active = true lvim.builtin.terminal.active = true
lvim.builtin.nvimtree.setup.view.side = "left" lvim.builtin.nvimtree.setup.view.side = "left"
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false lvim.builtin.nvimtree.setup.renderer.icons.show.git = true
-- automatically install missing parsers when entering buffer -- automatically install missing parsers when entering buffer
lvim.builtin.treesitter.auto_install = true lvim.builtin.treesitter.auto_install = true
-- additional Plugins -- additional Plugins
lvim.plugins = { lvim.plugins = {
{ "lunarvim/colorschemes" }, { "lunarvim/colorschemes" },
{ "ellisonleao/gruvbox.nvim" }, { "ellisonleao/gruvbox.nvim" },
{ "puremourning/vimspector" }, { "SirVer/ultisnips" },
{ "SirVer/ultisnips" },
{ "CRAG666/code_runner.nvim" },
} }
-- configuring colorscheme -- configuring colorscheme
require("gruvbox").setup({ require("gruvbox").setup({
undercurl = true, undercurl = true,
underline = true, underline = true,
bold = false, bold = false,
italic = { italic = {
strings = true, strings = true,
comments = true, comments = true,
operators = false, operators = false,
folds = true, folds = true,
}, },
strikethrough = true, strikethrough = true,
invert_selection = false, invert_selection = false,
invert_signs = false, invert_signs = false,
invert_tabline = false, invert_tabline = false,
invert_intend_guides = false, invert_intend_guides = false,
inverse = true, -- invert background for search, diffs, statuslines and errors inverse = true, -- invert background for search, diffs, statuslines and errors
contrast = "hard", -- can be "hard", "soft" or empty string contrast = "hard", -- can be "hard", "soft" or empty string
palette_overrides = {}, palette_overrides = {},
overrides = {}, overrides = {},
dim_inactive = false, dim_inactive = false,
transparent_mode = false, transparent_mode = true,
}) })
-- vimspector options
vim.g.vimspector_enable_mappings = 'HUMAN'
vim.g.vimspector_enable_mappings_for_mode = {
['<leader><leader>'] = { 'n', 'v' },
}
-- code runner options
require('code_runner').setup({
filetype = {
java = {
"cd $dir &&",
"javac $fileName &&",
"java $fileNameWithoutExt"
},
python = "python3 -u",
typescript = "deno run",
rust = {
"cd $dir &&",
"rustc $fileName &&",
"$dir/$fileNameWithoutExt"
},
cs = {
"cd '$dir' &&",
"dotnet run"
}
},
})
lvim.keys.normal_mode["<leader>r"] = ":RunCode<CR>"
lvim.keys.normal_mode["<leader>rf"] = ":RunFile<CR>"
lvim.keys.normal_mode["<leader>rft"] = ":RunFile tab<CR>"
lvim.keys.normal_mode["<leader>rp"] = ":RunProject<CR>"
lvim.keys.normal_mode["<leader>rc"] = ":RunClose<CR>"
lvim.keys.normal_mode["<leader>crf"] = ":CRFiletype<CR>"
lvim.keys.normal_mode["<leader>crp"] = ":CRProjects<CR>"

44
user/.config/mako/config Normal file
View file

@ -0,0 +1,44 @@
# Global configuration options
max-history=5
sort=+time
# Binding options
on-button-left=dismiss
on-button-right=dismiss-all
# Style options
font=Mononoki Nerd Font 12
background-color=#282828
border-color=#cc241d
text-color=#ebdbb2
width=450
height=130
margin=10
padding=15
border-size=2
icons=1
max-icon-size=32
icon-location=left
markup=1
actions=1
history=1
text-alignment=left
default-timeout=15000
layer=top
anchor=top-right
[category=CHANGE_LAYOUT]
font=Mononoki Nerd Font 26
background-color=#282828
border-color=#cc241d
text-color=#ebdbb2
width=300
height=100
margin=300
padding=15
border-size=0
history=0
text-alignment=center
layer=top
default-timeout=400
anchor=top-center

View file

@ -97,12 +97,7 @@ memory_display="on"
battery_display="on" battery_display="on"
disk_display="on" disk_display="on"
image_backend="chafa" aascii_distro="void-small"
image_source="$HOME/.config/neofetch/img1.png"
image_size="320px"
image_loop="off"
aascii_distro="auto"
ascii_colors=(distro) ascii_colors=(distro)
ascii_bold="on" ascii_bold="on"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

View file

@ -19,11 +19,9 @@ https://blog.zorin.com/index.xml "~Zorin OS Blog"
http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog" http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog"
https://www.gamingonlinux.com/article_rss.php "~Gaming on linux" https://www.gamingonlinux.com/article_rss.php "~Gaming on linux"
https://hackaday.com/blog/feed/ "~Hackaday" https://hackaday.com/blog/feed/ "~Hackaday"
https://opensource.com/feed "~Opensource"
https://linux.softpedia.com/backend.xml "~Softpedia Linux" https://linux.softpedia.com/backend.xml "~Softpedia Linux"
https://www.phoronix.com/rss.php "~Phoronix" https://www.phoronix.com/rss.php "~Phoronix"
https://www.computerworld.com/index.rss "~Computerworld" https://www.computerworld.com/index.rss "~Computerworld"
https://www.networkworld.com/category/linux/index.rss "~Networkworld Linux"
https://betanews.com/feed "~Betanews Linux" https://betanews.com/feed "~Betanews Linux"
http://lxer.com/module/newswire/headlines.rss "~Lxer" http://lxer.com/module/newswire/headlines.rss "~Lxer"
https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton" https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton"
@ -42,44 +40,69 @@ https://inv.vern.cc/feed/channel/UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware"
https://inv.vern.cc/feed/channel/UC05XpvbHZUQOfA6xk4dlmcw "~YT - DJ Ware" https://inv.vern.cc/feed/channel/UC05XpvbHZUQOfA6xk4dlmcw "~YT - DJ Ware"
https://inv.vern.cc/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report" https://inv.vern.cc/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report"
https://inv.vern.cc/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue" https://inv.vern.cc/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue"
https://inv.vern.cc/feed/channel/UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer"
https://inv.vern.cc/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn" https://inv.vern.cc/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn"
https://inv.vern.cc/feed/channel/UC1yGcBvdPGxRIMT1yo_bKIQ "~YT - Jake@Linux"
https://inv.vern.cc/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight" https://inv.vern.cc/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight"
https://inv.vern.cc/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith" https://inv.vern.cc/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith"
https://inv.vern.cc/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic" https://inv.vern.cc/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic"
https://inv.vern.cc/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik" https://inv.vern.cc/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik"
https://inv.vern.cc/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan" https://inv.vern.cc/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan"
https://inv.vern.cc/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy"
https://inv.vern.cc/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment" https://inv.vern.cc/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment"
https://inv.vern.cc/feed/channel/UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog"
https://inv.vern.cc/feed/channel/UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD"
https://inv.vern.cc/feed/channel/UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning"
https://inv.vern.cc/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw" https://inv.vern.cc/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw"
https://inv.vern.cc/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd" https://inv.vern.cc/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd"
https://inv.vern.cc/feed/channel/UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen" https://inv.vern.cc/feed/channel/UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen"
https://inv.vern.cc/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy" https://inv.vern.cc/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy"
https://inv.vern.cc/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile" https://inv.vern.cc/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile"
https://inv.vern.cc/feed/channel/UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego"
https://inv.vern.cc/feed/channel/UC9RM-iSvTu1uPJb8X5yp3EQ "~YT - Wendover Productions"
https://inv.vern.cc/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy" https://inv.vern.cc/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy"
https://inv.vern.cc/feed/channel/UCAYKj_peyESIMDp5LtHlH2A "~YT - unfa🇺🇦" https://inv.vern.cc/feed/channel/UC9lE09jxmMgMoG13WrNHPmA "~YT - World of Tanks Blitz"
https://inv.vern.cc/feed/channel/UCAYKj_peyESIMDp5LtHlH2A "~YT - unfa"
https://inv.vern.cc/feed/channel/UCAiEWppTvoNSHU939xhMb2g "~YT - hoser"
https://inv.vern.cc/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters" https://inv.vern.cc/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters"
https://inv.vern.cc/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea" https://inv.vern.cc/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea"
https://inv.vern.cc/feed/channel/UCCIHOP7e271SIumQgyl6XBQ "~YT - OldTechBloke" https://inv.vern.cc/feed/channel/UCCIHOP7e271SIumQgyl6XBQ "~YT - OldTechBloke"
https://inv.vern.cc/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar" https://inv.vern.cc/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar"
https://inv.vern.cc/feed/channel/UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks"
https://inv.vern.cc/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute" https://inv.vern.cc/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute"
https://inv.vern.cc/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed" https://inv.vern.cc/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed"
https://inv.vern.cc/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven" https://inv.vern.cc/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven"
https://inv.vern.cc/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil" https://inv.vern.cc/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil"
https://inv.vern.cc/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium" https://inv.vern.cc/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium"
https://inv.vern.cc/feed/channel/UCIFzjAer2W9gTWVECZgtDzg "~YT - GaryH Tech" https://inv.vern.cc/feed/channel/UCIFzjAer2W9gTWVECZgtDzg "~YT - GaryH Tech"
https://inv.vern.cc/feed/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM"
https://inv.vern.cc/feed/channel/UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro"
https://inv.vern.cc/feed/channel/UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave"
https://inv.vern.cc/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR" https://inv.vern.cc/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR"
https://inv.vern.cc/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa" https://inv.vern.cc/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa"
https://inv.vern.cc/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains" https://inv.vern.cc/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains"
https://inv.vern.cc/feed/channel/UCNYW2vfGrUE6R5mIJYzkRyQ "~YT - DrossRotzank"
https://inv.vern.cc/feed/channel/UCNvl_86ygZXRuXjxbONI5jA "~YT - 10leej" https://inv.vern.cc/feed/channel/UCNvl_86ygZXRuXjxbONI5jA "~YT - 10leej"
https://inv.vern.cc/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage" https://inv.vern.cc/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage"
https://inv.vern.cc/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux" https://inv.vern.cc/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux"
https://inv.vern.cc/feed/channel/UCOSSzBN8e3JHOxvltQbf_mQ "~YT - Jack Keifer" https://inv.vern.cc/feed/channel/UCOSSzBN8e3JHOxvltQbf_mQ "~YT - Jack Keifer"
https://inv.vern.cc/feed/channel/UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri"
https://inv.vern.cc/feed/channel/UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore"
https://inv.vern.cc/feed/channel/UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno"
https://inv.vern.cc/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog" https://inv.vern.cc/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog"
https://inv.vern.cc/feed/channel/UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD"
https://inv.vern.cc/feed/channel/UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater"
https://inv.vern.cc/feed/channel/UCS97tchJDq17Qms3cux8wcA "~YT - chris@machine" https://inv.vern.cc/feed/channel/UCS97tchJDq17Qms3cux8wcA "~YT - chris@machine"
https://inv.vern.cc/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - Naomi Brockwell: NBTV" https://inv.vern.cc/feed/channel/UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths"
https://inv.vern.cc/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - NBTV, with Naomi Brockwell"
https://inv.vern.cc/feed/channel/UCTNj4UtgopYu5T8ew8WZPuw "~YT - Cat and Andrew"
https://inv.vern.cc/feed/channel/UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate"
https://inv.vern.cc/feed/channel/UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime"
https://inv.vern.cc/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube" https://inv.vern.cc/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube"
https://inv.vern.cc/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84" https://inv.vern.cc/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84"
https://inv.vern.cc/feed/channel/UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings"
https://inv.vern.cc/feed/channel/UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander"
https://inv.vern.cc/feed/channel/UCX_WM2O-X96URC5n66G-hvw "~YT - EF - Linux Made Simple" https://inv.vern.cc/feed/channel/UCX_WM2O-X96URC5n66G-hvw "~YT - EF - Linux Made Simple"
https://inv.vern.cc/feed/channel/UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown"
https://inv.vern.cc/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech" https://inv.vern.cc/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech"
https://inv.vern.cc/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería" https://inv.vern.cc/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería"
https://inv.vern.cc/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture" https://inv.vern.cc/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture"
@ -92,11 +115,13 @@ https://inv.vern.cc/feed/channel/UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tec
https://inv.vern.cc/feed/channel/UCgkyQiY_Q5AlrygIXGWO2Zw "~YT - Tux Traveler" https://inv.vern.cc/feed/channel/UCgkyQiY_Q5AlrygIXGWO2Zw "~YT - Tux Traveler"
https://inv.vern.cc/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon" https://inv.vern.cc/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon"
https://inv.vern.cc/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat" https://inv.vern.cc/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat"
https://inv.vern.cc/feed/channel/UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer"
https://inv.vern.cc/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut" https://inv.vern.cc/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut"
https://inv.vern.cc/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman" https://inv.vern.cc/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman"
https://inv.vern.cc/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann" https://inv.vern.cc/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann"
https://inv.vern.cc/feed/channel/UCl8XUDjAOLc7GNKcDp9Nepg "~YT - Locos por Linux" https://inv.vern.cc/feed/channel/UCl8XUDjAOLc7GNKcDp9Nepg "~YT - Locos por Linux"
https://inv.vern.cc/feed/channel/UClVi5MQZ6T0InZYT7oFs6wg "~YT - Mumbling Hugo" https://inv.vern.cc/feed/channel/UClVi5MQZ6T0InZYT7oFs6wg "~YT - Mumbling Hugo"
https://inv.vern.cc/feed/channel/UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul"
https://inv.vern.cc/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson" https://inv.vern.cc/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson"
https://inv.vern.cc/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney" https://inv.vern.cc/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney"
https://inv.vern.cc/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell" https://inv.vern.cc/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell"
@ -105,17 +130,25 @@ https://inv.vern.cc/feed/channel/UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV"
https://inv.vern.cc/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro" https://inv.vern.cc/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro"
https://inv.vern.cc/feed/channel/UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux" https://inv.vern.cc/feed/channel/UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux"
https://inv.vern.cc/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile" https://inv.vern.cc/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile"
https://inv.vern.cc/feed/channel/UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix"
https://inv.vern.cc/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions" https://inv.vern.cc/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions"
https://inv.vern.cc/feed/channel/UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds"
https://inv.vern.cc/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas" https://inv.vern.cc/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas"
https://inv.vern.cc/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore" https://inv.vern.cc/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore"
https://inv.vern.cc/feed/channel/UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old"
https://inv.vern.cc/feed/channel/UCsBjURrPoezykLs9EqgamOA "~YT - Fireship" https://inv.vern.cc/feed/channel/UCsBjURrPoezykLs9EqgamOA "~YT - Fireship"
https://inv.vern.cc/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel" https://inv.vern.cc/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel"
https://inv.vern.cc/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers" https://inv.vern.cc/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers"
https://inv.vern.cc/feed/channel/UCvFGf8HZGZWFzpcDCqb3Lhw "~YT - All Things Secured" https://inv.vern.cc/feed/channel/UCvFGf8HZGZWFzpcDCqb3Lhw "~YT - All Things Secured"
https://inv.vern.cc/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train" https://inv.vern.cc/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train"
https://inv.vern.cc/feed/channel/UCwEEjrUYHDyQsYPTQdNVacg "~YT - Jacob Pradels"
https://inv.vern.cc/feed/channel/UCwGX2cE21VPBEJ49hcprP9w "~YT - SupraPixel"
https://inv.vern.cc/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV" https://inv.vern.cc/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV"
https://inv.vern.cc/feed/channel/UCxkw-TfCK1t1VKxfHwPzD6w "~YT - Our Walk in Christ" https://inv.vern.cc/feed/channel/UCxkw-TfCK1t1VKxfHwPzD6w "~YT - Our Walk in Christ"
https://inv.vern.cc/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections" https://inv.vern.cc/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections"
https://inv.vern.cc/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger" https://inv.vern.cc/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger"
https://inv.vern.cc/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast" https://inv.vern.cc/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast"
https://inv.vern.cc/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy" https://inv.vern.cc/feed/channel/UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
https://inv.vern.cc/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
https://inv.vern.cc/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"

View file

@ -1,21 +0,0 @@
https://mail.google.com/ gmail
https://mail.tutanota.com/ tutanota
https://mail.proton.me/ proton-mail
https://outlook.live.com/mail outlook
https://odysee.com/ odysee
https://inv.vern.cc/ youtube
https://https://beatbump.io/ youtube-music
https://fosstodon.org/ mastodon
https://beehaw.org/ beehaw
https://pixelfed.social/ pixelfed
https://github.com/ github
https://codeberg.org/ codeberg
https://app.element.io/ element
https://app.revolt.chat/ revolt
https://web.whatsapp.com/ whatsapp
https://outlook.office.com/ intec-correo
https://campusvirtual.intec.edu.do/ intec-aula-virtual
https://procesos.intec.edu.do/ intec-procesos
https://amazon.com/ amazon
https://mega.nz/ mega
https://drive.google.com/drive/my-drive google-drive

View file

@ -1,248 +0,0 @@
## ____ __
## / __ \_________ _/ /_____
## / / / / ___/ __ `/ //_/ _ \
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
## /_____/_/ \__,_/_/|_|\___/ My custom qutebrowser config
##
# NOTE: config.py is intended for advanced users who are comfortable
# with manually migrating the config file on qutebrowser upgrades. If
# you prefer, you can also configure qutebrowser using the
# :set/:bind/:config-* commands without having to write a config.py
# file.
#
# Documentation:
# qute://help/configuring.html
# qute://help/settings.html
# Uncomment this to still load settings configured via autoconfig.yml
# config.load_autoconfig()
# Or uncomment this line to load settings from config.py
config.load_autoconfig(False)
# Aliases for commands. The keys of the given dictionary are the
# aliases, while the values are the commands they map to.
# Type: Dict
c.aliases = {'q': 'quit', 'w': 'session-save', 'wq': 'quit --save'}
# Setting dark mode
#config.set("colors.webpage.darkmode.enabled", True)
# Which cookies to accept. With QtWebEngine, this setting also controls
# other features with tracking capabilities similar to those of cookies;
# including IndexedDB, DOM storage, filesystem API, service workers, and
# AppCache. Note that with QtWebKit, only `all` and `never` are
# supported as per-domain values. Setting `no-3rdparty` or `no-
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
# `all`.
# Type: String
# Valid values:
# - all: Accept all cookies.
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
# - never: Don't accept cookies at all.
config.set('content.cookies.accept', 'all', 'chrome-devtools://*')
# Which cookies to accept. With QtWebEngine, this setting also controls
# other features with tracking capabilities similar to those of cookies;
# including IndexedDB, DOM storage, filesystem API, service workers, and
# AppCache. Note that with QtWebKit, only `all` and `never` are
# supported as per-domain values. Setting `no-3rdparty` or `no-
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
# `all`.
# Type: String
# Valid values:
# - all: Accept all cookies.
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
# - never: Don't accept cookies at all.
config.set('content.cookies.accept', 'all', 'devtools://*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}', 'https://web.whatsapp.com/')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://accounts.google.com/*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99 Safari/537.36', 'https://*.slack.com/*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://docs.google.com/*')
# User agent to send. The following placeholders are defined: *
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
# The underlying WebKit version (set to a fixed value with
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
# running qutebrowser version. The default value is equal to the
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
# read from JavaScript is always the global value. With QtWebEngine
# between 5.12 and 5.14 (inclusive), changing the value exposed to
# JavaScript requires a restart.
# Type: FormatString
config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}; rv:71.0) Gecko/20100101 Firefox/71.0', 'https://drive.google.com/*')
# Load images automatically in web pages.
# Type: Bool
config.set('content.images', True, 'chrome-devtools://*')
# Load images automatically in web pages.
# Type: Bool
config.set('content.images', True, 'devtools://*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'chrome-devtools://*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'devtools://*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'chrome://*/*')
# Enable JavaScript.
# Type: Bool
config.set('content.javascript.enabled', True, 'qute://*/*')
# Directory to save downloads to. If unset, a sensible OS-specific
# default is used.
# Type: Directory
c.downloads.location.directory = '~/Temporal/Downloads'
# When to show the tab bar.
# Type: String
# Valid values:
# - always: Always show the tab bar.
# - never: Always hide the tab bar.
# - multiple: Hide the tab bar if only one tab is open.
# - switching: Show the tab bar when switching tabs.
c.tabs.show = 'always'
# Setting default page for when opening new tabs or new windows with
# commands like :open -t and :open -w .
c.url.default_page = 'https://start.duckduckgo.com'
c.url.start_pages = 'https://start.duckduckgo.com'
# Search engines which can be used via the address bar. Maps a search
# engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}`
# placeholder. The placeholder will be replaced by the search term, use
# `{{` and `}}` for literal `{`/`}` braces. The following further
# placeholds are defined to configure how special characters in the
# search terms are replaced by safe characters (called 'quoting'): *
# `{}` and `{semiquoted}` quote everything except slashes; this is the
# most sensible choice for almost all search engines (for the search
# term `slash/and&amp` this placeholder expands to `slash/and%26amp`).
# * `{quoted}` quotes all characters (for `slash/and&amp` this
# placeholder expands to `slash%2Fand%26amp`). * `{unquoted}` quotes
# nothing (for `slash/and&amp` this placeholder expands to
# `slash/and&amp`). The search engine named `DEFAULT` is used when
# `url.auto_search` is turned on and something else than a URL was
# entered to be opened. Other search engines can be used by prepending
# the search engine name to the search term, e.g. `:open google
# qutebrowser`.
# Type: Dict
c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}', 'aw': 'https://wiki.archlinux.org/?search={}', 'ub': 'https://www.urbandictionary.com/define.php?term={}', 'wiki': 'https://en.wikipedia.org/wiki/{}'}
# Default font families to use. Whenever "default_family" is used in a
# font setting, it's replaced with the fonts listed here. If set to an
# empty value, a system-specific monospace default is used.
# Type: List of Font, or Font
c.fonts.default_family = '"mononoki Nerd Font"'
# Default font size to use. Whenever "default_size" is used in a font
# setting, it's replaced with the size listed here. Valid values are
# either a float value with a "pt" suffix, or an integer value with a
# "px" suffix.
# Type: String
c.fonts.default_size = '10pt'
# Font used in the completion widget.
# Type: Font
c.fonts.completion.entry = '10pt "mononoki Nerd Font"'
# Font used for the debugging console.
# Type: Font
c.fonts.debug_console = '10pt "mononoki Nerd Font"'
# Font used for prompts.
# Type: Font
c.fonts.prompts = 'default_size sans-serif'
# Font used in the statusbar.
# Type: Font
c.fonts.statusbar = '10pt "mononoki Nerd Font"'
config.source('gruvbox.py')
# Bindings for normal mode
config.bind('M', 'hint links spawn mpv {hint-url}')
config.bind('Z', 'hint links spawn st -e youtube-dl {hint-url}')
config.bind('t', 'set-cmd-text -s :open -t')
config.bind('xb', 'config-cycle statusbar.show always never')
config.bind('xt', 'config-cycle tabs.show always never')
config.bind('xx', 'config-cycle statusbar.show always never;; config-cycle tabs.show always never')
# configs
config.set('content.notifications.enabled', False)
config.set('content.blocking.method', 'both')
config.set('content.blocking.enabled', True)
config.set('content.autoplay', False)
config.set('content.register_protocol_handler', False)

View file

@ -1,333 +0,0 @@
# gruvbox dark hard qutebrowser theme by Florian Bruhin <me@the-compiler.org>
#
# Originally based on:
# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
# Base16 qutebrowser template by theova and Daniel Mulford
# Gruvbox dark, hard scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
bg0_hard = "#1d2021"
bg0_soft = '#32302f'
bg0_normal = '#282828'
bg0 = bg0_normal
bg1 = "#3c3836"
bg2 = "#504945"
bg3 = "#665c54"
bg4 = "#7c6f64"
fg0 = "#fbf1c7"
fg1 = "#ebdbb2"
fg2 = "#d5c4a1"
fg3 = "#bdae93"
fg4 = "#a89984"
bright_red = "#fb4934"
bright_green = "#b8bb26"
bright_yellow = "#fabd2f"
bright_blue = "#83a598"
bright_purple = "#d3869b"
bright_aqua = "#8ec07c"
bright_gray = "#928374"
bright_orange = "#fe8019"
dark_red = "#cc241d"
dark_green = "#98971a"
dark_yellow = "#d79921"
dark_blue = "#458588"
dark_purple = "#b16286"
dark_aqua = "#689d6a"
dark_gray = "#a89984"
dark_orange = "#d65d0e"
### Completion
# Text color of the completion widget. May be a single color to use for
# all columns or a list of three colors, one for each column.
c.colors.completion.fg = [fg1, bright_aqua, bright_yellow]
# Background color of the completion widget for odd rows.
c.colors.completion.odd.bg = bg0
# Background color of the completion widget for even rows.
c.colors.completion.even.bg = c.colors.completion.odd.bg
# Foreground color of completion widget category headers.
c.colors.completion.category.fg = bright_blue
# Background color of the completion widget category headers.
c.colors.completion.category.bg = bg1
# Top border color of the completion widget category headers.
c.colors.completion.category.border.top = c.colors.completion.category.bg
# Bottom border color of the completion widget category headers.
c.colors.completion.category.border.bottom = c.colors.completion.category.bg
# Foreground color of the selected completion item.
c.colors.completion.item.selected.fg = fg0
# Background color of the selected completion item.
c.colors.completion.item.selected.bg = bg4
# Top border color of the selected completion item.
c.colors.completion.item.selected.border.top = bg2
# Bottom border color of the selected completion item.
c.colors.completion.item.selected.border.bottom = c.colors.completion.item.selected.border.top
# Foreground color of the matched text in the selected completion item.
c.colors.completion.item.selected.match.fg = bright_orange
# Foreground color of the matched text in the completion.
c.colors.completion.match.fg = c.colors.completion.item.selected.match.fg
# Color of the scrollbar handle in the completion view.
c.colors.completion.scrollbar.fg = c.colors.completion.item.selected.fg
# Color of the scrollbar in the completion view.
c.colors.completion.scrollbar.bg = c.colors.completion.category.bg
### Context menu
# Background color of disabled items in the context menu.
c.colors.contextmenu.disabled.bg = bg3
# Foreground color of disabled items in the context menu.
c.colors.contextmenu.disabled.fg = fg3
# Background color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.bg = bg0
# Foreground color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.fg = fg2
# Background color of the context menu's selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.bg = bg2
#Foreground color of the context menu's selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.fg = c.colors.contextmenu.menu.fg
### Downloads
# Background color for the download bar.
c.colors.downloads.bar.bg = bg0
# Color gradient start for download text.
c.colors.downloads.start.fg = bg0
# Color gradient start for download backgrounds.
c.colors.downloads.start.bg = bright_blue
# Color gradient end for download text.
c.colors.downloads.stop.fg = c.colors.downloads.start.fg
# Color gradient stop for download backgrounds.
c.colors.downloads.stop.bg = bright_aqua
# Foreground color for downloads with errors.
c.colors.downloads.error.fg = bright_red
### Hints
# Font color for hints.
c.colors.hints.fg = bg0
# Background color for hints.
c.colors.hints.bg = 'rgba(250, 191, 47, 200)' # bright_yellow
# Font color for the matched part of hints.
c.colors.hints.match.fg = bg4
### Keyhint widget
# Text color for the keyhint widget.
c.colors.keyhint.fg = fg4
# Highlight color for keys to complete the current keychain.
c.colors.keyhint.suffix.fg = fg0
# Background color of the keyhint widget.
c.colors.keyhint.bg = bg0
### Messages
# Foreground color of an error message.
c.colors.messages.error.fg = bg0
# Background color of an error message.
c.colors.messages.error.bg = bright_red
# Border color of an error message.
c.colors.messages.error.border = c.colors.messages.error.bg
# Foreground color of a warning message.
c.colors.messages.warning.fg = bg0
# Background color of a warning message.
c.colors.messages.warning.bg = bright_purple
# Border color of a warning message.
c.colors.messages.warning.border = c.colors.messages.warning.bg
# Foreground color of an info message.
c.colors.messages.info.fg = fg2
# Background color of an info message.
c.colors.messages.info.bg = bg0
# Border color of an info message.
c.colors.messages.info.border = c.colors.messages.info.bg
### Prompts
# Foreground color for prompts.
c.colors.prompts.fg = fg2
# Border used around UI elements in prompts.
c.colors.prompts.border = f'1px solid {bg1}'
# Background color for prompts.
c.colors.prompts.bg = bg3
# Background color for the selected item in filename prompts.
c.colors.prompts.selected.bg = bg2
### Statusbar
# Foreground color of the statusbar.
c.colors.statusbar.normal.fg = fg2
# Background color of the statusbar.
c.colors.statusbar.normal.bg = bg0
# Foreground color of the statusbar in insert mode.
c.colors.statusbar.insert.fg = bg0
# Background color of the statusbar in insert mode.
c.colors.statusbar.insert.bg = dark_aqua
# Foreground color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.fg = bg0
# Background color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.bg = dark_blue
# Foreground color of the statusbar in private browsing mode.
c.colors.statusbar.private.fg = bright_purple
# Background color of the statusbar in private browsing mode.
c.colors.statusbar.private.bg = bg0
# Foreground color of the statusbar in command mode.
c.colors.statusbar.command.fg = fg3
# Background color of the statusbar in command mode.
c.colors.statusbar.command.bg = bg1
# Foreground color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.fg = c.colors.statusbar.private.fg
# Background color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.bg = c.colors.statusbar.command.bg
# Foreground color of the statusbar in caret mode.
c.colors.statusbar.caret.fg = bg0
# Background color of the statusbar in caret mode.
c.colors.statusbar.caret.bg = dark_purple
# Foreground color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.fg = c.colors.statusbar.caret.fg
# Background color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.bg = bright_purple
# Background color of the progress bar.
c.colors.statusbar.progress.bg = bright_blue
# Default foreground color of the URL in the statusbar.
c.colors.statusbar.url.fg = fg4
# Foreground color of the URL in the statusbar on error.
c.colors.statusbar.url.error.fg = dark_red
# Foreground color of the URL in the statusbar for hovered links.
c.colors.statusbar.url.hover.fg = bright_orange
# Foreground color of the URL in the statusbar on successful load
# (http).
c.colors.statusbar.url.success.http.fg = bright_red
# Foreground color of the URL in the statusbar on successful load
# (https).
c.colors.statusbar.url.success.https.fg = fg0
# Foreground color of the URL in the statusbar when there's a warning.
c.colors.statusbar.url.warn.fg = bright_purple
### tabs
# Background color of the tab bar.
c.colors.tabs.bar.bg = bg0
# Color gradient start for the tab indicator.
c.colors.tabs.indicator.start = bright_blue
# Color gradient end for the tab indicator.
c.colors.tabs.indicator.stop = bright_aqua
# Color for the tab indicator on errors.
c.colors.tabs.indicator.error = bright_red
# Foreground color of unselected odd tabs.
c.colors.tabs.odd.fg = fg2
# Background color of unselected odd tabs.
c.colors.tabs.odd.bg = bg2
# Foreground color of unselected even tabs.
c.colors.tabs.even.fg = c.colors.tabs.odd.fg
# Background color of unselected even tabs.
c.colors.tabs.even.bg = bg3
# Foreground color of selected odd tabs.
c.colors.tabs.selected.odd.fg = fg2
# Background color of selected odd tabs.
c.colors.tabs.selected.odd.bg = bg0
# Foreground color of selected even tabs.
c.colors.tabs.selected.even.fg = c.colors.tabs.selected.odd.fg
# Background color of selected even tabs.
c.colors.tabs.selected.even.bg = bg0
# Background color of pinned unselected even tabs.
c.colors.tabs.pinned.even.bg = bright_green
# Foreground color of pinned unselected even tabs.
c.colors.tabs.pinned.even.fg = bg2
# Background color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.bg = bright_green
# Foreground color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.fg = c.colors.tabs.pinned.even.fg
# Background color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.bg = bg0
# Foreground color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.fg = c.colors.tabs.selected.odd.fg
# Background color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.bg = c.colors.tabs.pinned.selected.even.bg
# Foreground color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.fg = c.colors.tabs.selected.odd.fg
# Background color for webpages if unset (or empty to use the theme's
# color).
c.colors.webpage.bg = bg4

File diff suppressed because it is too large Load diff

View file

@ -1,30 +0,0 @@
" gruvbox color scheme approximation for vifm
" Reset all styles first
highlight clear
highlight Border cterm=none ctermfg=235 ctermbg=default
highlight TopLine cterm=none ctermfg=214 ctermbg=235
highlight TopLineSel cterm=bold ctermfg=214 ctermbg=237
highlight Win cterm=none ctermfg=223 ctermbg=none
highlight OtherWin cterm=none ctermfg=223 ctermbg=none
highlight Directory cterm=bold ctermfg=109 ctermbg=default
highlight CurrLine cterm=bold,inverse ctermfg=default ctermbg=default
highlight OtherLine cterm=bold ctermfg=default ctermbg=235
highlight Selected cterm=none ctermfg=223 ctermbg=237
highlight JobLine cterm=bold ctermfg=116 ctermbg=238
highlight StatusLine cterm=bold ctermfg=144 ctermbg=236
highlight ErrorMsg cterm=bold ctermfg=167 ctermbg=default
highlight WildMenu cterm=bold ctermfg=235 ctermbg=144
highlight CmdLine cterm=none ctermfg=223 ctermbg=default
highlight Executable cterm=bold ctermfg=142 ctermbg=default
highlight Link cterm=none ctermfg=132 ctermbg=default
highlight BrokenLink cterm=bold ctermfg=167 ctermbg=default
highlight Device cterm=none,standout ctermfg=214 ctermbg=default
highlight Fifo cterm=none ctermfg=172 ctermbg=default
highlight Socket cterm=bold ctermfg=223 ctermbg=default

View file

@ -0,0 +1,29 @@
" gruvbox color scheme approximation for vifm
" Reset all styles first
highlight clear
highlight Border cterm=none ctermfg=235 ctermbg=default
highlight TopLine cterm=none ctermfg=214 ctermbg=235
highlight TopLineSel cterm=bold ctermfg=214 ctermbg=237
highlight Win cterm=none ctermfg=223 ctermbg=none
highlight OtherWin cterm=none ctermfg=223 ctermbg=none
highlight Directory cterm=bold ctermfg=109 ctermbg=default
highlight CurrLine cterm=bold,inverse ctermfg=default ctermbg=default
highlight OtherLine cterm=bold ctermfg=default ctermbg=235
highlight Selected cterm=none ctermfg=223 ctermbg=237
highlight JobLine cterm=bold ctermfg=116 ctermbg=238
highlight StatusLine cterm=bold ctermfg=144 ctermbg=236
highlight ErrorMsg cterm=bold ctermfg=167 ctermbg=default
highlight WildMenu cterm=bold ctermfg=235 ctermbg=144
highlight CmdLine cterm=none ctermfg=223 ctermbg=default
highlight Executable cterm=bold ctermfg=142 ctermbg=default
highlight Link cterm=none ctermfg=132 ctermbg=default
highlight BrokenLink cterm=bold ctermfg=167 ctermbg=default
highlight Device cterm=none,standout ctermfg=214 ctermbg=default
highlight Fifo cterm=none ctermfg=172 ctermbg=default
highlight Socket cterm=bold ctermfg=223 ctermbg=default

View file

@ -0,0 +1,56 @@
#!/bin/sh
PCACHE="$HOME/.cache/vifm/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$PWD/$6")" | sha256sum)"
export PCACHE="${PCACHE%% *}"
pclear() {
printf '{"action": "remove", "identifier": "vifm-preview"}\n' > "$FIFO_UEBERZUG"
}
image() {
printf '{"action": "add", "identifier": "vifm-preview", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$2" "$3" "$4" "$5" "$6" > "$FIFO_UEBERZUG"
}
main() {
case "$1" in
"clear")
pclear "$@"
;;
"draw")
FILE="$PWD/$6"
image "$1" "$2" "$3" "$4" "$5" "$FILE"
;;
"video")
[ ! -f "$PCACHE" ] && \
ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
;;
"epub")
[ ! -f "$PCACHE" ] && \
epub-thumbnailer "$6" "$PCACHE" 1024
image "$1" "$2" "$3" "$4" "$5" "$PCACHE"
;;
"pdf")
[ ! -f "${PCACHE}.jpg" ] && \
pdftoppm -jpeg -f 1 -singlefile "$6" "$PCACHE"
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
;;
"djvu")
[ ! -f "${PCACHE}.jpg" ] && \
ddjvu -format=tiff -quality=90 -page=1 "$6" "$PCACHE.jpg"
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
;;
"audio")
[ ! -f "${PCACHE}.jpg" ] && \
ffmpeg -hide_banner -i "$6" "${PCACHE}.jpg" -y >/dev/null
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
;;
"font")
[ ! -f "${PCACHE}.jpg" ] && \
fontpreview -i "$6" -o "${PCACHE}.jpg"
image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
;;
*)
esac
}
main "$@"

View file

@ -0,0 +1,21 @@
#!/bin/sh
if [ -z "$(command -v vifm)" ]; then
printf "vifm isn't installed on your system!\n"
exit 1
elif [ -z "$(command -v ueberzug)" ]; then
exec vifm "$@"
else
cleanup() {
exec 3>&-
rm "$FIFO_UEBERZUG"
}
[ ! -d "$HOME/.cache/vifm" ] && mkdir -p "$HOME/.cache/vifm"
export FIFO_UEBERZUG="$HOME/.cache/vifm/ueberzug-${$}"
mkfifo "$FIFO_UEBERZUG"
ueberzug layer -s <"$FIFO_UEBERZUG" -p json &
exec 3>"$FIFO_UEBERZUG"
trap cleanup EXIT
vifm "$@" 3>&-
vifmimg clear
fi

View file

@ -65,7 +65,7 @@ set norunexec
" Selected color scheme " Selected color scheme
" The following line will cause issues if using vifm.vim with regular vim. " The following line will cause issues if using vifm.vim with regular vim.
" Either use neovim or comment out the following line. " Either use neovim or comment out the following line.
colorscheme gruvbox-dark colorscheme gruvbox
" Format for displaying time in file list. For example: " Format for displaying time in file list. For example:
" TIME_STAMP_FORMAT=%m/%d-%H:%M " TIME_STAMP_FORMAT=%m/%d-%H:%M
@ -175,7 +175,9 @@ command! reload :write | restart
" Pdf and cbz " Pdf and cbz
filextype *.cbz,*.pdf zathura %c %i &, apvlv %c, xpdf %c filextype *.cbz,*.pdf zathura %c %i &, apvlv %c, xpdf %c
fileviewer *.pdf fileviewer *.pdf
\ pdftotext -nopgbrk %c - \ vifmimg pdf %px %py %pw %ph %c
\ %pc
\ vifmimg clear
" PostScript " PostScript
filextype *.ps,*.eps,*.ps.gz filextype *.ps,*.eps,*.ps.gz
@ -190,24 +192,37 @@ filextype *.djvu
\ zathura %f, \ zathura %f,
\ {View in apvlv} \ {View in apvlv}
\ apvlv %f, \ apvlv %f,
fileviewer *.djvu
\ vifmimg djvu %px %py %pw %ph %c
\ %pc
\ vifmimg clear
fileviewer *.epub
\ vifmimg epub %px %py %pw %ph %c
\ %pc
\ vifmimg clear
" Audio " Audio
filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus
\ {Play using mpv} \ {Play using mpv}
\ mpv %f, \ mpv %f,
fileviewer *.mp3 mp3info fileviewer *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus
fileviewer *.flac soxi \ vifmimg audio %px %py %pw %ph %c
\ %pc
\ vifmimg clear
" Video " Video
filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,
\*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,
\*.as[fx] \*.as[fx]
\ {View using mplayer} \ {View using mplayer}
\ mpv %f, \ mpv %f,
fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,
\*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,
\*.as[fx] \*.as[fx]
\ ffprobe -pretty %c 2>&1 \ vifmimg video %px %py %pw %ph %c
\ %pc
\ vifmimg clear
" Web " Web
filextype *.html,*.htm filextype *.html,*.htm
@ -235,7 +250,15 @@ filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
\ {View in imv} \ {View in imv}
\ imv %f &, \ imv %f &,
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.gif fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.gif
\ wezterm imgcat --width %pw --height %ph %c:p %pd \ vifmimg draw %px %py %pw %ph %c
\ %pc
\ vifmimg clear
" Fonts
fileviewer *.ttf, *.otf
\ vifmimg font %px %py %pw %ph %c
\ %pc
\ vifmimg clear
" OpenRaster " OpenRaster
filextype *.ora filextype *.ora

View file

@ -1,33 +0,0 @@
local wezterm = require 'wezterm'
local gpus = wezterm.gui.enumerate_gpus()
return {
enable_wayland = true,
font = wezterm.font {
family = 'mononoki Nerd Font',
weight = 'Medium'
},
color_scheme = 'Gruvbox dark, hard (base16)',
default_prog = { '/usr/bin/fish' },
default_cursor_style = "BlinkingUnderline",
font_size = 12,
check_for_updates = false,
use_dead_keys = false,
warn_about_missing_glyphs = false,
enable_kitty_graphics = true,
animation_fps = 1,
cursor_blink_rate = 175,
hide_tab_bar_if_only_one_tab = true,
adjust_window_size_when_changing_font_size = false,
window_padding = {
left = 10,
right = 10,
top = 10,
bottom = 10,
},
use_fancy_tab_bar = false,
exit_behavior = "Close",
window_close_confirmation = 'NeverPrompt',
tab_bar_at_bottom = false,
window_background_opacity = 0.9,
}

View file

@ -1,9 +0,0 @@
style=/home/drk/.config/wofi/style.css
show=drun
width=750
height=320
always_parse_args=true
show_all=true
print_command=true
layer=overlay
prompt=

View file

@ -1,56 +0,0 @@
window {
margin: 5px;
border: 2px solid #cc241d;
/* border-radius: 15px; */
background-color: #1d2021;
font-family: mononoki Nerd Font;
font-size: 16px;
}
#input {
margin: 10px;
margin-bottom: 1px;
border: 5px solid #3c3836;
color: #ebdbb2;
background-color: #3c3836;
}
#input > image.left {
-gtk-icon-transform:scaleX(0);
}
#inner-box {
margin: 15px;
margin-top: 15px;
border: none;
background-color: #1d2021;
}
#outer-box {
margin: 10px;
border: none;
background-color: #1d2021;
}
#scroll {
margin: 0px;
border: none;
}
#text {
margin: 5px;
border: none;
color: #ebdbb2;
}
#entry:selected {
background-color: #cc241d;
color: #3c3836;
font-weight: normal;
}
#text:selected {
background-color: #cc241d;
color: #fbf1c7;
font-weight: bold;
}

View file

@ -1,9 +0,0 @@
Net/ThemeName "gruvbox-dark-gtk"
Net/IconThemeName "gruvbox-dark-icons-gtk"
Gtk/CursorThemeName "Simp1e-Gruvbox-Dark"
Net/EnableEventSounds 1
EnableInputFeedbackSounds 0
Xft/Antialias 1
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/RGBA "rgb"

View file

@ -1,5 +0,0 @@
# This file is written by nwg-look. Do not edit.
[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=Simp1e-Gruvbox-Dark

View file

@ -1,314 +0,0 @@
#!/usr/bin/env bash
# __ _ _ _ _ _ _
# _ __ ___ / _(_) | |__ | |_ _ ___| |_ ___ ___ | |_| |__
# | '__/ _ \| |_| |_____| '_ \| | | | |/ _ \ __/ _ \ / _ \| __| '_ \
# | | | (_) | _| |_____| |_) | | |_| | __/ || (_) | (_) | |_| | | |
# |_| \___/|_| |_| |_.__/|_|\__,_|\___|\__\___/ \___/ \__|_| |_|
#
# Author: Nick Clyde (clydedroid)
#
# A script that generates a rofi menu that uses bluetoothctl to
# connect to bluetooth devices and display status info.
#
# Inspired by networkmanager-dmenu (https://github.com/firecat53/networkmanager-dmenu)
# Thanks to x70b1 (https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/system-bluetooth-bluetoothctl)
#
# Depends on:
# Arch repositories: rofi, bluez-utils (contains bluetoothctl)
# Constants
divider="---------"
goback="Back"
# Checks if bluetooth controller is powered on
power_on() {
if bluetoothctl show | grep -q "Powered: yes"; then
return 0
else
return 1
fi
}
# Toggles power state
toggle_power() {
if power_on; then
bluetoothctl power off
show_menu
else
if rfkill list bluetooth | grep -q 'blocked: yes'; then
rfkill unblock bluetooth && sleep 3
fi
bluetoothctl power on
show_menu
fi
}
# Checks if controller is scanning for new devices
scan_on() {
if bluetoothctl show | grep -q "Discovering: yes"; then
echo "Scan: on"
return 0
else
echo "Scan: off"
return 1
fi
}
# Toggles scanning state
toggle_scan() {
if scan_on; then
kill $(pgrep -f "bluetoothctl scan on")
bluetoothctl scan off
show_menu
else
bluetoothctl scan on &
echo "Scanning..."
sleep 5
show_menu
fi
}
# Checks if controller is able to pair to devices
pairable_on() {
if bluetoothctl show | grep -q "Pairable: yes"; then
echo "Pairable: on"
return 0
else
echo "Pairable: off"
return 1
fi
}
# Toggles pairable state
toggle_pairable() {
if pairable_on; then
bluetoothctl pairable off
show_menu
else
bluetoothctl pairable on
show_menu
fi
}
# Checks if controller is discoverable by other devices
discoverable_on() {
if bluetoothctl show | grep -q "Discoverable: yes"; then
echo "Discoverable: on"
return 0
else
echo "Discoverable: off"
return 1
fi
}
# Toggles discoverable state
toggle_discoverable() {
if discoverable_on; then
bluetoothctl discoverable off
show_menu
else
bluetoothctl discoverable on
show_menu
fi
}
# Checks if a device is connected
device_connected() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Connected: yes"; then
return 0
else
return 1
fi
}
# Toggles device connection
toggle_connection() {
if device_connected "$1"; then
bluetoothctl disconnect "$1"
device_menu "$device"
else
bluetoothctl connect "$1"
device_menu "$device"
fi
}
# Checks if a device is paired
device_paired() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Paired: yes"; then
echo "Paired: yes"
return 0
else
echo "Paired: no"
return 1
fi
}
# Toggles device paired state
toggle_paired() {
if device_paired "$1"; then
bluetoothctl remove "$1"
device_menu "$device"
else
bluetoothctl pair "$1"
device_menu "$device"
fi
}
# Checks if a device is trusted
device_trusted() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Trusted: yes"; then
echo "Trusted: yes"
return 0
else
echo "Trusted: no"
return 1
fi
}
# Toggles device connection
toggle_trust() {
if device_trusted "$1"; then
bluetoothctl untrust "$1"
device_menu "$device"
else
bluetoothctl trust "$1"
device_menu "$device"
fi
}
# Prints a short string with the current bluetooth status
# Useful for status bars like polybar, etc.
print_status() {
if power_on; then
printf ''
paired_devices_cmd="devices Paired"
# Check if an outdated version of bluetoothctl is used to preserve backwards compatibility
if (( $(echo "$(bluetoothctl version | cut -d ' ' -f 2) < 5.65" | bc -l) )); then
paired_devices_cmd="paired-devices"
fi
mapfile -t paired_devices < <(bluetoothctl "$paired_devices_cmd" | grep Device | cut -d ' ' -f 2)
counter=0
for device in "${paired_devices[@]}"; do
if device_connected "$device"; then
device_alias=$(bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-)
if [ $counter -gt 0 ]; then
printf ", %s" "$device_alias"
else
printf " %s" "$device_alias"
fi
((counter++))
fi
done
printf "\n"
else
echo ""
fi
}
# A submenu for a specific device that allows connecting, pairing, and trusting
device_menu() {
device=$1
# Get device name and mac address
device_name=$(echo "$device" | cut -d ' ' -f 3-)
mac=$(echo "$device" | cut -d ' ' -f 2)
# Build options
if device_connected "$mac"; then
connected="Connected: yes"
else
connected="Connected: no"
fi
paired=$(device_paired "$mac")
trusted=$(device_trusted "$mac")
options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit"
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $RUNNER -i -L 8 -p "$device_name")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$connected")
toggle_connection "$mac"
;;
"$paired")
toggle_paired "$mac"
;;
"$trusted")
toggle_trust "$mac"
;;
"$goback")
show_menu
;;
esac
}
# Opens a rofi menu with current bluetooth status and options to connect
show_menu() {
# Get menu options
if power_on; then
power="Power: on"
# Human-readable names of devices, one per line
# If scan is off, will only list paired devices
devices=$(bluetoothctl devices | grep Device | cut -d ' ' -f 3-)
# Get controller flags
scan=$(scan_on)
pairable=$(pairable_on)
discoverable=$(discoverable_on)
# Options passed to rofi
options="$devices\n$divider\n$power\n$scan\n$pairable\n$discoverable\nExit"
else
power="Power: off"
options="$power\nExit"
fi
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $RUNNER -i -L 10 -p " Bluetooth")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$power")
toggle_power
;;
"$scan")
toggle_scan
;;
"$discoverable")
toggle_discoverable
;;
"$pairable")
toggle_pairable
;;
*)
device=$(bluetoothctl devices | grep "$chosen")
# Open a submenu if a device is selected
if [[ $device ]]; then device_menu "$device"; fi
;;
esac
}
case "$1" in
--status)
print_status
;;
*)
show_menu
;;
esac

File diff suppressed because it is too large Load diff

View file

@ -1,103 +0,0 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple power menu script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, power-profiles-daemon, swaylock
#
#######################
## Main manu options ##
#######################
option1=" Logout"
option2=" Reboot"
option3=" Power off"
option4="󰒲 Suspend"
option5=" Lock"
option6=" Change power profile"
option7=" Exit"
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7"
####################################
## Power profiles submenu options ##
####################################
pwr1="󰓅 Performance"
pwr2="󰾅 Balanced"
pwr3="󰾆 Power Saver"
pwr4=" Cancel"
pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
#####
## This variable will store the current wallpaper
#####
currwall=$(swww query | awk '{print $8}')
#####
## This variable will store the current power profile
#####
currentpwr=$(powerprofilesctl get)
##########
## main ##
##########
action=$(echo -e "$options" | $RUNNER -i -L 9 -p " Power Options") # main menu prompt
case "$action" in
"$option1")
pkill Hyprland;
;;
"$option2")
systemctl reboot;
;;
"$option3")
systemctl poweroff;
;;
"$option4")
swaylock -i "$currwall" &
sleep 0.1;
systemctl suspend;
;;
"$option5")
swaylock -i "$currwall";
;;
"$option6")
#####
## These conditions will be used for the prompt
#####
if [ "$currentpwr" = "performance" ]; then
currentpwr="$pwr1";
elif [ "$currentpwr" = "balanced" ]; then
currentpwr="$pwr2";
elif [ "$currentpwr" = "power-saver" ]; then
currentpwr="$pwr3";
fi
pwraction=$(echo -e "$pwrs" | $RUNNER -L 6 -i -p " Power Profile Menu - Currently set to: $currentpwr") # power profiles submenu prompt
case "$pwraction" in
"$pwr1")
if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance
notify-send "The power profile is already set to performance";
exit 1;
else
powerprofilesctl set performance && notify-send "Power profile switched to performance"; # if not, set the powerprofile to performance
fi
;;
"$pwr2")
if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced
notify-send "The power profile is already set to balanced";
exit 1;
else
powerprofilesctl set balanced && notify-send "Power profile switched to balanced"; # if not, set the powerprofile to balanced
fi
;;
"$pwr3")
if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver
notify-send "The power profile is already set to power saver";
exit 1;
else
powerprofilesctl set power-saver && notify-send "Power profile switched to power saver"; # if not, set the powerprofile to power saver
fi
;;
"$pwr4")
exit 0;
esac;;
"$option7")
exit 0;
esac

View file

@ -1,321 +0,0 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple screenshot menu script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, wayshot, slurp, wf-recorder
###########################
## Screenshots Directory ##
###########################
SHOTDIR="$MEDIA_DIR/Pictures/Screenshots" # $MEDIA_DIR reffers to a global variable in .winitrc/.bash_profile
VCAPDIR="$MEDIA_DIR/Videos/Screencasts" # $MEDIA_DIR reffers to a global variable in .winitrc/.bash_profile
[ ! -d "$SHOTDIR" ] && [ ! -d "$VCAPDIR" ] && mkdir -p "$SHOTDIR" "$VCAPDIR" || echo
#####
## This variable will store the
## available audio input devices
#####
devices=$(pactl list sources | grep "Name" | awk '{print $2}')
#######################
## Main menu choices ##
#######################
mcho1="󰹑 Take an screenshot"
mcho2="󰻃 Record the screen"
mcho3=" Exit"
mchos="$mcho1\n$mcho2\n$mcho3"
#############################
## Screenshot menu choices ##
#############################
scho1="󱣴 Entire screen"
scho2="󱎫 Entire screen with delay"
scho3="󱕻 Select region"
scho4="󰖯 Active window"
scho5="󱎘 Exit"
schos="$scho1\n$scho2\n$scho3\n$scho4\n$scho5"
#############################
## Screenshot menu choices ##
#############################
vcho1="󰕧 Record the screen"
vcho2="󰕩 Record region"
vcho3="󰕧 Record the screen and audio"
vcho4="󱎘 Exit"
vchos="$vcho1\n$vcho2\n$vcho3\n$vcho4"
########################
## Screenshot submenu ##
########################
sscho1="󰆏 Copy to clipboard"
sscho2="󰠘 Save to ~/Media/Pictures/Screenshots"
sscho3="󱎘 Exit"
sschos="$sscho1\n$sscho2\n$sscho3"
#################################
## Screenshot delay subsubmenu ##
#################################
del1="󱑀 3 sec delay"
del2="󱑂 5 sec delay"
del3="󱑇 10 sec delay"
del4="󱎘 Exit"
dels="$del1\n$del2\n$del3\n$del4"
#####
## This function uses the sschos variable
## to ask the user what to do with the
## screenshot
#####
## param: none
## return: string
#####
fsschos() {
sschoice=$(echo -e "$sschos" | $RUNNER -i -L 4 -p " What do you want to do with this screenshot?")
}
#####
## This function uses the dels variable
## to ask the user which delay option to
## choose
#####
## param: none
## return: string
#####
fdel() {
del=$(echo -e "$dels" | $RUNNER -L 5 -i -p " Select Delay")
}
#####
## This function does a full screen
## screenshot without delay, depending on
## what the user chooses on the fsschos
## function, the screenshot will be saved
## to the clipboard or to $SHOTDIR
#####
## param: none
## return: void
#####
shot_screen() {
fsschos
if [ "$sschoice" = "$sscho1" ]; then
sleep 0.5 && wayshot --stdout | wl-copy && notify-send "Screenshot copied to clipboard"
elif [ "$sschoice" = "$sscho2" ]; then
sleep 0.5 && wayshot -f "$SHOTDIR/$(date +%s).jpg" && notify-send "Screenshot saved to $SHOTDIR"
else
exit 0
fi
}
#####
## This function does a full screen
## screenshot with delay, depending on
## what the user chooses on the fsschos
## function, the screenshot will be saved
## to the clipboard or to $SHOTDIR. And
## depending on what the user chooses on
## the fdel function, the delay will be
## between 3 and 10 seconds
#####
## param: none
## return: void
#####
shot_screen_delay() {
fsschos;
if [ "$sschoice" = "$sscho1" ]; then
fdel;
case $del in
"$del1")
sleep 3 && wayshot --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
;;
"$del2")
sleep 5 && wayshot --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
;;
"$del3")
sleep 10 && wayshot --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
;;
"$del4")
exit 0;
esac
elif [ "$sschoice" = "$sscho2" ]; then
fdel;
case $del in
"$del1")
sleep 3 && wayshot -f "$SHOTDIR/$(date +%s)" && notify-send "Screenshot saved to $SHOTDIR";
;;
"$del2")
sleep 5 && wayshot -f "$SHOTDIR/$(date +%s)" && notify-send "Screenshot saved to $SHOTDIR";
;;
"$del3")
sleep 10 && wayshot -f "$SHOTDIR/$(date +%s)" && notify-send "Screenshot saved to $SHOTDIR";
;;
"$del4")
exit 0;
esac
else
exit 0
fi
}
#####
## This function allows the user to select
## the area on screen to screenshot
## depending on what the user chooses on
## the fsschos function, the screenshot
## will be saved to the clipboard or to
## $SHOTDIR
#####
## param: none
## return: void
#####
shot_area() {
fsschos;
if [ "$sschoice" = "$sscho1" ]; then
sleep 0.5 && wayshot -s "$(slurp)" --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
elif [ "$sschoice" = "$sscho2" ]; then
sleep 0.5 && wayshot -f "$SHOTDIR/$(date +%s).jpg" && notify-send "Screenshot saved to $SHOTDIR";
else
exit 0
fi
}
#####
## This function does an screnshot of the
## currently active window, depending on
## what the user chooses on the fsschos
## function, the screenshot will be saved
## to the clipboard or to $SHOTDIR
#####
## param: none
## return: void
#####
shot_window() {
fsschos;
if [ "$sschoice" = "$sscho1" ]; then
wayshot -s "$(hyprctl activewindow -j | jq -c -r '.at,.size | .[]' | tr '\n' ' ')" --stdout | wl-copy && notify-send "Screenshot saved to clipboard";
elif [ "$sschoice" = "$sscho2" ]; then
wayshot -s "$(hyprctl activewindow -j | jq -c -r '.at,.size | .[]' | tr '\n' ' ')" --stdout -f "$SHOTDIR/$(date +%s).jpg" && notify-send "Screenshot saved to $SHOTDIR";
else
exit 0
fi
}
#####
## This function starts recording the whole screen,
## with mp4 format and no audio. The recording will
## continue until the user stops it with the -s
## option, when that happens, the video will be
## saved to $VCAPDIR.
#####
## param: none
## return: void
#####
vshot_screen() {
for ((i = 3; i >= 1; i--)); do
notify-send -t 1000 "Starting in $i seconds";
sleep 1;
done
wf-recorder --codec=h264_vaapi -d /dev/dri/renderD128 -f "$VCAPDIR/$(date +%s).mp4"
notify-send "Screenshot" "Recording saved to $VCAPDIR"
}
#####
## This function will execute slurp to get the area,
## to record, and then starts the recording with mp4
## format and no audio. The recording will continue
## until the user stops it with the -s option, when
## that happens, the video will be saved to $VCAPDIR.
#####
## param: none
## return: void
#####
vshot_area() {
wf-recorder --codec=h264_vaapi -d /dev/dri/renderD128 -g "$(slurp)" -f "$VCAPDIR/$(date +%s).mp4"
notify-send "Screenshot" "Recording saved to $VCAPDIR"
}
#####
## This function starts recording the whole screen,
## with mp4 format and with audio. The recording will
## continue until the user stops it with the -s
## option, when that happens, the video will be
## saved to $VCAPDIR.
#####
## param: none
## return: void
#####
vshot_screen_audio() {
chosendevice=$(echo -e "$devices" | $RUNNER -i -L 10 -p "Select audio input:")
if [ -n "$chosendevice" ]; then
device="$chosendevice"
for ((i = 3; i >= 1; i--)); do
notify-send -t 1000 "Starting in $i seconds";
sleep 1;
done
wf-recorder --audio="$device" --codec=h264_vaapi -d /dev/dri/renderD128 -f "$VCAPDIR/$(date +%s).mp4"
else
exit 1
fi
notify-send "Screenshot" "Recording saved to $VCAPDIR"
}
# show the help output with --help or -h arguments
if [ "$1" == '--help' ] || [ "$1" = '-h' ]; then
echo "rs-scrot"
echo "USAGE: rs-scrot [OPTION]"
echo -e "(no option)\tshow the screenshot menu"
echo -e "-s, --stop\tstop recording"
echo -e "-h, --help\tthis screen"
exit 1
fi
# stop recording with -s or --stop arguments
if [ "$1" = '--stop' ] || [ "$1" = '-s' ]; then
killall -s SIGINT wf-recorder
exit 1
fi
##########
## main ##
##########
mchoice=$(echo -e "$mchos" | $RUNNER -i -L 5 -p " Screenshot/Screen-Capture Utility") # main menu prompt
case $mchoice in
"$mcho1")
schoice=$(echo -e "$schos" | $RUNNER -i -L 7 -p " Sreenshot Menu") # screenshot menu prompt
case $schoice in
"$scho1")
shot_screen;
;;
"$scho2")
shot_screen_delay;
;;
"$scho3")
shot_area;
;;
"$scho4")
shot_window;
;;
"$scho5")
exit 0
esac
;;
"$mcho2")
vchoice=$(echo -e "$vchos" | $RUNNER -i -L 6 -p "󰕧 Screen-Capture Menu")
case $vchoice in
"$vcho1")
vshot_screen;
;;
"$vcho2")
vshot_area;
;;
"$vcho3")
vshot_screen_audio;
;;
"$vcho4")
exit 0;
esac
;;
"$mcho3")
exit 0
;;
esac

View file

@ -1,18 +0,0 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple wallpaper changer script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, fd, swaybg
## WALLPAPER DIRECTORY ##
walldir="$MEDIA_DIR/Pictures/Wallpapers" # wallpapers folder, change it to yours
## SELECT PICTURE ##
cd "$walldir" || exit 1
wallpaper=$(fd -p "$walldir" | $RUNNER -p "󰋩 Wallpaper Selector")
if [ -n "$wallpaper" ]; then
swww img "$wallpaper"
else
exit 0
fi
exit 0

View file

@ -1,150 +0,0 @@
#!/usr/bin/env bash
# ***This script was made by Clay Gomera (Drake)***
# - Description: A simple wifi script for rofi/dmenu/wofi
# - Dependencies: {rofi||dmenu||wofi}, NetworkManager, io.elementary.capnet-assist
#######################
## Main manu options ##
#######################
option1=" Turn on WiFi"
option2=" Turn off WiFi"
option3="󱛅 Disconnect WiFi"
option4="󱛃 Connect WiFi"
option5="󱛆 Setup captive portal"
option6=" Exit"
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
#####
## These variables will store specific
## information about the wireless
## interface
#####
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
read -r wlan constate <<< "$wifi_info"
#####
## This function uses nmcli to turn
## off wifi and then sends a
## notification
#####
## param: none
## return: void
#####
turnoff() {
nmcli radio wifi off && notify-send "WiFi has been turned off";
}
#####
## This function uses nmcli to turn
## on wifi and then sends a
## notification
#####
## param: none
## return: void
#####
turnon() {
nmcli radio wifi on && notify-send "WiFi has been turned on";
}
#####
## This function uses nmcli and the
## $wlan and $constate variables to
## disconnect from the wifi network
## and then sends a notification
#####
## param: none
## return: void
#####
disconnect() {
if [ "$constate" = "disconnected" ]; then
notify-send "WiFi is already disconnected";
elif [ "$constate" = "connected" ]; then
nmcli device disconnect "$wlan" && notify-send "Wifi has been disconnected";
else
exit 1;
fi
}
#####
## This function uses nmcli to first scan
## for available networks and then the
## $bssid variable will store the SSID
## of the network that the user chooses
#####
## param: none
## return: string
#####
connect() {
notify-send "Scannig networks..." && nmcli dev wifi rescan;
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | $RUNNER -i -p " Select a Wifi Network");
bssid=$(echo "$wifinet" | cut -d' ' -f1)
ssid=$(echo "$wifinet" | cut -d' ' -f3)
}
#####
## This function will store the WiFi
## password in the $pass variable
#####
## param: none
## return: string
#####
password() {
if nmcli connection show | grep -q "$ssid"; then # check if the network is already saved
return 0; # no password is required
elif nmcli -f BSSID,SECURITY dev wifi list | sed -n '1!p' | grep "$bssid" | awk '{print $2}' | grep -q -- "--"; then # check if the network is open
return 0; # no password is required
else
pass=$($RUNNER -i -W 250 -L 1 -p "Enter Password " --password);
if [ -n "$pass" ]; then # if the user gave a password
return 0;
else
exit 1; # if not, exit the script
fi
fi
}
#####
## This function will actually connect
## to the chosen WiFi network using the
## $bssid and $pass variables
#####
## param: none
## return: void
#####
action() {
if [ -n "$pass" ]; then # we need to check again if the $pass variable exists
nmcli dev wifi connect "$bssid" password "$pass"
else # if not, that means that the password() function ended in one of the first two conditions, the network is saved or open
nmcli dev wifi connect "$bssid";
fi
}
##########
## main ##
##########
cases=$(echo -e "$options" | $RUNNER -i -L 8 -p " Wifi Settings" ) # main menu prompt
case "$cases" in
"$option1")
turnon;
;;
"$option2")
turnoff;
;;
"$option3")
disconnect;
;;
"$option4")
if connect; then # if the user chooses a network
password; # this function will exit the script if the user didn't put a password
action;
else
exit 1; # if not, exit the script
fi
;;
"$option5")
io.elementary.capnet-assist;
;;
"$option6")
exit 0;
esac

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
sb_v_double_arrow

View file

@ -0,0 +1 @@
sb_h_double_arrow

View file

@ -0,0 +1 @@
vertical-text

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
bd_double_arrow

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
fd_double_arrow

View file

@ -0,0 +1 @@
left_ptr_watch

View file

@ -0,0 +1 @@
x-cursor

View file

@ -0,0 +1 @@
link

View file

@ -0,0 +1 @@
left_ptr

View file

@ -0,0 +1 @@
sb_v_double_arrow

View file

@ -0,0 +1 @@
sb_v_double_arrow

View file

@ -0,0 +1 @@
bd_double_arrow

View file

@ -0,0 +1 @@
watch

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