mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
I've taken a lot of inspiration from Emacs-Prelude when it came to the structure of this rewritten config. I didn't want to use Prelude as I don't agree with all it's defaults, nor do I want to have to deal with any future changes in Prelude that might break things for me. So instead I went down the fully custom path, but heavily inspired by Prelude, both in terms of file/code structure, and also some of it's features. Compared to my old config setup, it's got most of the same things, but nearly everything is in a module file now, making it easy to fully enable/disable certain features.
69 lines
2.3 KiB
EmacsLisp
69 lines
2.3 KiB
EmacsLisp
;;
|
|
;; escreen
|
|
;;
|
|
|
|
(siren-require-packages '(escreen))
|
|
|
|
(require 'escreen)
|
|
|
|
;;
|
|
;; Escreen Helper
|
|
;; - from http://blog.nguyenvq.com/2011/03/07/escreen-instead-of-elscreen-for-screen-like-features-in-emacs/
|
|
;;
|
|
|
|
(defun escreen-get-active-screen-numbers-with-emphasis ()
|
|
"what the name says"
|
|
(interactive)
|
|
(let ((escreens (escreen-get-active-screen-numbers))
|
|
(emphased ""))
|
|
(dolist (s escreens)
|
|
(setq emphased
|
|
(concat emphased (if (= escreen-current-screen-number s)
|
|
(propertize (number-to-string s)
|
|
;;'face 'custom-variable-tag) " ")
|
|
;;'face 'info-title-3)
|
|
'face 'font-lock-warning-face)
|
|
;;'face 'secondary-selection)
|
|
(number-to-string s))
|
|
" ")))
|
|
(message "escreen: active screens: %s" emphased)))
|
|
|
|
;; Initialize escreen
|
|
(escreen-install)
|
|
|
|
;; Set prefix key to C-z.
|
|
(setq escreen-prefix-char (kbd "C-z"))
|
|
(global-set-key escreen-prefix-char 'escreen-prefix)
|
|
(define-key escreen-map escreen-prefix-char 'escreen-goto-last-screen)
|
|
|
|
;; Toggle screens.
|
|
(define-key escreen-map (kbd "l") 'escreen-goto-last-screen)
|
|
(define-key escreen-map (kbd "C-l") 'escreen-goto-last-screen)
|
|
|
|
;; List screens.
|
|
(define-key escreen-map (kbd "a")
|
|
'escreen-get-active-screen-numbers-with-emphasis)
|
|
(define-key escreen-map (kbd "C-a")
|
|
'escreen-get-active-screen-numbers-with-emphasis)
|
|
(define-key escreen-map (kbd ";")
|
|
'escreen-get-active-screen-numbers-with-emphasis)
|
|
(define-key escreen-map (kbd "C-;")
|
|
'escreen-get-active-screen-numbers-with-emphasis)
|
|
|
|
;; Goto screens.
|
|
(global-set-key (kbd "s-}") 'escreen-goto-next-screen)
|
|
(global-set-key (kbd "s-{") 'escreen-goto-prev-screen)
|
|
|
|
;; Ctrl versions of default commands.
|
|
(define-key escreen-map (kbd "C-c") 'escreen-create-screen)
|
|
(define-key escreen-map (kbd "C-g") 'escreen-goto-screen)
|
|
(define-key escreen-map (kbd "C-k") 'escreen-kill-screen)
|
|
(define-key escreen-map (kbd "C-n") 'escreen-goto-next-screen)
|
|
(define-key escreen-map (kbd "C-p") 'escreen-goto-prev-screen)
|
|
|
|
;; Show list of screens when you switch/create/kill.
|
|
(add-hook 'escreen-goto-screen-hook
|
|
'escreen-get-active-screen-numbers-with-emphasis)
|
|
|
|
|
|
(provide 'siren-escreen) |