adding zmenu, arching qutebrowser again cuz it crashes too much, fixed vault script

This commit is contained in:
2025-05-03 12:46:37 -07:00
parent 92a464415c
commit 95c5a519bb
12 changed files with 265 additions and 38 deletions

View File

@@ -16,8 +16,6 @@ set $term alacritty
# Application Launcher
set $menu bemenu-run -p "Run:" -l 10 -c -M 500 --fn 'Monospace 14' --tb '#1d2021' --tf '#d8a657' --fb '#1d2021' --ff '#d4be98' --cb '#7daea3' --cf '#1d2021' --nb '#1d2021' --nf '#d4be98' --hb '#7daea3' --hf '#1d2021' --sb '#7daea3' --sf '#1d2021' --ab '#1b1b1b' --af '#d4be98' --scb '#1d2021' --scf '#d4be98'
#######################
# GENERAL KEYBINDS
#######################
@@ -212,7 +210,7 @@ bindsym $mod+m exec ~/.local/bin/man.sh
# bindsym $mod+w exec <command>
# bindsym $mod+x exec <command>
# bindsym $mod+y exec <command>
# bindsym $mod+z exec <command>
bindsym $mod+z exec ~/.local/bin/zmenu.sh
# bindsym $mod+9 exec <command>
# bindsym $mod+grave exec <command>
# bindsym $mod+Tab exec <command>

View File

@@ -1,50 +1,61 @@
#!/bin/sh
#!/usr/bin/env bash
# vault — mount/dismount VeraCrypt containers with automatic mountpoint creation and cleanup
# now suppresses PIM, keyfile, and hiddenvolume prompts by default
# Usage: vault {open|close} /full/path/to/container.hc
CONTAINER=${2:-"$HOME/vault.hc"}
set -euo pipefail
BASENAME=$(basename "$CONTAINER")
MAPPER_NAME="${BASENAME%.*}"
MOUNT_POINT="/mnt/$MAPPER_NAME"
usage() {
echo "Usage: $0 {open|close} /full/path/to/container.hc"
exit 1
}
case "$1" in
[[ $# -eq 2 ]] || usage
action=$1
rawpath=$2
container=$(eval echo "$rawpath")
[[ -f "$container" ]] || { echo "Container not found: $container"; exit 1; }
# derive mountpoint
base=$(basename "$container")
name="${base%.*}"
mountpoint="/mnt/$name"
require_sudo() {
if (( EUID != 0 )); then
exec sudo bash "$0" "$action" "$rawpath"
fi
}
case "$action" in
open)
if [ ! -f "$CONTAINER" ]; then
echo "Container not found: $CONTAINER"
exit 1
if mountpoint -q "$mountpoint"; then
echo "Already mounted at $mountpoint"
exit 0
fi
if [ -e "/dev/mapper/$MAPPER_NAME" ]; then
echo "Already opened at /dev/mapper/$MAPPER_NAME"
exit 1
fi
mkdir -p "$MOUNT_POINT" || exit 1
if sudo cryptsetup open --type tcrypt "$CONTAINER" "$MAPPER_NAME"; then
sudo mount "/dev/mapper/$MAPPER_NAME" "$MOUNT_POINT" &&
echo "Mounted at $MOUNT_POINT"
else
echo "Failed to open container."
exit 1
fi
require_sudo
mkdir -p "$mountpoint"
veracrypt -t \
--keyfiles="" \
--pim=0 \
--protect-hidden=no \
--mount "$container" "$mountpoint"
echo "Mounted $container → $mountpoint"
;;
close)
if mountpoint -q "$MOUNT_POINT"; then
sudo umount "$MOUNT_POINT"
fi
if [ -e "/dev/mapper/$MAPPER_NAME" ]; then
sudo cryptsetup close "$MAPPER_NAME"
echo "Closed and unmounted $MOUNT_POINT."
else
echo "Container is not open."
require_sudo
# dismount and suppress warnings
veracrypt -t --dismount "$mountpoint" || true
# cleanup empty dir
if [[ -d "$mountpoint" ]]; then
rmdir "$mountpoint" && echo "Removed mountpoint $mountpoint"
fi
;;
*)
echo "Usage: $0 {open|close} [path/to/container.hc]"
exit 1
usage
;;
esac

22
.local/bin/zmenu.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/sh
# ~/.local/bin/readmenu.sh
DOC_DIR="$HOME/docs"
choice=$(
find "$DOC_DIR" -type f \
\( -iname '*.pdf' -o -iname '*.epub' -o -iname '*.djvu' -o -iname '*.cbz' -o -iname '*.ps' \) \
-printf '%f\n' | \
bemenu -p "Read:" -l 10 -c -M 500 \
--fn 'Monospace 14' \
--tb '#1d2021' --tf '#d8a657' --fb '#1d2021' --ff '#d4be98' \
--cb '#7daea3' --cf '#1d2021' --nb '#1d2021' --nf '#d4be98' \
--hb '#7daea3' --hf '#1d2021' --sb '#7daea3' --sf '#1d2021' \
--ab '#1b1b1b' --af '#d4be98' --scb '#1d2021' --scf '#d4be98'
)
if [ -n "$choice" ]; then
full=$(find "$DOC_DIR" -type f -name "$choice" -print -quit)
[ -n "$full" ] && zathura "$full"
fi

View File

@@ -0,0 +1,196 @@
# If a config.py file exists, this file is ignored unless it's explicitly loaded
# via config.load_autoconfig(). For more information, see:
# https://github.com/qutebrowser/qutebrowser/blob/main/doc/help/configuring.asciidoc#loading-autoconfigyml
# DO NOT edit this file by hand, qutebrowser will overwrite it.
# Instead, create a config.py - see :help for details.
config_version: 2
settings:
content.blocking.method:
global: both
content.javascript.clipboard:
https://chatgpt.com: access-paste
https://img.opal.sh: access-paste
https://teams.microsoft.com: access-paste
content.javascript.enabled:
'*://*.01.emailinboundprocessing.eu/*': true
'*://*.127.0.0.1/*': true
'*://*.4chanlit.fandom.com/*': true
'*://*.account.proton.me/*': true
'*://*.account.protonvpn.com/*': true
'*://*.ancientdead.com/*': true
'*://*.app.netdata.cloud/*': true
'*://*.app.simplelogin.io/*': true
'*://*.askubuntu.com/*': true
'*://*.babeground.com/*': true
'*://*.babeground.net/*': true
'*://*.babegrounds.live/*': true
'*://*.bandcamp.com/*': true
'*://*.chmodcommand.com/*': true
'*://*.codeberg.org/*': true
'*://*.confluence.atg-corp.com/*': false
'*://*.crontab.guru/*': true
'*://*.customer.xfinity.com/*': true
'*://*.demo.uptime.kuma.pet/*': true
'*://*.docs.google.com/*': true
'*://*.drop.download/*': true
'*://*.duckduckgo.com/*': true
'*://*.features.jellyfin.org/*': true
'*://*.flathub.org/*': true
'*://*.fleet.linuxserver.io/*': true
'*://*.fmovies.to/*': true
'*://*.framatube.org/*': true
'*://*.get.adobe.com/*': true
'*://*.github.com/*': true
'*://*.gitlab.com/*': true
'*://*.goauthentik.io/*': true
'*://*.greyzone.com/*': true
'*://*.heretic.camp/*': true
'*://*.html.duckduckgo.com/*': true
'*://*.hub.docker.com/*': true
'*://*.id.atlassian.com/*': true
'*://*.idcs-3359adb31e35415e8c1729c5c8098c6d.identity.oraclecloud.com/*': true
'*://*.imgflip.com/*': true
'*://*.inv.odyssey346.dev/*': true
'*://*.jf.opal.sh/*': true
'*://*.jira.atg-corp.com/*': true
'*://*.layoffs.fyi/*': true
'*://*.learningnetwork.cisco.com/*': true
'*://*.listen.20buckspin.com/*': true
'*://*.localhost/*': true
'*://*.login.seattle.gov/*': true
'*://*.login.xfinity.com/*': true
'*://*.looking-glass.io/*': true
'*://*.lotrproject.com/*': true
'*://*.mail.proton.me/*': true
'*://*.main.realsecure.flyingcroc.net/*': true
'*://*.metalodyssey.8merch.com/*': true
'*://*.my.uscis.gov/*': true
'*://*.my.vultr.com/*': true
'*://*.myaccount.standingstonegames.com/*': true
'*://*.myutilities.seattle.gov/*': true
'*://*.nagios.realsecure.flyingcroc.net/*': true
'*://*.netbox.realsecure.flyingcroc.net/*': true
'*://*.online.adp.com/*': true
'*://*.onlinebanking.becu.org/*': true
'*://*.onyxboox.com/*': true
'*://*.openscrobbler.com/*': true
'*://*.payments.xfinity.com/*': true
'*://*.portainer.opal.sh/*': true
'*://*.protesilaos.com/*': true
'*://*.proton.me/*': true
'*://*.rateyourmusic.com/*': true
'*://*.register.be.xfinity.com/*': false
'*://*.reverb.com/*': true
'*://*.sack.realsecure.flyingcroc.net/*': true
'*://*.search.brave.com/*': true
'*://*.seattle.bibliocommons.com/*': true
'*://*.seattle.craigslist.org/*': true
'*://*.shop.bulletproof.com/*': true
'*://*.spl.overdrive.com/*': true
'*://*.stackoverflow.com/*': true
'*://*.stash.atg-corp.com/*': true
'*://*.superuser.com/*': true
'*://*.support-acquia.force.com/*': true
'*://*.thecirclemusic.gr/*': true
'*://*.thegrayzone.com/*': true
'*://*.thuleanperspective.com/*': true
'*://*.translate.google.com/*': true
'*://*.twitter.com/*': true
'*://*.unix.stackexchange.com/*': true
'*://*.uploadev.org/*': true
'*://*.utilities-self-service.ebill.seattle.gov/*': true
'*://*.veganmenshoes.com/*': true
'*://*.vid.puffyan.us/*': true
'*://*.wooddove.fciis.net/*': true
'*://*.www.20buckspin.com/*': true
'*://*.www.airplane.dev/*': true
'*://*.www.amazon.com/*': true
'*://*.www.astound.com/*': true
'*://*.www.budgetbytes.com/*': true
'*://*.www.calculator.net/*': true
'*://*.www.carhartt.com/*': true
'*://*.www.dancarlin.com/*': true
'*://*.www.drmartens.com/*': true
'*://*.www.duluthtrading.com/*': true
'*://*.www.easyime.com/*': true
'*://*.www.ebay.com/*': true
'*://*.www.filson.com/*': true
'*://*.www.foodnetwork.com/*': true
'*://*.www.geoguessr.com/*': true
'*://*.www.goodreads.com/*': true
'*://*.www.google.com/*': true
'*://*.www.harddrivesdirect.com/*': true
'*://*.www.knoll.com/*': true
'*://*.www.kobo.com/*': true
'*://*.www.last.fm/*': true
'*://*.www.lastpodcastontheleft.com/*': true
'*://*.www.lotro.com/*': true
'*://*.www.metal-archives.com/*': true
'*://*.www.mmorpg.com/*': true
'*://*.www.moddb.com/*': true
'*://*.www.netaddictionrecovery.com/*': true
'*://*.www.nightshiftmerch.com/*': true
'*://*.www.openstreetmap.org/*': true
'*://*.www.patagonia.com/*': true
'*://*.www.paypal.com/*': true
'*://*.www.raspberrypi.com/*': true
'*://*.www.reddit.com/*': true
'*://*.www.seattle.gov/*': true
'*://*.www.startpage.com/*': true
'*://*.www.thisisclassicalguitar.com/*': true
'*://*.www.vegetarian-shoes.co.uk/*': true
'*://*.www.vultr.com/*': true
'*://*.www.wills-vegan-store.com/*': true
'*://*.www.xfinity.com/*': true
'*://*.www.youtube.com/*': true
'*://*.www.zillow.com/*': true
'*://account.venmo.com/*': true
'*://accounts.google.com/*': true
'*://api.us-west.punchh.com/*': true
'*://archive.org/*': true
'*://auth.openai.com/*': true
'*://chatgpt.com/*': true
'*://copr.fedorainfracloud.org/*': true
'*://damonacy.bandcamp.com/*': true
'*://digital.fidelity.com/*': true
'*://distrowatch.com/*': true
'*://gethomepage.dev/*': true
'*://git.opal.sh/*': true
'*://hessianfirm.bigcartel.com/*': true
'*://id.venmo.com/*': true
'*://img.opal.sh/*': true
'*://irc.opal.sh/*': true
'*://jenkins.atg-corp.com/*': true
'*://jf.opal.sh/*': true
'*://jsonformatter.curiousconcept.com/*': true
'*://login.becu.org/*': true
'*://login.microsoftonline.com/*': true
'*://mega.nz/*': true
'*://myaccounts.capitalone.com/*': true
'*://navi.opal.sh/*': true
'*://openai.com/*': true
'*://order.tacotimenw.com/*': true
'*://pypi.org/*': true
'*://rateyourmusic.com/*': true
'*://revelationofdoom.com/*': true
'*://shop-hellsheadbangers.com/*': true
'*://statics.teams.cdn.office.net/*': true
'*://teams.microsoft.com/*': true
'*://verified.capitalone.com/*': true
'*://www.bardomethodology.com/*': true
'*://www.discogs.com/*': true
'*://www.duplicati.com/*': true
'*://www.fidelity.com/*': true
'*://www.google.com/*': true
'*://www.hybridcalisthenics.com/*': true
'*://www.instagram.com/*': true
'*://www.newegg.com/*': true
'*://www.usharbors.com/*': true
'*://www.vitamix.com/*': true
'*://www.youtube.com/*': true
'*://www.zsa.io/*': true
content.notifications.enabled:
https://jf.opal.sh: false
content.register_protocol_handler:
https://mail.proton.me#mailto=%25s: false

View File