-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaph-files.el
executable file
·65 lines (48 loc) · 2.22 KB
/
aph-files.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
;;; aph-files.el --- Extensions for `files' module -*- lexical-binding: t; -*-
;; Copyright (C) 2016 Aaron Harris
;; Author: Aaron Harris;;; -*- lexical-binding: t -*- <[email protected]>
;; Keywords: files
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Miscellaneous functions extending those in the `files' module built
;; into Emacs.
;;; Code:
;;;; Killing Buffers
;;==================
(defun aph/kill-active-buffer (&optional choose)
"Kill the active buffer.
With a prefix argument, choose the buffer to kill (as the
standard `kill-buffer')."
(interactive "P")
(if choose
(call-interactively #'kill-buffer)
(kill-buffer)))
;;;; Extensions to `save-buffers-kill-emacs'
;;==========================================
(defun aph/delete-frame-or-exit (&optional arg)
"Delete this frame. With only one frame, exit Emacs.
When called from a non-emacsclient frame and there is more than
one visible frame, delete the current frame (see `delete-frame').
Otherwise, call `save-buffers-kill-terminal'.
With one prefix ARG (`C-u'), instead kill Emacs entirely with
`save-buffers-kill-emacs'.
With two prefix args (`C-u C-u'), save all buffers and kill
Emacs, bypassing all normal confirmation prompts."
(interactive "P")
(cond
((equal arg '(16)) (let ((confirm-kill-emacs nil))
(save-buffers-kill-emacs arg)))
((equal arg '(4)) (save-buffers-kill-emacs))
((> (length (visible-frame-list)) 1) (delete-frame))
(:else (save-buffers-kill-terminal))))
(provide 'aph-files)
;;; aph-files.el ends here