testsAndMisc/linux_configuration/zsh/calc-popup.sh
Krzysztof kuhy Rudnicki 2e1e370c0f refactor: extract all inline Python from shell scripts into proper .py files
Move every multi-line python heredoc/`-c` block into a dedicated .py file so
ruff, mypy, pylint, bandit, and pytest can apply to it:
- linux_configuration/zsh/calc-live.zsh → python_pkg/live_calc/calc_eval.py (100% branch cov, 46 tests)
- meta/scripts/check_ai_evidence.sh → meta/scripts/validate_evidence.py
- meta/scripts/check_agent_contract.sh → meta/scripts/validate_contract.py
- phone_focus_mode/lib/monitor.sh → phone_focus_mode/lib/monitor_report.py
- phone_focus_mode/deploy.sh → phone_focus_mode/strip_workout_hosts.py
- linux_configuration/.../analyze_repo.sh → fast_count.py

Also: add zsh-syntax pre-commit hook (zsh -n); exclude zsh from shellcheck;
add tests for all 4 non-python_pkg helpers; update CLAUDE.md Shell Style with
the no-inline-Python rule.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 10:31:48 +02:00

27 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# ============================================================================
# calc-popup.sh — launch the floating scratchpad calculator (i3: Mod+c)
# ----------------------------------------------------------------------------
# Opens a small, centered, floating terminator that runs a minimal zsh which
# loads only the live-calc widget. Type math, see results live, Ctrl-D to close.
#
# i3 matches the window by its X role ("calc"), set via terminator --role.
# -u (--no-dbus) forces a standalone process so it never folds into an existing
# terminator window as a tab.
# ============================================================================
set -euo pipefail
# Directory of this script (the repo zsh/ dir); scratchpad rc lives alongside.
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
readonly SCRATCH_ZDOTDIR="${SCRIPT_DIR}/scratchpad"
if ! command -v terminator >/dev/null 2>&1; then
echo "calc-popup: terminator not found" >&2
exit 1
fi
# --geometry is in pixels for terminator; set the size here (reliably, before
# the window maps) so i3 only has to float + center it.
exec terminator -u --role=calc -T calc --geometry=820x220 \
-e "env ZDOTDIR='${SCRATCH_ZDOTDIR}' zsh -i"