Round 303: XDG ext, Dconf ext, GSettings ext, GConf ext, Alternatives ext (20 commands)
ober
ae965d5408aea73e8515e821835c5213d0657fc6
--- 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 303 — XDG ext, Dconf ext, GSettings ext, GConf ext, Alternatives ext + +| Command | Status | Description | +|---------|--------|-------------| +| xdg-open | :orange_circle: | Open with default app | +| xdg-mime | :orange_circle: | Query MIME type | +| xdg-settings | :orange_circle: | Show XDG settings | +| xdg-desktop | :orange_circle: | Show desktop dirs | +| xdg-icon | :orange_circle: | Find icon | +| xdg-menu | :orange_circle: | Show menu entries | +| dconf-list | :orange_circle: | List dconf keys | +| dconf-read | :orange_circle: | Read dconf value | +| dconf-write | :orange_circle: | Write dconf value | +| dconf-reset | :orange_circle: | Reset dconf key | +| gsettings-list | :orange_circle: | List gsettings | +| gsettings-get | :orange_circle: | Get gsettings value | +| gsettings-set | :orange_circle: | Set gsettings value | +| gsettings-reset | :orange_circle: | Reset gsettings | +| gconf-list | :orange_circle: | List gconf keys | +| gconf-get | :orange_circle: | Get gconf value | +| gconf-set | :orange_circle: | Set gconf value | +| gconf-unset | :orange_circle: | Unset gconf key | +| update-alternatives-list | :orange_circle: | List alternatives | +| update-alternatives-set | :orange_circle: | Set alternative | + ### Round 302 — COPR ext, DNF ext, Zypper ext, Emerge ext, Portage ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -23085,4 +23085,64 @@ (def (cmd-portage-info app) (let* ((echo (app-state-echo app))) - (echo-message! echo "Portage: showing system info"))) \ No newline at end of file + (echo-message! echo "Portage: showing system info"))) + +;;; Round 303 — GSettings ext, GConf ext, Alternatives ext (batch 2) + +(def (cmd-gsettings-list app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Schema: " + (lambda (schema) + (echo-message! echo (str "GSettings: listing " schema)))))) + +(def (cmd-gsettings-get app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Schema key: " + (lambda (key) + (echo-message! echo (str "GSettings: getting " key)))))) + +(def (cmd-gsettings-set app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Schema key: " + (lambda (key) + (echo-message! echo (str "GSettings: setting " key)))))) + +(def (cmd-gsettings-reset app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Schema key: " + (lambda (key) + (echo-message! echo (str "GSettings: resetting " key)))))) + +(def (cmd-gconf-list app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Path: " + (lambda (path) + (echo-message! echo (str "GConf: listing " path)))))) + +(def (cmd-gconf-get app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "GConf: getting " key)))))) + +(def (cmd-gconf-set app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "GConf: setting " key)))))) + +(def (cmd-gconf-unset app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "GConf: unsetting " key)))))) + +(def (cmd-update-alternatives-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Alternatives: listing all"))) + +(def (cmd-update-alternatives-set app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Name: " + (lambda (name) + (echo-message! echo (str "Alternatives: configuring " name)))))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -23810,3 +23810,59 @@ (lambda (pkg) (echo-message! echo (str "Zypper: removing " pkg)))))) +;;; Round 303 — XDG ext, Dconf ext, GSettings ext (batch 1) + +(def (cmd-xdg-open app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "URL/file: " + (lambda (uri) + (echo-message! echo (str "XDG: opening " uri)))))) + +(def (cmd-xdg-mime app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "File: " + (lambda (file) + (echo-message! echo (str "XDG: MIME type of " file)))))) + +(def (cmd-xdg-settings app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "XDG: showing settings"))) + +(def (cmd-xdg-desktop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "XDG: showing desktop dirs"))) + +(def (cmd-xdg-icon app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Icon name: " + (lambda (icon) + (echo-message! echo (str "XDG: finding icon " icon)))))) + +(def (cmd-xdg-menu app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "XDG: showing menu entries"))) + +(def (cmd-dconf-list app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Path: " + (lambda (path) + (echo-message! echo (str "Dconf: listing " path)))))) + +(def (cmd-dconf-read app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "Dconf: reading " key)))))) + +(def (cmd-dconf-write app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "Dconf: writing " key)))))) + +(def (cmd-dconf-reset app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "Dconf: resetting " key)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7780,4 +7780,25 @@ (register-command! 'portage-world cmd-portage-world) (register-command! 'portage-depclean cmd-portage-depclean) (register-command! 'portage-info cmd-portage-info) + ;; Round 303 + (register-command! 'xdg-open cmd-xdg-open) + (register-command! 'xdg-mime cmd-xdg-mime) + (register-command! 'xdg-settings cmd-xdg-settings) + (register-command! 'xdg-desktop cmd-xdg-desktop) + (register-command! 'xdg-icon cmd-xdg-icon) + (register-command! 'xdg-menu cmd-xdg-menu) + (register-command! 'dconf-list cmd-dconf-list) + (register-command! 'dconf-read cmd-dconf-read) + (register-command! 'dconf-write cmd-dconf-write) + (register-command! 'dconf-reset cmd-dconf-reset) + (register-command! 'gsettings-list cmd-gsettings-list) + (register-command! 'gsettings-get cmd-gsettings-get) + (register-command! 'gsettings-set cmd-gsettings-set) + (register-command! 'gsettings-reset cmd-gsettings-reset) + (register-command! 'gconf-list cmd-gconf-list) + (register-command! 'gconf-get cmd-gconf-get) + (register-command! 'gconf-set cmd-gconf-set) + (register-command! 'gconf-unset cmd-gconf-unset) + (register-command! 'update-alternatives-list cmd-update-alternatives-list) + (register-command! 'update-alternatives-set cmd-update-alternatives-set) )