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:
Vincent Ambo 2021-12-08 22:16:33 +03:00
commit 57b37cdc83
12 changed files with 32 additions and 22 deletions

View file

@ -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."