[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm db5128c 1/7: Fix CreateWindow attributes
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm db5128c 1/7: Fix CreateWindow attributes |
Date: |
Fri, 12 Aug 2016 14:38:50 +0000 (UTC) |
branch: externals/exwm
commit db5128c1b9f77ecefd62a7150ccbdef33dd870af
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Fix CreateWindow attributes
; Also fix various compile warnings.
* exwm-floating.el (exwm-floating--set-floating):
* exwm-manage.el (exwm-manage--manage-window):
* exwm-systemtray.el (exwm-systemtray--init):
* exwm-workspace.el (exwm-workspace--add-frame-as-workspace)
(exwm-workspace--init):
* exwm.el (exwm--init-icccm-ewmh):
Explicitly specify the class (InputOutput or InputOnly) and for an
InputOutput X window the background pixmap when creating an X window.
---
exwm-floating.el | 20 +++++++++++++++-----
exwm-manage.el | 18 +++++++++++++-----
exwm-systemtray.el | 17 ++++++++++++-----
exwm-workspace.el | 49 ++++++++++++++++++++++++++++++++++---------------
exwm.el | 15 +++++++++++----
5 files changed, 85 insertions(+), 34 deletions(-)
diff --git a/exwm-floating.el b/exwm-floating.el
index 7c5d811..6f6cfec 100644
--- a/exwm-floating.el
+++ b/exwm-floating.el
@@ -70,11 +70,14 @@ context of the corresponding buffer.")
(defvar exwm-workspace--current)
(defvar exwm-workspace--struts)
+(defvar exwm-workspace--workareas)
+(defvar exwm-workspace-current-index)
(declare-function exwm-layout--refresh "exwm-layout.el" ())
(declare-function exwm-layout--show "exwm-layout.el" (id &optional window))
(declare-function exwm-layout--iconic-state-p "exwm-layout.el" (&optional id))
(declare-function exwm-workspace--minibuffer-own-frame-p "exwm-workspace.el")
+(declare-function exwm-workspace--position "exwm-workspace.el" (frame))
(defun exwm-floating--set-floating (id)
"Make window ID floating."
@@ -191,12 +194,19 @@ context of the corresponding buffer.")
;; a child of the X window container.
(xcb:+request exwm--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid frame-container
+ :depth 0
+ :wid frame-container
:parent container
- :x 0 :y 0 :width width :height height :border-width 0
- :class xcb:WindowClass:CopyFromParent
- :visual 0 ;CopyFromParent
- :value-mask xcb:CW:OverrideRedirect
+ :x 0
+ :y 0
+ :width width
+ :height height
+ :border-width 0
+ :class xcb:WindowClass:InputOutput
+ :visual 0
+ :value-mask (logior xcb:CW:BackPixmap
+ xcb:CW:OverrideRedirect)
+ :background-pixmap xcb:BackPixmap:ParentRelative
:override-redirect 1))
;; Put it at bottom.
(xcb:+request exwm--connection
diff --git a/exwm-manage.el b/exwm-manage.el
index b883124..a8713ff 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -83,6 +83,7 @@ corresponding buffer.")
(defvar exwm-workspace--current)
(defvar exwm-workspace--switch-history-outdated)
(defvar exwm-workspace-current-index)
+(defvar exwm-workspace--workareas)
(declare-function exwm--update-window-type "exwm.el" (id &optional force))
(declare-function exwm--update-class "exwm.el" (id &optional force))
@@ -208,14 +209,21 @@ corresponding buffer.")
(setq exwm--container (xcb:generate-id exwm--connection))
(xcb:+request exwm--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid exwm--container
+ :depth 0
+ :wid exwm--container
:parent (frame-parameter exwm-workspace--current
'exwm-workspace)
- :x 0 :y 0 :width 1 :height 1 :border-width 0
- :class xcb:WindowClass:CopyFromParent
- :visual 0 ;CopyFromParent
- :value-mask (logior xcb:CW:OverrideRedirect
+ :x 0
+ :y 0
+ :width 1
+ :height 1
+ :border-width 0
+ :class xcb:WindowClass:InputOutput
+ :visual 0
+ :value-mask (logior xcb:CW:BackPixmap
+ xcb:CW:OverrideRedirect
xcb:CW:EventMask)
+ :background-pixmap xcb:BackPixmap:ParentRelative
:override-redirect 1
:event-mask xcb:EventMask:SubstructureRedirect))
(exwm--debug
diff --git a/exwm-systemtray.el b/exwm-systemtray.el
index e978f64..36f7f3b 100644
--- a/exwm-systemtray.el
+++ b/exwm-systemtray.el
@@ -334,10 +334,17 @@ You shall use the default value if using auto-hide
minibuffer.")
(setq exwm-systemtray--selection-owner-window id)
(xcb:+request exwm-systemtray--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid id :parent exwm--root
- :x 0 :y 0 :width 1 :height 1
- :border-width 0 :class xcb:WindowClass:InputOnly
- :visual 0 :value-mask xcb:CW:OverrideRedirect
+ :depth 0
+ :wid id
+ :parent exwm--root
+ :x 0
+ :y 0
+ :width 1
+ :height 1
+ :border-width 0
+ :class xcb:WindowClass:InputOnly
+ :visual 0
+ :value-mask xcb:CW:OverrideRedirect
:override-redirect 1))
;; Get the selection ownership.
(xcb:+request exwm-systemtray--connection
@@ -397,7 +404,7 @@ You shall use the default value if using auto-hide
minibuffer.")
:width 1
:height exwm-systemtray-height
:border-width 0
- :class xcb:WindowClass:CopyFromParent
+ :class xcb:WindowClass:InputOutput
:visual 0
:value-mask (logior xcb:CW:BackPixmap xcb:CW:EventMask)
:background-pixmap xcb:BackPixmap:ParentRelative
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 977cfe6..3d3a542 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -1171,14 +1171,20 @@ Please check `exwm-workspace--minibuffer-own-frame-p'
first."
(set-frame-parameter frame param (frame-parameter w param))))
(xcb:+request exwm--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid workspace :parent exwm--root
- :x 0 :y 0
+ :depth 0
+ :wid workspace
+ :parent exwm--root
+ :x 0
+ :y 0
:width (x-display-pixel-width)
:height (x-display-pixel-height)
- :border-width 0 :class xcb:WindowClass:CopyFromParent
- :visual 0 ;CopyFromParent
- :value-mask (logior xcb:CW:OverrideRedirect
+ :border-width 0
+ :class xcb:WindowClass:InputOutput
+ :visual 0
+ :value-mask (logior xcb:CW:BackPixmap
+ xcb:CW:OverrideRedirect
xcb:CW:EventMask)
+ :background-pixmap xcb:BackPixmap:ParentRelative
:override-redirect 1
:event-mask xcb:EventMask:SubstructureRedirect))
(xcb:+request exwm--connection
@@ -1188,13 +1194,19 @@ Please check `exwm-workspace--minibuffer-own-frame-p'
first."
:stack-mode xcb:StackMode:Below))
(xcb:+request exwm--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid container :parent workspace
- :x 0 :y 0
+ :depth 0
+ :wid container
+ :parent workspace
+ :x 0
+ :y 0
:width (x-display-pixel-width)
:height (x-display-pixel-height)
- :border-width 0 :class xcb:WindowClass:CopyFromParent
- :visual 0 ;CopyFromParent
- :value-mask xcb:CW:OverrideRedirect
+ :border-width 0
+ :class xcb:WindowClass:InputOutput
+ :visual 0
+ :value-mask (logior xcb:CW:BackPixmap
+ xcb:CW:OverrideRedirect)
+ :background-pixmap xcb:BackPixmap:ParentRelative
:override-redirect 1))
(exwm--debug
(xcb:+request exwm--connection
@@ -1372,12 +1384,19 @@ applied to all subsequently created X frames."
container)
(xcb:+request exwm--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid container :parent exwm--root
- :x -1 :y -1 :width 1 :height 1
+ :depth 0
+ :wid container
+ :parent exwm--root
+ :x 0
+ :y 0
+ :width 1
+ :height 1
:border-width 0
- :class xcb:WindowClass:CopyFromParent
- :visual 0 ;CopyFromParent
- :value-mask xcb:CW:OverrideRedirect
+ :class xcb:WindowClass:InputOutput
+ :visual 0
+ :value-mask (logior xcb:CW:BackPixmap
+ xcb:CW:OverrideRedirect)
+ :background-pixmap xcb:BackPixmap:ParentRelative
:override-redirect 1))
(exwm--debug
(xcb:+request exwm--connection
diff --git a/exwm.el b/exwm.el
index afec152..0bc9701 100644
--- a/exwm.el
+++ b/exwm.el
@@ -609,10 +609,17 @@
(let ((new-id (xcb:generate-id exwm--connection)))
(xcb:+request exwm--connection
(make-instance 'xcb:CreateWindow
- :depth 0 :wid new-id :parent exwm--root
- :x -1 :y -1 :width 1 :height 1
- :border-width 0 :class xcb:WindowClass:CopyFromParent
- :visual 0 :value-mask xcb:CW:OverrideRedirect
+ :depth 0
+ :wid new-id
+ :parent exwm--root
+ :x 0
+ :y 0
+ :width 1
+ :height 1
+ :border-width 0
+ :class xcb:WindowClass:InputOnly
+ :visual 0
+ :value-mask xcb:CW:OverrideRedirect
:override-redirect 1))
(dolist (i (list exwm--root new-id))
;; Set _NET_SUPPORTING_WM_CHECK
- [elpa] externals/exwm updated (8e3fc36 -> 108b394), Chris Feng, 2016/08/12
- [elpa] externals/exwm 6bd85db 2/7: * exwm-manage.el (exwm-manage--scan): Check for possibly, Chris Feng, 2016/08/12
- [elpa] externals/exwm e4ecd79 4/7: * exwm-manage.el (exwm-manage--unmanage-window): Do not clear struts, Chris Feng, 2016/08/12
- [elpa] externals/exwm 8a438c2 3/7: Always put the desktop at bottom, Chris Feng, 2016/08/12
- [elpa] externals/exwm db5128c 1/7: Fix CreateWindow attributes,
Chris Feng <=
- [elpa] externals/exwm 108b394 7/7: Fix _NET_DESKTOP_VIEWPORT, Chris Feng, 2016/08/12
- [elpa] externals/exwm badf1c3 6/7: Raise all docks/panels when switching workspace, Chris Feng, 2016/08/12
- [elpa] externals/exwm ebcc959 5/7: Check for _NET_WM_STATE_FULLSCREEN on managing, Chris Feng, 2016/08/12