emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unuseful keybindings


From: Juri Linkov
Subject: Re: Unuseful keybindings
Date: Mon, 24 Dec 2012 12:29:19 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu)

> This can be improved with the following patch:

Actually thinking more in terms of the command line arguments
`--maximized' and `--fullscreen' suggests a better patch
that for consistency defines exactly the same corresponding commands
`toggle-frame-maximized' and `toggle-frame-fullscreen':

=== modified file 'lisp/frame.el'
*** lisp/frame.el       2012-12-12 14:43:45 +0000
--- lisp/frame.el       2012-12-24 10:28:49 +0000
*************** (define-minor-mode blink-cursor-mode
*** 1655,1685 ****
  
  
  ;; Frame maximization
! (defcustom frame-maximization-style 'maximized
!   "The maximization style of \\[toggle-frame-maximized]."
!   :version "24.4"
!   :type '(choice
!           (const :tab "Respect window manager screen decorations." maximized)
!           (const :tab "Ignore window manager screen decorations." fullscreen))
!   :group 'frames)
! 
! (defun toggle-frame-maximized ()
!   "Maximize/un-maximize Emacs frame according to `frame-maximization-style'.
! See also `cycle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter nil 'fullscreen)
!                             nil frame-maximization-style)))))
! 
! (defun cycle-frame-maximized ()
!   "Cycle Emacs frame between normal, maximized, and fullscreen.
  See also `toggle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(cl-case (frame-parameter nil 'fullscreen)
!                                  ((nil) 'maximized)
!                                  ((maximized) 'fullscreen)
!                                  ((fullscreen) nil))))))
  
  
  ;;;; Key bindings
--- 1655,1680 ----
  
  
  ;; Frame maximization
! 
! (defun toggle-frame-maximized (&optional frame)
!   "Maximize FRAME or un-maximize if it is already maximized.
! Respect window manager screen decorations.
! See also `toggle-frame-fullscreen'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter frame 'fullscreen)
!                           nil
!                         'maximized)))))
! 
! (defun toggle-frame-fullscreen (&optional frame)
!   "Maximize FRAME to fullscreen or un-maximize if it is already fullscreen.
! Ignore window manager screen decorations.
  See also `toggle-frame-maximized'."
    (interactive)
    (modify-frame-parameters
!    nil `((fullscreen . ,(if (frame-parameter frame 'fullscreen)
!                           nil
!                         'fullscreen)))))
  
  
  ;;;; Key bindings
*************** (define-key ctl-x-5-map "2" 'make-frame-
*** 1688,1695 ****
  (define-key ctl-x-5-map "1" 'delete-other-frames)
  (define-key ctl-x-5-map "0" 'delete-frame)
  (define-key ctl-x-5-map "o" 'other-frame)
! (define-key global-map [f11] 'toggle-frame-maximized)
! (define-key global-map [(shift f11)] 'cycle-frame-maximized)
  
  
  ;; Misc.
--- 1683,1690 ----
  (define-key ctl-x-5-map "1" 'delete-other-frames)
  (define-key ctl-x-5-map "0" 'delete-frame)
  (define-key ctl-x-5-map "o" 'other-frame)
! (define-key global-map [f11] 'toggle-frame-fullscreen)
! (define-key global-map [(meta f10)] 'toggle-frame-maximized)
  
  
  ;; Misc.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]