diff --git a/README.md b/README.md index f7e5b76..99daeca 100644 --- a/README.md +++ b/README.md @@ -499,6 +499,13 @@ Or you can use another theme altogether by adding something in `personal/preload install it from MELPA first (`M-x package-install RET solarized-theme`). +Finally, if you don't want any theme at all, you can add this to your +`personal/preload`: + +```lisp +(setq prelude-theme nil) +``` + ### Personalizing Fork the official Prelude repo and add your own touch to it. You're advised to avoid changing stuff outside of the diff --git a/core/prelude-core.el b/core/prelude-core.el index 42e12e9..c59028e 100644 --- a/core/prelude-core.el +++ b/core/prelude-core.el @@ -285,6 +285,21 @@ there's a region, all lines that region covers will be duplicated." (interactive) (byte-recompile-directory prelude-dir 0)) +(defun prelude-file-owner-uid (filename) + "Return the UID of the FILENAME as an integer. + +See `file-attributes' for more info." + (nth 2 (file-attributes filename 'integer))) + +(defun prelude-file-owned-by-user-p (filename) + "Return t if file FILENAME is owned by the currently logged in user." + (equal (prelude-file-owner-uid filename) + (user-uid))) + +(defun prelude-find-alternate-file-as-root (filename) + "Wraps `find-alternate-file' with opening a file as root." + (find-alternate-file (concat "/sudo:root@localhost:" filename))) + (require 'ido) (defun prelude-sudo-edit (&optional arg) "Edit currently visited file as root. @@ -296,15 +311,17 @@ buffer is not visiting a file." (if (or arg (not buffer-file-name)) (find-file (concat "/sudo:root@localhost:" (ido-read-file-name "Find file(as root): "))) - (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))) + (prelude-find-alternate-file-as-root buffer-file-name))) -(defadvice ido-find-file (after find-file-sudo activate) +(defun prelude-reopen-as-root () "Find file as root if necessary." (unless (or (tramp-tramp-file-p buffer-file-name) (equal major-mode 'dired-mode) (not (file-exists-p (file-name-directory buffer-file-name))) - (file-writable-p buffer-file-name)) - (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name)))) + (file-writable-p buffer-file-name) + (prelude-file-owned-by-user-p buffer-file-name)) + (prelude-find-alternate-file-as-root buffer-file-name))) +(add-hook 'find-file-hook 'prelude-reopen-as-root) (defun prelude-start-or-switch-to (function buffer-name) "Invoke FUNCTION if there is no buffer with BUFFER-NAME. diff --git a/core/prelude-ui.el b/core/prelude-ui.el index 3544051..bf59f57 100644 --- a/core/prelude-ui.el +++ b/core/prelude-ui.el @@ -68,7 +68,8 @@ "%b")))) ;; use zenburn as the default theme -(load-theme prelude-theme t) +(when prelude-theme + (load-theme prelude-theme t)) (provide 'prelude-ui) ;;; prelude-ui.el ends here diff --git a/modules/prelude-python.el b/modules/prelude-python.el index 5c28374..7def5fd 100644 --- a/modules/prelude-python.el +++ b/modules/prelude-python.el @@ -89,7 +89,6 @@ (subword-mode +1) (anaconda-mode 1) (eldoc-mode 1) - (which-function-mode -1) (setq-local electric-layout-rules '((?: . (lambda () (and (zerop (first (syntax-ppss)))