Commit Graph

15 Commits (c89e1e01acf07c773a59889df26bce873d54c127)

Author SHA1 Message Date
Amir Alexander Abdelbaki c89e1e01ac added more options for printers - if none fount it should output to stdout 2026-07-14 08:57:56 +02:00
Amir Alexander Abdelbaki e295910234 add photobooth.py: curses TUI rewrite of the live preview loop
Replaces per-frame fswebcam process spawns with a persistent OpenCV/v4l2
capture handle for the highest achievable refresh rate, while still
shelling out to ascii-image-converter for conversion and txt2printr.sh
for printing. Renders a bordered live preview with a status/keybind-help
bar via curses, works on a plain TTY with no graphical environment.

Reuses webcam.conf/ascii.conf/keybinds.conf, parsed as plain key=value
(not sourced, so a config file can no longer execute arbitrary code).
Brightness/exposure now go through v4l2-ctl with percentage mapped onto
each control's actual min/max range; added DEVICE/BRIGHTNESS_CTRL_ID/
EXPOSURE_CTRL_ID to webcam.conf and KEY_QUIT to keybinds.conf for this,
kept separate from the bash-oriented keys so the existing bash scripts
are unaffected. Bash scripts are left in place as a fallback.

New deps: python-opencv, v4l-utils.
2026-07-03 13:07:53 +02:00
Amir Alexander Abdelbaki 1d77f411fa rebind capture to the space bar
space is easier to hit than c mid-pose for a photobooth; the hint bar
now renders "space" instead of a literal blank so the UI stays legible.
2026-07-03 11:52:57 +02:00
Amir Alexander Abdelbaki 7f67c5fd81 add ascii.conf and keybinds.conf for converter options and rebindable keys
ascii.conf exposes ascii-image-converter's dimension/complexity/map/
grayscale/negative/flip options (color and braille stay out since they
rely on ANSI/multi-byte Unicode that txt2printr.sh's raw print path
can't render). keybinds.conf lets exec-cycle.sh's capture/brightness/
exposure/reset keys be rebound instead of hardcoded, matched
case-insensitively; the on-screen hint bar renders from the same
config so it never drifts out of sync with the actual bindings.
2026-07-03 11:33:33 +02:00
Amir Alexander Abdelbaki ed7c0d0813 add live brightness/exposure controls and a webcam.conf config file
exec-cycle.sh's live preview now shows brightness/exposure and lets
+/-, ./, adjust them per-frame via fswebcam --set, with r to reset;
webcam.conf centralizes the starting values, step size, capture
resolution/quality, and the v4l2 control names (which vary by camera)
so hardware-specific tuning doesn't require editing the scripts.
2026-07-03 11:29:24 +02:00
Amir Alexander Abdelbaki 1ee9ed1036 ensure lp group membership and parport kernel modules in install-deps
txt2printr.sh writes directly to /dev/lp0, which needs the lp kernel
driver loaded (via parport/parport_pc) and lp group membership for
non-root write access; wire both up during dependency install.
2026-07-03 10:52:37 +02:00
Amir Alexander Abdelbaki 5b631adfe4 implement txt2printr.sh to send ascii art to a parallel port needle printer
writes raw bytes to /dev/lp0 (overridable via PRINTER_DEV): resets the
printer with ESC @, converts LF to CRLF to avoid staircasing on raw
device writes, then form-feeds to eject the page.
2026-07-03 10:49:27 +02:00
Amir Alexander Abdelbaki 7030454075 switched exec-cycle to a live >=2fps ascii preview loop and added txt2printr stub
replaced the guvcview+keypress capture flow with a continuous
capture/convert/display loop so the terminal shows a live ascii
preview; pressing c saves the frame and triggers the new
txt2printr.sh hook (currently a blank template).
2026-07-03 10:24:35 +02:00
Amir Alexander Abdelbaki 494fa5dc64 copied archbaseos-guided-install.sh from The_miro/Dotfiles.git for base OS installation 2026-03-27 13:24:14 +01:00
Amir Alexander Abdelbaki 24cf0eb3a8 removed the part in the yay installer that installs leahneukirchens nq 2026-03-27 10:58:13 +01:00
Amir Alexander Abdelbaki 02677caeeb wrote script to install dependencies 2026-03-27 10:56:51 +01:00
Amir Alexander Abdelbaki 34ca605c2e created installer files; copied yay-installer from The_miro/Dotfiles.git 2026-03-27 10:37:58 +01:00
Amir Alexander Abdelbaki 1d5beee242 added .ghs.sh to gitignore for helper scripts (ghs = git helper scripts) 2026-03-26 20:02:23 +01:00
Amir Alexander Abdelbaki 169b4bd3ac created proper gitignore 2026-03-26 19:21:23 +01:00
Amir Alexander Abdelbaki 7fad3b03f9 created repo 2026-03-26 19:15:28 +01:00