ch11ng / exwm

Emacs X Window Manager
2.85k stars 134 forks source link

char-mode not working funcall-interactively: Buffer is read-only #807

Open divansantana opened 3 years ago

divansantana commented 3 years ago

Hi,

This might be more of something I broke then a bug in exwm.

If I switch to char-mode and try type anything, I get:

funcall-interactively: Buffer is read-only: #<buffer QEMU>

I'm not sure what I've done to cause this.

divansantana commented 3 years ago
Emacs version
GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.23, cairo version 1.16.0)

emacs-exwm      0.24    out     /gnu/store/ypp043ixxqyddys9x1pnl6scpxq1dck7-emacs-exwm-0.24

$ Xorg -version

X.Org X Server 1.20.10
X Protocol Version 11, Revision 0
Build Operating System: GNU GuixSD
Current Operating System: Linux swift 5.4.86 #1 SMP 1 x86_64
Kernel command line: BOOT_IMAGE=/gnu/store/6ihp0z3q62d5im2ak96baiy5fw42g9f8-linux-5.4.86/bzImage --root=/dev/mapper/crypt --system=/gnu/store/b7p2cg8ldi8n1vm57gqvgh8vim0fhrgq-system --load=/gnu/store/b7p2cg8ldi8n1vm57gqvgh8vim0fhrgq-system/boot resume_offset=106602496 modprobe.blacklist=pcspkr,snd_pcsp net.ifnames=0 kvm_intel.nested=1
Build Date: 01 January 1970  12:00:01AM

Current version of pixman: 0.38.4
XELB-DEBUG

[00:22:29] exwm-input--on-echo-area-clear:
[00:22:29] exwm-input--on-echo-area-dirty:
[00:22:30] exwm-input--on-KeyPress: major-mode=exwm-mode buffer=char-mode not working funcall-interactively: Buffer is read-only · Issue #807 · ch11ng/exwm - qutebrowser
[00:22:30] exwm-input--on-KeyPress-char-mode:   (65515 . 0)
[00:22:32] exwm-input--on-KeyPress: major-mode=exwm-mode buffer=char-mode not working funcall-interactively: Buffer is read-only · Issue #807 · ch11ng/exwm - qutebrowser
[00:22:32] exwm-input--on-KeyPress-char-mode:   (65289 . 1)
[00:22:32] exwm-input--mimic-read-event:
[00:22:32] exwm-input--cache-event: s-tab
[00:22:32] exwm-input--on-echo-area-clear:
[00:22:32] exwm-input--on-buffer-list-update:   current-buffer=#<buffer char-mode not working funcall-interactively: Buffer is read-only · Issue #807 · ch11ng/exwm - qutebrowser> selected-window=#<window 3 on char-mode not working funcall-interactively: Buffer is read-only · Issue #807 · ch11ng/exwm - qutebrowser>
[00:22:32] exwm-input--on-buffer-list-update:   current-buffer=#<buffer *XELB-DEBUG*> selected-window=#<window 3 on *XELB-DEBUG*>
[00:22:32] exwm-input--on-echo-area-dirty:
[00:22:32] exwm-layout--refresh:    frame=#<frame *XELB-DEBUG* 0x5979370>
[00:22:32] exwm-layout--refresh-workspace:  Refresh workspace #<frame *XELB-DEBUG* 0x5979370>
[00:22:32] exwm-layout--hide:   Hide #x2600053
[00:22:32] exwm-layout--set-state:  id=#x2600053
[00:22:32] exwm-layout--set-client-list-stacking:
[00:22:32] exwm-layout--refresh:    frame=#<frame *XELB-DEBUG* 0x5979370>
[00:22:32] exwm-layout--refresh-workspace:  Refresh workspace #<frame *XELB-DEBUG* 0x5979370>
[00:22:32] exwm-layout--set-client-list-stacking:
[00:22:32] exwm-input--update-focus:    focus-window=#<window 3 on *XELB-DEBUG*> focus-buffer=*XELB-DEBUG*
[00:22:32] exwm-input--update-focus:    Focus on #<window 3 on *XELB-DEBUG*>
[00:22:32] exwm-input--set-active-window:
[00:22:32] exwm-input--on-echo-area-dirty:
[00:22:32] exwm-input--on-echo-area-dirty:
[00:22:32] exwm--on-PropertyNotify: atom=WM_STATE(515)
[00:22:32] exwm--on-PropertyNotify: Unhandled: WM_STATE(515)
[00:22:32] exwm-input--on-PropertyNotify:
[00:22:32] exwm--on-PropertyNotify: atom=_NET_WM_STATE(371)
[00:22:32] exwm--on-PropertyNotify: Unhandled: _NET_WM_STATE(371)
[00:22:32] exwm-input--on-PropertyNotify:
divansantana commented 3 years ago

Should have checked other bug reports first. I see #585 looks similar. Let me try figure it out.

divansantana commented 3 years ago

Seems this might be fixed with a more recent commit.

divansantana commented 3 years ago

Ok, it was this line in my config that caused it.

(exwm-input-set-key (kbd "<XF86RFKill>") #'desktop-environment-toggle-wifi)
divansantana commented 3 years ago

Can someone try reproduce this on their side? It should be a bug in exwm then, that should be fixed.

platoali commented 1 year ago

I have the same issue with qutebrowser. I can produce it consistently.

  1. just open a fresh exwm session.
  2. open qutebrowser. (I open it with Counsel-launch)
  3. switch to another workspace with (S-n).
  4. go back to the qutebrowser's workspace . and I get funcall-interactively: Buffer is read-only: #<buffer qute: ch11ng/exwm: Emacs X Window Manager - qutebrowser> [4 times]

If just press (C-xo ) I can see in Messages No other window to select and the qutebrowser will become accessible.

platoali commented 1 year ago

I have the same issue with qutebrowser. I can produce it consistently.

  1. just open a fresh exwm session.
  2. open qutebrowser. (I open it with Counsel-launch)
  3. switch to another workspace with (S-n).
  4. go back to the qutebrowser's workspace . and I get funcall-interactively: Buffer is read-only: #<buffer qute: ch11ng/exwm: Emacs X Window Manager - qutebrowser> [4 times]

If just press (C-xo ) I can see in Messages No other window to select and the qutebrowser will become accessible.

I played with my config. and found this line was the cause of the problem:

(exwm-input-set-key (kbd "C-s-j") 'window-swap-states)

commented it out and the problem went away.