[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm e2edf81 4/6: Add some useful key bindings
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm e2edf81 4/6: Add some useful key bindings |
Date: |
Sun, 07 Feb 2016 03:41:53 +0000 |
branch: externals/exwm
commit e2edf81271e1a7dd148aa7386b730ae2838c2860
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Add some useful key bindings
* exwm-core.el (exwm--floating-mode-line-format, exwm--mode-line-format)
(exwm-mode-map):
* exwm-floating.el (exwm-floating-hide-mode-line)
(exwm-floating-show-mode-line):
* exwm-layout.el (exwm-layout-hide-mode-line, exwm-layout-show-mode-line)
(exwm-layout-toggle-mode-line):
Allow hide/show mode-line for all `exwm-mode' buffers with 'C-c M'.
* exwm-config.el (exwm-config-default): Add simulation keys for 'C-d' and
'C-k'.
---
exwm-config.el | 4 +++-
exwm-core.el | 17 +++++++++--------
exwm-floating.el | 28 ++++------------------------
exwm-layout.el | 33 +++++++++++++++++++++++++++++++++
4 files changed, 49 insertions(+), 33 deletions(-)
diff --git a/exwm-config.el b/exwm-config.el
index 512abfc..db8c68f 100644
--- a/exwm-config.el
+++ b/exwm-config.el
@@ -55,7 +55,9 @@
([?\C-a] . home)
([?\C-e] . end)
([?\M-v] . prior)
- ([?\C-v] . next)))
+ ([?\C-v] . next)
+ ([?\C-d] . delete)
+ ([?\C-k] . (S-end delete))))
;; Enable EXWM
(exwm-enable)
;; Configure Ido
diff --git a/exwm-core.el b/exwm-core.el
index 61633c9..9430b43 100644
--- a/exwm-core.el
+++ b/exwm-core.el
@@ -79,14 +79,14 @@
"Event mask set on all managed windows.")
;; Internal variables
-(defvar-local exwm--id nil) ;window ID
-(defvar-local exwm--container nil) ;container
-(defvar-local exwm--frame nil) ;workspace frame
-(defvar-local exwm--floating-frame nil) ;floating frame
-(defvar-local exwm--floating-mode-line-format nil) ;save mode-line-format
-(defvar-local exwm--fullscreen nil) ;used in fullscreen
-(defvar-local exwm--floating-frame-position nil) ;used in fullscreen
-(defvar-local exwm--fixed-size nil) ;fixed size
+(defvar-local exwm--id nil) ;window ID
+(defvar-local exwm--container nil) ;container
+(defvar-local exwm--frame nil) ;workspace frame
+(defvar-local exwm--floating-frame nil) ;floating frame
+(defvar-local exwm--mode-line-format nil) ;save mode-line-format
+(defvar-local exwm--fullscreen nil) ;used in fullscreen
+(defvar-local exwm--floating-frame-position nil) ;used in fullscreen
+(defvar-local exwm--fixed-size nil) ;fixed size
(defvar-local exwm--on-KeyPress ;KeyPress event handler
#'exwm-input--on-KeyPress-line-mode)
;; Properties
@@ -122,6 +122,7 @@
(define-key map "\C-cm" #'exwm-floating-toggle-floating)
(define-key map "\C-cq" #'exwm-input-send-next-key)
(define-key map "\C-cv" #'exwm-workspace-move-window)
+ (define-key map "\C-cM" #'exwm-layout-toggle-mode-line)
map)
"Keymap for `exwm-mode'.")
diff --git a/exwm-floating.el b/exwm-floating.el
index ff584c0..34e9f94 100644
--- a/exwm-floating.el
+++ b/exwm-floating.el
@@ -248,30 +248,10 @@ are provided. You should call `xcb:flush' and restore the
value of
(window-mode-line-height)
(window-header-line-height)))))
-(defun exwm-floating-hide-mode-line ()
- "Hide mode-line of a floating frame."
- (interactive)
- (unless (eq major-mode 'exwm-mode)
- (user-error "[EXWM] Please use this command with EXWM buffers"))
- (when (and exwm--floating-frame mode-line-format)
- (setq exwm--floating-mode-line-format mode-line-format
- mode-line-format nil)
- (exwm-floating--fit-frame-to-window)
- (xcb:flush exwm--connection)
- (setq window-size-fixed exwm--fixed-size)))
-
-(defun exwm-floating-show-mode-line ()
- "Show mode-line of a floating frame."
- (interactive)
- (unless (eq major-mode 'exwm-mode)
- (user-error "[EXWM] Please use this command with EXWM buffers"))
- (when (and exwm--floating-frame (not mode-line-format))
- (setq mode-line-format exwm--floating-mode-line-format
- exwm--floating-mode-line-format nil)
- (exwm-floating--fit-frame-to-window)
- (exwm-input-grab-keyboard) ;mode-line-format may be outdated
- (xcb:flush exwm--connection)
- (setq window-size-fixed exwm--fixed-size)))
+(define-obsolete-function-alias 'exwm-floating-hide-mode-line
+ 'exwm-layout-hide-mode-line "25.1" "Hide mode-line of a floating frame.")
+(define-obsolete-function-alias 'exwm-floating-show-mode-line
+ 'exwm-layout-show-mode-line "25.1" "Show mode-line of a floating frame.")
(defvar exwm-floating--moveresize-calculate nil
"Calculate move/resize parameters [buffer event-mask x y width height].")
diff --git a/exwm-layout.el b/exwm-layout.el
index 871438f..df603f7 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -392,6 +392,39 @@ See also `exwm-layout-enlarge-window'."
(interactive "p")
(exwm-layout-enlarge-window (- delta) t))
+(defun exwm-layout-hide-mode-line ()
+ "Hide mode-line."
+ (interactive)
+ (when (and (eq major-mode 'exwm-mode) mode-line-format)
+ (setq exwm--mode-line-format mode-line-format
+ mode-line-format nil)
+ (if (not exwm--floating-frame)
+ (exwm-layout--show exwm--id)
+ (exwm-floating--fit-frame-to-window)
+ (xcb:flush exwm--connection)
+ (setq window-size-fixed exwm--fixed-size))))
+
+(defun exwm-layout-show-mode-line ()
+ "Show mode-line."
+ (interactive)
+ (when (and (eq major-mode 'exwm-mode) (not mode-line-format))
+ (setq mode-line-format exwm--mode-line-format
+ exwm--mode-line-format nil)
+ (if (not exwm--floating-frame)
+ (exwm-layout--show exwm--id)
+ (exwm-floating--fit-frame-to-window)
+ (exwm-input-grab-keyboard)
+ (xcb:flush exwm--connection)
+ (setq window-size-fixed exwm--fixed-size))))
+
+(defun exwm-layout-toggle-mode-line ()
+ "Toggle the display of mode-line."
+ (interactive)
+ (when (eq major-mode 'exwm-mode)
+ (if mode-line-format
+ (exwm-layout-hide-mode-line)
+ (exwm-layout-show-mode-line))))
+
(defun exwm-layout--init ()
"Initialize layout module."
;; Auto refresh layout
- [elpa] externals/exwm updated (97daba2 -> fb9bfd2), Chris Feng, 2016/02/06
- [elpa] externals/exwm 3d643fa 3/6: Remove an assertion, Chris Feng, 2016/02/06
- [elpa] externals/exwm fb9bfd2 6/6: Eliminate compilation warnings, Chris Feng, 2016/02/06
- [elpa] externals/exwm 0006523 1/6: Resize minibuffer only when it's in its own frame, Chris Feng, 2016/02/06
- [elpa] externals/exwm e9e476c 2/6: Merge branch 'fjl-fix-resize-minibuffer', Chris Feng, 2016/02/06
- [elpa] externals/exwm e2edf81 4/6: Add some useful key bindings,
Chris Feng <=
- [elpa] externals/exwm 15cdf8f 5/6: Unmanage X windows on exit, Chris Feng, 2016/02/06