ecb-home / ecb

ECB Main Repository
Other
54 stars 11 forks source link

Buffer considered active by ECB maintains focus regardless of frame when ecb windows are shown #22

Open TLATER opened 8 years ago

TLATER commented 8 years ago

It's hard to describe this in much more detail. Whenever ECB is active, moving to a different frame (or non-emacs buffer with exwm) the buffer that was last active steals the focus back almost immediately.

I believe this issue has shown up in the CEDET mailing lists before, but it has remained without a proper response since 2005 (probably the wrong mailing list). I suppose emacs + multiple frames + ecb is a very rare use case, but with exwm this is very noticeable.

ware commented 8 years ago

Thanks for reporting it. I'll see if I can reproduce it.

ware commented 7 years ago

@TLATER, are you still seeing this issue? I haven't been able to reproduce it yet. Then again, I'm not normally a exwm user.

TLATER commented 7 years ago

@ware I will have a look, it's there in whatever version MELPA currently has, but I assume changes have not been pushed to any package repository yet...

TLATER commented 7 years ago

Well, that took far longer than I thought it would. I don't currently have the time to go through the manual setup process, so I can't confirm it for the current commit just yet - I will attempt that in ~2-3 weeks.

Either way, in case it's useful, here is my minimal configuration to reproduce (I have not tried different ecb settings). It installs and downloads everything with use-package to try on a fresh setup, that package should hopefully be unrelated:

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(ecb-options-version "2.50"))

;; Add MELPA package repository
(require 'package)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("melpa" . "http://melpa.org/packages/")))
(setq package-load-list '(all))
(package-initialize)

;; Allow use-package to install packages if not present
(setq use-package-always-ensure t)

(use-package exwm
  :config
  (exwm-enable))

(use-package ecb
  :init
  (setq ecb-compile-window-height 10)
  (setq ecb-major-modes-show-or-hide '(nil))
  (setq ecb-other-window-behavior 'smart)
  (setq ecb-source-path '(("/" "/")))
  (setq ecb-vc-enable-support t)
  (setq ecb-compilation-buffer-names
        '(("*Calculator*")
          ("*vc*")
          ("*vc-diff*")
          ("*Apropos*")
          ("*Occur*")
          ("*shell*")
          ("\\*[cC]ompilation.*\\*" . t)
          ("\\*i?grep.*\\*" . t)
          ("*JDEE Compile Server*")
          ("*Help*")
          ("*Completions*")
          ("*Backtrace*")
          ("*Compile-log*")
          ("*bsh*")
          ("*Messages*")
          ("*compilation*")))
  :bind
  ("C-c w r" . ecb-redraw-layout))

Steps to reproduce are:

  1. Use M-x ecb-activate
  2. Use M-x exwm-workspace-switch +
  3. Use M-x exwm-workspace-switch 1
  4. Wait a few seconds for the frame to switch back