[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 3fb90b9 12/64: Fix fullscreen issues
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm 3fb90b9 12/64: Fix fullscreen issues |
Date: |
Thu, 17 Sep 2015 23:17:53 +0000 |
branch: externals/exwm
commit 3fb90b9eaac752760fc32404cbd1574b8ef61669
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Fix fullscreen issues
* Correct ConfigureNotify events sent to fullscreen windows.
* Exit fullscreen mode before switching workspace.
* Temporarily treat `xcb:Atom:_NET_WM_STATE_ABOVE` as
`xcb:Atom:_NET_WM_STATE_FULLSCREEN` since
a) "plugin-container" (Flash Player) seems only set this, and
b) it's not normally used by applications.
This makes fullscreen videos working in e.g. iceweasel.
---
exwm-manage.el | 14 +++++++++-----
exwm-workspace.el | 5 +++++
exwm.el | 3 ++-
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/exwm-manage.el b/exwm-manage.el
index afab18e..0d2c74f 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -133,7 +133,7 @@ corresponding buffer.")
(exwm-input-grab-keyboard id)
(exwm-workspace--update-switch-history)
(setq exwm-input--focus-lock nil) ;unlocked in advance
- (with-current-buffer (exwm--id->buffer id)
+ (exwm--with-current-id id
(run-hooks 'exwm-manage-finish-hook))))
(setq exwm-input--focus-lock nil))
@@ -266,10 +266,14 @@ corresponding buffer.")
(with-slots (window x y width height border-width) obj
(if (setq buffer (exwm--id->buffer window))
;; Send client message for managed windows
- (progn
- (setq edges (or (with-current-buffer buffer exwm--floating-edges)
- (window-inside-absolute-pixel-edges
- (get-buffer-window buffer))))
+ (with-current-buffer buffer
+ (setq edges
+ (if exwm--fullscreen
+ (list 0 0
+ (x-display-pixel-width) (x-display-pixel-height))
+ (or exwm--floating-edges
+ (window-inside-absolute-pixel-edges
+ (get-buffer-window)))))
(xcb:+request exwm--connection
(make-instance 'xcb:SendEvent
:propagate 0 :destination window
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 3add212..ed06f64 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -111,6 +111,11 @@ The optional FORCE option is for internal use only."
(unless (and (<= 0 index) (< index exwm-workspace-number))
(user-error "[EXWM] Workspace index out of range: %d" index))
(when (or force (/= exwm-workspace-current-index index))
+ ;; Exit fullscreen mode
+ (with-current-buffer (window-buffer)
+ (when (and (eq major-mode 'exwm-mode) exwm--fullscreen)
+ (exwm-layout-unset-fullscreen)
+ (exwm-input-grab-keyboard)))
(let ((frame (elt exwm-workspace--list index)))
(setq exwm-workspace--current frame
exwm-workspace-current-index index)
diff --git a/exwm.el b/exwm.el
index 3f38b66..c8f10af 100644
--- a/exwm.el
+++ b/exwm.el
@@ -462,7 +462,8 @@
(exwm-floating--set-floating id)
(push xcb:Atom:_NET_WM_STATE_MODAL props-new)))))
;; _NET_WM_STATE_FULLSCREEN
- (when (memq xcb:Atom:_NET_WM_STATE_FULLSCREEN props)
+ (when (or (memq xcb:Atom:_NET_WM_STATE_FULLSCREEN props)
+ (memq xcb:Atom:_NET_WM_STATE_ABOVE props))
(cond ((= action xcb:ewmh:_NET_WM_STATE_ADD)
(unless exwm--fullscreen (exwm-layout-set-fullscreen id))
(push xcb:Atom:_NET_WM_STATE_FULLSCREEN props-new))
- [elpa] branch externals/exwm created (now 4255f07), Chris Feng, 2015/09/17
- [elpa] externals/exwm cf87bb5 03/64: Add wiki link to README, Chris Feng, 2015/09/17
- [elpa] externals/exwm 968d0b4 04/64: Various fixes for workspace, Chris Feng, 2015/09/17
- [elpa] externals/exwm 36e8361 05/64: Various fixes, Chris Feng, 2015/09/17
- [elpa] externals/exwm f4416a1 06/64: Fix potential naming conflicts, Chris Feng, 2015/09/17
- [elpa] externals/exwm ea7c6c7 08/64: Fix typos, Chris Feng, 2015/09/17
- [elpa] externals/exwm 7892ed3 02/64: Improve move/resize, Chris Feng, 2015/09/17
- [elpa] externals/exwm ee3ce55 09/64: Merge pull request #2 from KAMiKAZOW/patch-1, Chris Feng, 2015/09/17
- [elpa] externals/exwm caf2fee 11/64: Drop intro to EXIM, Chris Feng, 2015/09/17
- [elpa] externals/exwm 3fc0cb2 10/64: Various fixes, Chris Feng, 2015/09/17
- [elpa] externals/exwm 3fb90b9 12/64: Fix fullscreen issues,
Chris Feng <=
- [elpa] externals/exwm 86764d2 07/64: Add basic RandR support, Chris Feng, 2015/09/17
- [elpa] externals/exwm 1e36a22 13/64: Check buffer mode in exwm-reset, Chris Feng, 2015/09/17
- [elpa] externals/exwm 14628a9 16/64: Fix race conditions when managing a window, Chris Feng, 2015/09/17
- [elpa] externals/exwm 5298489 18/64: Fix some input focus issues, Chris Feng, 2015/09/17
- [elpa] externals/exwm 3b9d0dd 17/64: Fixes for manage/unmanage window, Chris Feng, 2015/09/17
- [elpa] externals/exwm 42f4ec6 20/64: Show moved window by default, Chris Feng, 2015/09/17
- [elpa] externals/exwm 36bb579 21/64: Refresh when minibuffer grows (fix #10), Chris Feng, 2015/09/17
- [elpa] externals/exwm 2ad1a89 14/64: Various input fixes, Chris Feng, 2015/09/17
- [elpa] externals/exwm 84f0f03 15/64: Fix input focus lost after closing window, Chris Feng, 2015/09/17
- [elpa] externals/exwm 63402b0 19/64: Correct layout refresh problems, Chris Feng, 2015/09/17