schroot -c bookworm
}
+spdfx() {
+ local spd_file
+ spdx -f ~/.spd/spd/spd_data_financial.gpg "$@"
+}
+
spdx() {
- local out i input pw
- out=$(gpg -q -d ~/.spd/spd/spd_data.gpg 2>/dev/null | gr "$@")
+ local out i input pw file
+ if [[ $1 == -f ]]; then
+ file="$2"
+ shift 2
+ else
+ file=~/.spd/spd/spd_data.gpg
+ fi
+
+ out=$(gpg -q -d "$file" 2>/dev/null | gr "$@")
if [[ $out == *$'\n'* ]]; then
i=0
while read -r line; do
fi
# spawn and mark if we dont have a mark already
-if ! /a/c/i3-focus-maybe abrowser; then
+if ! i3-focus-maybe abrowser; then
i3-msg "workspace 2"
i3-split-maybe
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" exit status: $?, PIPESTATUS: ${PIPESTATUS[*]}" >&2' ERR
-if ! /a/c/i3-focus-maybe term; then
+if ! i3-focus-maybe term; then
i3-msg "workspace 2"
i3-split-maybe
konsole &
+++ /dev/null
-#!/bin/bash
-# I, Ian Kelling, follow the GNU license recommendations at
-# https://www.gnu.org/licenses/license-recommendations.en.html. They
-# recommend that small programs, < 300 lines, be licensed under the
-# Apache License 2.0. This file contains or is part of one or more small
-# programs. If a small program grows beyond 300 lines, I plan to switch
-# its license to GPL.
-
-# Copyright 2024 Ian Kelling
-
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-# pull in the $1 marked window to the current workspace, unless the current workspace is #1, then swap it with the current window
-
-set -e; . /usr/local/lib/bash-bear; set +e
-
-mark=$1
-# height of currently focused window
-h=$(i3-msg -t get_tree | jq -r ".. | select(.focused? == true) | .rect.height")
-
-cur_workspace=$(i3-msg -t get_workspaces | jq -r '.[] | select(.focused? == true) | .name')
-
-# 1080 = half the 4k height
-#if [[ $cur_workspace == 1 && $h ]] && (( h <= 1080 )); then
-if [[ $cur_workspace == 1 && $h ]]; then
- i3-msg "swap container with mark $mark; [con_mark=\"$mark\"] focus"
-else
- i3-msg '[con_mark="'$mark'"] move workspace current'
-fi
# get class with xprop, example output
# WM_CLASS(STRING) = "irssi", "URxvt"
# xprop |& grep WM_CLASS
-bindsym $mod+w $ex "/a/exe/i3-abrowser"
+bindsym $mod+w $ex "i3-abrowser"
bindsym $mod+shift+w fullscreen toggle
-bindsym $mod+e $ex "/a/exe/i3-emacs"
+bindsym $mod+e $ex "i3-emacs"
# unused
#bindsym $mod+shift+e
bindsym $mod+r $ex "/a/bin/ds/xl"
#bindsym $mod+shift+5 $ex "/a/a.sh"
-bindsym $mod+b $ex "/a/exe/i3-konsole"
+bindsym $mod+b $ex "i3-konsole"
bindsym $mod+shift+b unmark term; mark term
# eh, dont really like web page titles + a long browser name string.
for_window [class="firefox" instance="Navigator" window_role="browser"] title_format "b"
bindsym $mod+y $ex copyq-restart
-bindsym $mod+shift+y $ex "/a/exe/i3-chat"
+bindsym $mod+shift+y $ex "i3-chat"
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
while read -r line; do
# check that the profanity window is not focused
- if ! /a/c/i3-check-profanity &>/dev/null; then
+ if ! i3-check-profanity &>/dev/null; then
# the profanity tag makes it so new notification replaces old.
dunstify -h string:x-dunst-stack-tag:profanity $line
fi
prof-notify
/a/bin/newns/newns
/a/bin/fai/fai/config/distro-install-common/ethusb-static
+
+ i3-abrowser
i3-auto-layout-toggle
+ i3-chat
+ i3-check-profanity
+ i3-emacs
i3-event-hook
+ i3-focus-maybe
+ i3-konsole
i3-mouse-warp
- i3-pull
i3-set-layout
i3-split-maybe
i3-split-push
+
copyq-restart
toggle-mute
)