subtree(3p/exwm): Update to upstream '10bd1223'
A lot has happened in the meantime (EXWM maintainer change) and this pulls in all the relevant changes since then. It may become unnecessary to keep EXWM subtreed, but we'll get to that later. Change-Id: I45cc06d747d84b3d28fd0db0e4bb3b749a956583
This commit is contained in:
commit
57b37cdc83
12 changed files with 32 additions and 22 deletions
15
third_party/exwm/exwm-workspace.el
vendored
15
third_party/exwm/exwm-workspace.el
vendored
|
|
@ -1,6 +1,6 @@
|
|||
;;; exwm-workspace.el --- Workspace Module for EXWM -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2015-2020 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1015-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Chris Feng <chris.w.feng@gmail.com>
|
||||
|
||||
|
|
@ -165,18 +165,20 @@ NIL if FRAME is not a workspace"
|
|||
"Return t if FRAME is a workspace."
|
||||
(memq frame exwm-workspace--list))
|
||||
|
||||
(defvar exwm--client-p-hash-table
|
||||
(make-hash-table :test 'eq :weakness 'key))
|
||||
(defvar exwm-workspace--client-p-hash-table
|
||||
(make-hash-table :test 'eq :weakness 'key)
|
||||
"Used to cache the results of calling ‘exwm-workspace--client-p’.")
|
||||
|
||||
(defsubst exwm-workspace--client-p (&optional frame)
|
||||
"Return non-nil if FRAME is an emacsclient frame."
|
||||
(let* ((frame (or frame (selected-frame)))
|
||||
(cached-value (gethash frame exwm--client-p-hash-table 'absent)))
|
||||
(cached-value
|
||||
(gethash frame exwm-workspace--client-p-hash-table 'absent)))
|
||||
(if (eq cached-value 'absent)
|
||||
(puthash frame
|
||||
(or (frame-parameter frame 'client)
|
||||
(not (display-graphic-p frame)))
|
||||
exwm--client-p-hash-table)
|
||||
exwm-workspace--client-p-hash-table)
|
||||
cached-value)))
|
||||
|
||||
(defvar exwm-workspace--switch-map nil
|
||||
|
|
@ -1467,7 +1469,8 @@ the next workspace."
|
|||
;; care of converting a workspace into a regular unmanaged frame.
|
||||
(let ((exwm-workspace--create-silently t))
|
||||
(make-frame)))
|
||||
(exwm-workspace--remove-frame-as-workspace frame))))
|
||||
(exwm-workspace--remove-frame-as-workspace frame)
|
||||
(remhash frame exwm-workspace--client-p-hash-table))))
|
||||
|
||||
(defun exwm-workspace--on-after-make-frame (frame)
|
||||
"Hook run upon `make-frame' that configures FRAME as a workspace."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue