;;; dconf-mode.el --- Edit dconf settings in an emacs buffer ;;; Commentary: ;; I haven't completely given up on GNOME. This is a little wrapper I've ported ;; from my vim config to modify and save the running GNOME state to files. ;; The relevant vim settings: ;; autocmd BufReadPre *.gsets silent !dconf dump /org/gnome/%:t:r/ > % ;; autocmd BufReadPost *.gsets set ft=dosini ;; autocmd BufWritePost *.gsets silent !cat % | dconf load /org/gnome/%:t:r/ ;;; Code: (defun dconf-load-current-file () "Load the current file into dconf's live registry." (interactive) (shell-command (concat "cat " buffer-file-name " | dconf load /org/gnome/" (file-name-base buffer-file-name) "/"))) (defun dconf-dump-current-file () "Load dconf's live registry into the current file." (interactive) (erase-buffer) (shell-command (concat "dconf dump /org/gnome/" (file-name-base buffer-file-name) "/") (current-buffer))) (define-derived-mode dconf-mode conf-mode "Dconf" "Major mode for interacting with the dconf database." (add-hook 'after-save-hook 'dconf-load-current-file) :after-hook (dconf-dump-current-file)) ;;;###autoload (add-to-list 'auto-mode-alist '("\\.gsets" . dconf-mode)) (provide 'dconf-mode) ;;; dconf-mode.el ends here