aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-21ia wg vpn seems used more than studio, so change ia to an easier hotkeyXiao Pan
2024-04-21remove ka vpsXiao Pan
2024-04-06pass otp no need tail because the other lines are stderr instead of stdout; ↵Xiao Pan
also use carriage return for auto enter
2024-04-06fix: use carriage return so gpg agent can correctly identify itXiao Pan
2024-04-01better commentXiao Pan
2024-04-01use xdotool for pass otp, more automatedXiao Pan
2024-04-01mod-a for xdotool type master passwords, temporary solution before I ↵Xiao Pan
automate upd
2024-03-11use new vpn script to simplify dwm configXiao Pan
2024-03-11advanced wireguardXiao Pan
2024-03-05feat: add ia wgXiao Pan
2024-01-26Try to make search more seamless by adding hotkey, to overcome fear/laziness ↵Xiao Pan
to search
2023-12-09updateXiao Pan
2023-12-08updateXiao Pan
2023-12-08updateXiao Pan
2023-12-06fix bugXiao Pan
2023-12-06try fix bugXiao Pan
2023-12-06updateXiao Pan
2023-12-06I switch to superkey because I prefer use right alt as altgr for typing ↵Xiao Pan
French and other not normal characters. I add modkey + function key as media keys to consider keyboards without media keys.
2023-12-05updateXiao Pan
2023-11-18no qbt autostart, no dwm qbt auto on tag 6Xiao Pan
2023-11-18updateXiao Pan
2023-11-17studio wgXiao Pan
2023-11-17updateXiao Pan
2023-10-10Merge branch 'master' into flyXiao Pan
2023-09-27updateXiao Pan
2023-09-22Makefile: remove the options targetHiltjo Posthuma
The Makefile used to suppress output (by using @), so this target made sense at the time. But the Makefile should be simple and make debugging with less abstractions or fancy printing. The Makefile was made verbose and doesn't hide the build output, so remove this target. Prompted by a question on the mailing list about the options target.
2023-08-24RFPXiao Pan
2023-08-24notify when toggle VPN, avoid mistypeXiao Pan
2023-07-09organize passXiao Pan
2023-07-07demullvadXiao Pan
2023-05-19time.uuid renamed to time-uuidXiao Pan
2023-05-15new alt-r to put space in between characters, old alt-r change to alt-shift-rXiao Pan
2023-05-14alt-b conflict with hide bar, switch to alt-z for ZeroXiao Pan
2023-05-14keyboard shortcut that run script 0 with clipboard outputXiao Pan
2023-05-07Merge branch 'master' into flyXiao Pan
2023-04-28alt-shift-s for sdcv translate clipboardXiao Pan
2023-04-20alt-q hotkey for qbt no need anymoreXiao Pan
2023-04-09restore SIGCHLD sighandler to default before spawning a programHiltjo Posthuma
From sigaction(2): A child created via fork(2) inherits a copy of its parent's signal dispositions. During an execve(2), the dispositions of handled signals are reset to the default; the dispositions of ignored signals are left unchanged. This refused to start directly some programs from configuring in config.h: static Key keys[] = { MODKEY, XK_o, spawn, {.v = cmd } }, }; Some reported programs that didn't start were: mpv, anki, dmenu_extended. Reported by pfx. Initial patch suggestion by Storkman.
2023-04-05remove monerod tag rule, because I use monerod systemd service insteadXiao Pan
2023-04-01manually start monerod no need now, I auto start monerod with systemd unit nowXiao Pan
2023-03-21screenshot switch to jxlXiao Pan
2023-03-03Merge branch 'master' into flyXiao Pan
2023-02-17config.mk: update to _XOPEN_SOURCE=700LNRK
SA_NOCLDWAIT is marked as XSI in the posix spec [0] and FreeBSD and NetBSD seems to more be strict about the feature test macro [1]. so update the macro to use _XOPEN_SOURCE=700L instead, which is equivalent to _POSIX_C_SOURCE=200809L except that it also unlocks the X/Open System Interfaces. [0]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html#tag_13_42 [1]: https://lists.suckless.org/dev/2302/35111.html Tested on: * NetBSD 9.3 (fixed). * FreeBSD 13 (fixed). * Void Linux musl. * Void Linux glibc. * OpenBSD 7.2 (stable). * Slackware 11. Reported-by: beastie <pufferfish@riseup.net>
2023-02-09wallpaper is bloatXiao Pan
2023-02-01Merge branch 'master' into flyXiao Pan
2023-01-28Use sigaction(SA_NOCLDWAIT) for SIGCHLD handlingChris Down
signal() semantics are pretty unclearly specified. For example, depending on OS kernel and libc, the handler may be returned to SIG_DFL (hence the inner call to read the signal handler). Moving to sigaction() means the behaviour is consistently defined. Using SA_NOCLDWAIT also allows us to avoid calling the non-reentrant function die() in the handler. Some addditional notes for archival purposes: * NRK pointed out errno of waitpid could also theoretically get clobbered. * The original patch was iterated on and modified by NRK and Hiltjo: * SIG_DFL was changed to SIG_IGN, this is required, atleast on older systems such as tested on Slackware 11. * signals are not blocked using sigprocmask, because in theory it would briefly for example also ignore a SIGTERM signal. It is OK if waitpid() is (in theory interrupted). POSIX reference: "Consequences of Process Termination": https://pubs.opengroup.org/onlinepubs/9699919799/functions/_Exit.html#tag_16_01_03_01
2023-01-02Merge branch 'master' into flyXiao Pan
2022-12-22updateXiao Pan
2022-12-22change selection screenshot and recording hotkeysXiao Pan
2022-12-07grabkeys: Avoid missing events when a keysym maps to multiple keycodesChris Down
It's not uncommon for one keysym to map to multiple keycodes. For example, the "play" button on my keyboard sends keycode 172, but my bluetooth headphones send keycode 208, both of which map back to XF86AudioPlay: % xmodmap -pke | grep XF86AudioPlay keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay This is a problem because the current code only grabs a single one of these keycodes, which means that events for any other keycode also mapping to the bound keysym will not be handled by dwm. In my case, this means that binding XF86AudioPlay does the right thing and correctly handles my keyboard's keys, but does nothing on my headphones. I'm not the only person affected by this, there are other reports[0]. In order to fix this, we look at the mappings between keycodes and keysyms at grabkeys() time and pick out all matching keycodes rather than just the first one. The keypress() side of this doesn't need any changes because the keycode gets converted back to a canonical keysym before any action is taken. 0: https://github.com/cdown/dwm/issues/11