summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Nicola Barbato <dnbarbato@posteo.de>2020-07-17 01:18:00 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2020-07-17 01:18:00 +0200
commitba7a63da4822d53298d64a31e3dd55bc60bad62a (patch)
treeb7a9f6c66585e5f999be37863a16df9409b1a982
parent0482ea07f9d8ee53108ef6507d15fa7a70ac1a71 (diff)
gnu: emacs-exwm: Fix fullscreen states.
* gnu/packages/patches/emacs-exwm-fix-fullscreen-states.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/emacs-xyz.scm (emacs-exwm)[source]: Use it. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/emacs-xyz.scm7
-rw-r--r--gnu/packages/patches/emacs-exwm-fix-fullscreen-states.patch39
3 files changed, 46 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7f4ff1f695..a50048e749 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -907,6 +907,7 @@ dist_patch_DATA = \
%D%/packages/patches/elm-compiler-fix-map-key.patch \
%D%/packages/patches/emacs27-exec-path.patch \
%D%/packages/patches/emacs-exec-path.patch \
+ %D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 537638bd36..c3f9d768f9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10900,7 +10900,12 @@ It should enable you to implement low-level X11 applications.")
(uri (string-append "https://elpa.gnu.org/packages/"
"exwm-" version ".tar"))
(sha256
- (base32 "0lj1a3cmbpf4h6x8k6x8cdm1qb51ca6filydnvi5zcda8zpl060s"))))
+ (base32 "0lj1a3cmbpf4h6x8k6x8cdm1qb51ca6filydnvi5zcda8zpl060s"))
+ (patches
+ ;; Patch fixing fullscreen view. Applied upstream as
+ ;; edb930005b0ba83051ca8a59b493e9a3c8ef580a. It can be removed in
+ ;; next release.
+ (search-patches "emacs-exwm-fix-fullscreen-states.patch"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))
diff --git a/gnu/packages/patches/emacs-exwm-fix-fullscreen-states.patch b/gnu/packages/patches/emacs-exwm-fix-fullscreen-states.patch
new file mode 100644
index 0000000000..6d31021f67
--- /dev/null
+++ b/gnu/packages/patches/emacs-exwm-fix-fullscreen-states.patch
@@ -0,0 +1,39 @@
+From edb930005b0ba83051ca8a59b493e9a3c8ef580a Mon Sep 17 00:00:00 2001
+From: Chris Feng <chris.w.feng@gmail.com>
+Date: Sun, 14 Jun 2020 00:00:00 +0000
+Subject: [PATCH] Fix fullscreen states
+
+* exwm-layout.el (exwm-layout-set-fullscreen,
+exwm-layout-unset-fullscreen): Use `exwm--id' for interactive use.
+(exwm-layout-unset-fullscreen): Mandatorily clear fullscreen states.
+---
+ exwm-layout.el | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/exwm-layout.el b/exwm-layout.el
+index 170c2be..79d0c95 100644
+--- a/exwm-layout.el
++++ b/exwm-layout.el
+@@ -205,7 +205,7 @@
+ :border-width 0
+ :stack-mode xcb:StackMode:Above))
+ (cl-pushnew xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)
+- (exwm-layout--set-ewmh-state id)
++ (exwm-layout--set-ewmh-state exwm--id)
+ (xcb:flush exwm--connection)
+ (set-window-dedicated-p (get-buffer-window) t)
+ (exwm-input--release-keyboard exwm--id)))
+@@ -233,7 +233,9 @@
+ (let ((window (get-buffer-window nil t)))
+ (when window
+ (exwm-layout--show exwm--id window))))
+- (exwm-layout--set-ewmh-state id)
++ (setq exwm--ewmh-state
++ (delq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state))
++ (exwm-layout--set-ewmh-state exwm--id)
+ (xcb:flush exwm--connection)
+ (set-window-dedicated-p (get-buffer-window) nil)
+ (when (eq 'line-mode exwm--selected-input-mode)
+--
+2.26.2
+