Round 310: Loginctl ext, Machinectl ext, Hostnamectl ext, Timedatectl ext, Localectl ext (20 commands)
ober
5a09f37a22a7e00b0de8d626658c52bb70584c8f
--- 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 310 — Loginctl ext, Machinectl ext, Hostnamectl ext, Timedatectl ext, Localectl ext + +| Command | Status | Description | +|---------|--------|-------------| +| loginctl-list | :orange_circle: | List login sessions | +| loginctl-user | :orange_circle: | Show user info | +| loginctl-session | :orange_circle: | Show session info | +| loginctl-seat | :orange_circle: | List seats | +| machinectl-list | :orange_circle: | List machines | +| machinectl-login | :orange_circle: | Login to machine | +| machinectl-start | :orange_circle: | Start machine | +| machinectl-stop | :orange_circle: | Stop machine | +| hostnamectl-show | :orange_circle: | Show hostname info | +| hostnamectl-set | :orange_circle: | Set hostname | +| hostnamectl-icon | :orange_circle: | Set icon name | +| hostnamectl-chassis | :orange_circle: | Set chassis type | +| timedatectl-show | :orange_circle: | Show time/date | +| timedatectl-set | :orange_circle: | Set time/date | +| timedatectl-ntp | :orange_circle: | Toggle NTP | +| timedatectl-timezone | :orange_circle: | Set timezone | +| localectl-status | :orange_circle: | Show locale status | +| localectl-set-locale | :orange_circle: | Set locale | +| localectl-set-keymap | :orange_circle: | Set keymap | +| localectl-list-keymaps | :orange_circle: | List keymaps | + ### Round 309 — Power Profiles ext, CPUFreq ext, Thermal ext, TLP ext, PowerTOP ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -23447,4 +23447,58 @@ (def (cmd-powertop-html app) (let* ((echo (app-state-echo app))) - (echo-message! echo "PowerTOP: generating HTML report"))) \ No newline at end of file + (echo-message! echo "PowerTOP: generating HTML report"))) + +;;; Round 310 — Hostnamectl ext, Timedatectl ext, Localectl ext (batch 2) + +(def (cmd-hostnamectl-icon app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Icon name: " + (lambda (icon) + (echo-message! echo (str "Hostnamectl: icon " icon)))))) + +(def (cmd-hostnamectl-chassis app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Chassis type: " + (lambda (chassis) + (echo-message! echo (str "Hostnamectl: chassis " chassis)))))) + +(def (cmd-timedatectl-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Timedatectl: showing time/date"))) + +(def (cmd-timedatectl-set app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Time (YYYY-MM-DD HH:MM:SS): " + (lambda (time) + (echo-message! echo (str "Timedatectl: setting " time)))))) + +(def (cmd-timedatectl-ntp app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Timedatectl: toggling NTP"))) + +(def (cmd-timedatectl-timezone app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Timezone: " + (lambda (tz) + (echo-message! echo (str "Timedatectl: setting timezone " tz)))))) + +(def (cmd-localectl-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Localectl: showing status"))) + +(def (cmd-localectl-set-locale app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Locale: " + (lambda (loc) + (echo-message! echo (str "Localectl: setting locale " loc)))))) + +(def (cmd-localectl-set-keymap app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Keymap: " + (lambda (km) + (echo-message! echo (str "Localectl: setting keymap " km)))))) + +(def (cmd-localectl-list-keymaps app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Localectl: listing keymaps"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -24176,3 +24176,57 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "Thermald: viewing configuration"))) +;;; Round 310 — Loginctl ext, Machinectl ext, Hostnamectl ext (batch 1) + +(def (cmd-loginctl-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Loginctl: listing sessions"))) + +(def (cmd-loginctl-user app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "User: " + (lambda (user) + (echo-message! echo (str "Loginctl: user " user)))))) + +(def (cmd-loginctl-session app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Session ID: " + (lambda (sid) + (echo-message! echo (str "Loginctl: session " sid)))))) + +(def (cmd-loginctl-seat app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Loginctl: listing seats"))) + +(def (cmd-machinectl-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Machinectl: listing machines"))) + +(def (cmd-machinectl-login app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Machine: " + (lambda (m) + (echo-message! echo (str "Machinectl: logging into " m)))))) + +(def (cmd-machinectl-start app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Machine: " + (lambda (m) + (echo-message! echo (str "Machinectl: starting " m)))))) + +(def (cmd-machinectl-stop app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Machine: " + (lambda (m) + (echo-message! echo (str "Machinectl: stopping " m)))))) + +(def (cmd-hostnamectl-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hostnamectl: showing hostname info"))) + +(def (cmd-hostnamectl-set app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Hostname: " + (lambda (name) + (echo-message! echo (str "Hostnamectl: setting " name)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7927,4 +7927,25 @@ (register-command! 'powertop-auto cmd-powertop-auto) (register-command! 'powertop-calibrate cmd-powertop-calibrate) (register-command! 'powertop-html cmd-powertop-html) + ;; Round 310 + (register-command! 'loginctl-list cmd-loginctl-list) + (register-command! 'loginctl-user cmd-loginctl-user) + (register-command! 'loginctl-session cmd-loginctl-session) + (register-command! 'loginctl-seat cmd-loginctl-seat) + (register-command! 'machinectl-list cmd-machinectl-list) + (register-command! 'machinectl-login cmd-machinectl-login) + (register-command! 'machinectl-start cmd-machinectl-start) + (register-command! 'machinectl-stop cmd-machinectl-stop) + (register-command! 'hostnamectl-show cmd-hostnamectl-show) + (register-command! 'hostnamectl-set cmd-hostnamectl-set) + (register-command! 'hostnamectl-icon cmd-hostnamectl-icon) + (register-command! 'hostnamectl-chassis cmd-hostnamectl-chassis) + (register-command! 'timedatectl-show cmd-timedatectl-show) + (register-command! 'timedatectl-set cmd-timedatectl-set) + (register-command! 'timedatectl-ntp cmd-timedatectl-ntp) + (register-command! 'timedatectl-timezone cmd-timedatectl-timezone) + (register-command! 'localectl-status cmd-localectl-status) + (register-command! 'localectl-set-locale cmd-localectl-set-locale) + (register-command! 'localectl-set-keymap cmd-localectl-set-keymap) + (register-command! 'localectl-list-keymaps cmd-localectl-list-keymaps) )