Dotfiles/desktopenvs/hyprlua/scripts
Amir Alexander Abdelbaki bc544898c1 fix(presence-detect): read camera directly instead of v4l2loopback mirror
The loopback feeder (defa69f) held /dev/video0 open 24/7, so real apps —
video calls, howdy — could never open the camera, and the single loopback
device only ever served one reader at a time (a second consumer got
VIDIOC_REQBUFS -EBUSY). Net effect: the camera was permanently blocked and
nothing could access it.

Drop the ffmpeg mirror and read the physical camera directly, only for the
~0.5s per tick it takes to grab frames, then release it — so the camera is
free for other apps the rest of the time. When another app is already holding
the camera, the Python detector now distinguishes "busy/in use" (device node
present but unreadable → exit 3) from "unavailable" (node gone → exit 2), and
the daemon treats busy as presence: a camera in use is itself proof the user
is here, so a video call keeps the session awake.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 03:51:44 +02:00
..
deprecated feat(hyprlua): add astal-menu popup, replacing nwg-dock + nwg-drawer 2026-07-05 00:11:39 +02:00
python fix(presence-detect): read camera directly instead of v4l2loopback mirror 2026-07-11 03:51:44 +02:00
workspacefocus fixed workspace navigation 2026-05-19 18:26:28 +02:00
_toggle_Template.tmplsh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
activewindow chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
amssh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
astal-menu-start.sh fix(astal-menu): stop LD_PRELOAD leaking into launched apps (Firefox crash) 2026-07-05 19:14:16 +02:00
batteryperc chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
bluetooth-applet.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
caffeine-manual-status.sh feat(presence-detect): 4-state caffeine widget + steadier, faster detection 2026-07-11 03:07:22 +02:00
caffeine-status.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
caffeine.sh feat(presence-detect): switch to motion detection, adaptive interval, shared caffeine lock 2026-07-10 16:23:49 +02:00
calender-fix.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
date.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
dysk-phydisks.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
enroll-biometrics.sh feat(presence-detect): mirror camera via v4l2loopback so the daemon never blocks it 2026-07-10 16:39:11 +02:00
ewwstart-niri.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
ewwstart.sh fix(eww): stop duplicate stacked bars from ewwstart race 2026-06-28 02:23:45 +02:00
filepicker-clipboard.sh fix(hyprlua): spawn filepicker floating, compact, centred on the cursor 2026-07-04 15:06:37 +02:00
foldersearch.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
frequentcommands.list feat(hyprlua): wire chamel daemon + expand frequentcommands 2026-06-11 15:54:20 +02:00
getispeed.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
getvol chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
helpmenu.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
hypr-nav fix(hyprlua): spatial (transform-aware) monitor-jump fallback 2026-07-09 16:49:18 +02:00
hyprland-toggle-touchpad.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
ip chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
journal.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
menu-toggle.sh perf(astal-menu): use gdbus Activate fast path in menu-toggle.sh 2026-07-09 09:18:34 +02:00
menu.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
monitor-adjacent fix(hyprlua): spatial (transform-aware) monitor-jump fallback 2026-07-09 16:49:18 +02:00
monitor-manager style(astal-menu): unfullscreen glyphs, animated takeover, CyberQueer TUIs 2026-07-07 13:43:11 +02:00
monitorhandler.sh refactor(hyprlua): move hypr-usr/ into hypr/usr/ and wire sysupdate sync 2026-06-11 15:46:01 +02:00
onscreenkb.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
playerget chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
playpause.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
presence-detect.sh fix(presence-detect): read camera directly instead of v4l2loopback mirror 2026-07-11 03:51:44 +02:00
presence-status.sh feat(presence-detect): 4-state caffeine widget + steadier, faster detection 2026-07-11 03:07:22 +02:00
pwr-dmenu.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
screenrec.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
screenrotationacw.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
screenrotationwcw.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
screenshot.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
time.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
timer-notify.sh.old feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
timer-pick style(astal-menu): unfullscreen glyphs, animated takeover, CyberQueer TUIs 2026-07-07 13:43:11 +02:00
timer-run feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
timer.sh.old feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
toggle-layout.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
togglebar.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
togglewinbars.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
ulwatchdog.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
unified-rotate.sh fix(rotate): add pen/stylus rotation with explicit output mapping 2026-05-23 10:23:22 +02:00
uptime.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
wallpaper-picker refactor(hyprlua): move hypr-usr/ into hypr/usr/ and wire sysupdate sync 2026-06-11 15:46:01 +02:00
windowswitcher feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
wofi-file-search.sh feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00
workspace feat: add hyprlua config set and migrate hyprland envvars to dedicated file 2026-05-19 08:50:23 +02:00