From ae47fddd3ebafacf05b2150c8e9627e86eb122a6 Mon Sep 17 00:00:00 2001 From: Diego Nicola Barbato Date: Thu, 16 Jul 2020 11:39:27 +0200 Subject: [PATCH] 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. --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 4 +- .../emacs-exwm-fix-fullscreen-states.patch | 39 +++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/emacs-exwm-fix-fullscreen-states.patch diff --git a/gnu/local.mk b/gnu/local.mk index ddd024677a..e016c2178a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -905,6 +905,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..9a43a23010 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10900,7 +10900,9 @@ 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 + (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 +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 + -- 2.26.2