Skip to content

Toggle fullscreen reset window dedicated flag #142

@mobid

Description

@mobid

Hello,

I have next case:

  • open mpv player
  • set window dedicated (C-x w d)
  • toggle fullscreen (f)
  • toggle again (f)
  • Dedicated flag is cleared

I fixed behavior for me with next patch:

From 0436c6d24187c6e0cdec91646bfda3e127b5180e Mon Sep 17 00:00:00 2001
From: Matija Obid <[email protected]>
Date: Sun, 3 Aug 2025 19:17:17 +0200
Subject: [PATCH] Restore window dedicated flag after fullscreen

---
 exwm-layout.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exwm-layout.el b/exwm-layout.el
index ce53d32..fb805a0 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -211,6 +211,7 @@ See variable `exwm-layout-auto-iconify'."
     (cl-pushnew xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)
     (exwm-layout--set-ewmh-state exwm--id)
     (xcb:flush exwm--connection)
+    (set-window-parameter (get-buffer-window) 'exwm-dedicated (window-dedicated-p (get-buffer-window)))
     (set-window-dedicated-p (get-buffer-window) t)
     (exwm-input--release-keyboard exwm--id)))
 
@@ -240,7 +241,8 @@ See variable `exwm-layout-auto-iconify'."
         (when window
           (exwm-layout--show exwm--id window))))
     (xcb:flush exwm--connection)
-    (set-window-dedicated-p (get-buffer-window) nil)
+    (set-window-dedicated-p (get-buffer-window)
+                            (window-parameter (get-buffer-window) 'exwm-dedicated))
     (when (eq 'line-mode exwm--selected-input-mode)
       (exwm-input--grab-keyboard exwm--id))))
 
-- 
2.50.1

This patch save dedicated state before fullscreen and restore it after.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions