Round 305: Xrandr ext, Xinput ext, Xdotool ext, Xset ext, Xmodmap ext (20 commands)
ober
e99df97a64f242eea21c102ece4fcc4127423c23
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 305 — Xrandr ext, Xinput ext, Xdotool ext, Xset ext, Xmodmap ext + +| Command | Status | Description | +|---------|--------|-------------| +| xrandr-list | :orange_circle: | List display outputs | +| xrandr-mode | :orange_circle: | Set display mode | +| xrandr-rotate | :orange_circle: | Rotate display | +| xrandr-brightness | :orange_circle: | Set brightness | +| xrandr-primary | :orange_circle: | Set primary output | +| xinput-list | :orange_circle: | List input devices | +| xinput-enable | :orange_circle: | Enable input device | +| xinput-disable | :orange_circle: | Disable input device | +| xinput-props | :orange_circle: | Show device properties | +| xdotool-key | :orange_circle: | Send key event | +| xdotool-type | :orange_circle: | Type text | +| xdotool-click | :orange_circle: | Click mouse button | +| xdotool-move | :orange_circle: | Move mouse | +| xset-dpms | :orange_circle: | Toggle DPMS | +| xset-bell | :orange_circle: | Set bell volume | +| xset-rate | :orange_circle: | Set key rate | +| xset-font | :orange_circle: | Set font path | +| xmodmap-list | :orange_circle: | List key mappings | +| xmodmap-load | :orange_circle: | Load key map | +| xmodmap-expr | :orange_circle: | Run xmodmap expression | + ### Round 304 — Polkit ext, DBus ext, Udev ext, Tmpfiles ext, Sysfs ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -23195,4 +23195,62 @@ (let* ((echo (app-state-echo app))) (echo-read-string echo "/sys path: " (lambda (path) - (echo-message! echo (str "Sysfs: writing to " path)))))) \ No newline at end of file + (echo-message! echo (str "Sysfs: writing to " path)))))) + +;;; Round 305 — Xdotool ext, Xset ext, Xmodmap ext (batch 2) + +(def (cmd-xdotool-type app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Text: " + (lambda (text) + (echo-message! echo (str "Xdotool: typing " text)))))) + +(def (cmd-xdotool-click app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Button (1/2/3): " + (lambda (btn) + (echo-message! echo (str "Xdotool: clicking button " btn)))))) + +(def (cmd-xdotool-move app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "X Y: " + (lambda (pos) + (echo-message! echo (str "Xdotool: moving to " pos)))))) + +(def (cmd-xset-dpms app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xset: toggling DPMS"))) + +(def (cmd-xset-bell app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Volume (0-100): " + (lambda (vol) + (echo-message! echo (str "Xset: bell volume " vol)))))) + +(def (cmd-xset-rate app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Delay repeat: " + (lambda (rate) + (echo-message! echo (str "Xset: key rate " rate)))))) + +(def (cmd-xset-font app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Font path: " + (lambda (path) + (echo-message! echo (str "Xset: font path " path)))))) + +(def (cmd-xmodmap-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xmodmap: listing key mappings"))) + +(def (cmd-xmodmap-load app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Map file: " + (lambda (file) + (echo-message! echo (str "Xmodmap: loading " file)))))) + +(def (cmd-xmodmap-expr app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Expression: " + (lambda (expr) + (echo-message! echo (str "Xmodmap: " expr)))))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -23918,3 +23918,61 @@ (lambda (dev) (echo-message! echo (str "Udev: info for " dev)))))) +;;; Round 305 — Xrandr ext, Xinput ext, Xdotool ext (batch 1) + +(def (cmd-xrandr-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xrandr: listing outputs"))) + +(def (cmd-xrandr-mode app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Resolution: " + (lambda (res) + (echo-message! echo (str "Xrandr: setting mode " res)))))) + +(def (cmd-xrandr-rotate app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Rotation (normal/left/right/inverted): " + (lambda (rot) + (echo-message! echo (str "Xrandr: rotating " rot)))))) + +(def (cmd-xrandr-brightness app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Brightness (0.0-1.0): " + (lambda (br) + (echo-message! echo (str "Xrandr: brightness " br)))))) + +(def (cmd-xrandr-primary app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Output: " + (lambda (out) + (echo-message! echo (str "Xrandr: setting primary " out)))))) + +(def (cmd-xinput-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xinput: listing devices"))) + +(def (cmd-xinput-enable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device ID: " + (lambda (id) + (echo-message! echo (str "Xinput: enabling " id)))))) + +(def (cmd-xinput-disable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device ID: " + (lambda (id) + (echo-message! echo (str "Xinput: disabling " id)))))) + +(def (cmd-xinput-props app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device ID: " + (lambda (id) + (echo-message! echo (str "Xinput: properties of " id)))))) + +(def (cmd-xdotool-key app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "Xdotool: sending key " key)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7822,4 +7822,25 @@ (register-command! 'tmpfiles-list cmd-tmpfiles-list) (register-command! 'sysfs-read cmd-sysfs-read) (register-command! 'sysfs-write cmd-sysfs-write) + ;; Round 305 + (register-command! 'xrandr-list cmd-xrandr-list) + (register-command! 'xrandr-mode cmd-xrandr-mode) + (register-command! 'xrandr-rotate cmd-xrandr-rotate) + (register-command! 'xrandr-brightness cmd-xrandr-brightness) + (register-command! 'xrandr-primary cmd-xrandr-primary) + (register-command! 'xinput-list cmd-xinput-list) + (register-command! 'xinput-enable cmd-xinput-enable) + (register-command! 'xinput-disable cmd-xinput-disable) + (register-command! 'xinput-props cmd-xinput-props) + (register-command! 'xdotool-key cmd-xdotool-key) + (register-command! 'xdotool-type cmd-xdotool-type) + (register-command! 'xdotool-click cmd-xdotool-click) + (register-command! 'xdotool-move cmd-xdotool-move) + (register-command! 'xset-dpms cmd-xset-dpms) + (register-command! 'xset-bell cmd-xset-bell) + (register-command! 'xset-rate cmd-xset-rate) + (register-command! 'xset-font cmd-xset-font) + (register-command! 'xmodmap-list cmd-xmodmap-list) + (register-command! 'xmodmap-load cmd-xmodmap-load) + (register-command! 'xmodmap-expr cmd-xmodmap-expr) )