From f3674a835ec962ec61bc5b14d82488024b8f50b5 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 24 Apr 2015 09:39:10 +0100 Subject: [PATCH] dot/emacs, el/dot-emacs.el: Experimental full-screen toggle. Doesn't work very well at the moment. --- dot/emacs | 1 + el/dot-emacs.el | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/dot/emacs b/dot/emacs index 5a3f712..2128756 100644 --- a/dot/emacs +++ b/dot/emacs @@ -500,6 +500,7 @@ (global-set-key [XF86WakeUp] "") (global-set-key [?\C-c ?d ?w] 'devhelp-word-at-point) (global-set-key [?\C-c ?d ?a] 'devhelp-assistant-word-at-point) + (global-set-key [f11] 'mdw-toggle-full-screen) (and (not mdw-fast-startup) (fboundp 'hippie-expand) (global-set-key [?\M-/] 'hippie-expand))) diff --git a/el/dot-emacs.el b/el/dot-emacs.el index f917905..f1876df 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -893,7 +893,11 @@ doesn't match any of the regular expressions in (if (not mdw-point-overlay-mode) (mdw-remove-point-overlay) (overlay-put mdw-point-overlay 'window (selected-window)) - (move-overlay mdw-point-overlay (point) (1+ (point)) (current-buffer)))) + (if (bolp) + (move-overlay mdw-point-overlay + (point) (1+ (point)) (current-buffer)) + (move-overlay mdw-point-overlay + (1- (point)) (point) (current-buffer))))) (defvar mdw-point-overlay-buffers nil "List of buffers using `mdw-point-overlay-mode'.") @@ -924,6 +928,41 @@ doesn't match any of the regular expressions in (lambda () (if (not (minibufferp)) (mdw-point-overlay-mode t)))) ;;;-------------------------------------------------------------------------- +;;; Fullscreen-ness. + +(defvar mdw-full-screen-parameters + '((menu-bar-lines . 0) + ;(vertical-scroll-bars . nil) + ) + "Frame parameters to set when making a frame fullscreen.") + +(defvar mdw-full-screen-save + '(width height) + "Extra frame parameters to save when setting fullscreen.") + +(defun mdw-toggle-full-screen (&optional frame) + "Show the FRAME fullscreen." + (interactive) + (when window-system + (cond ((frame-parameter frame 'fullscreen) + (set-frame-parameter frame 'fullscreen nil) + (modify-frame-parameters + nil + (or (frame-parameter frame 'mdw-full-screen-saved) + (mapcar (lambda (assoc) + (assq (car assoc) default-frame-alist)) + mdw-full-screen-parameters)))) + (t + (let ((saved (mapcar (lambda (param) + (cons param (frame-parameter frame param))) + (append (mapcar #'car + mdw-full-screen-parameters) + mdw-full-screen-save)))) + (set-frame-parameter frame 'mdw-full-screen-saved saved)) + (modify-frame-parameters frame mdw-full-screen-parameters) + (set-frame-parameter frame 'fullscreen 'fullboth))))) + +;;;-------------------------------------------------------------------------- ;;; General fontification. (defmacro mdw-define-face (name &rest body) -- 2.11.0