about summary refs log tree commit diff
path: root/exwm-manage.el
AgeCommit message (Collapse)AuthorFilesLines
2015-08-27 Fix window size calculationsChris Feng1-1/+1
* When sending the synthetic ConfigureNotify event, make sure we are dealing with the correct Emacs window * When managing a floating window, ensure it can be easily pick up by the user
2015-08-24 Only manage windows mapped as the direct children of root window (close #38)Chris Feng1-3/+8
Sometimes Emacs create child windows of virtual roots. This commit ensures EXWM will not manage them.
2015-08-17 Improve code robustness.Philip1-4/+3
* exwm-layout.el (exwm-layout-unset-fullscreen) (exwm-layout-set-fullscreen): Use `user-error' rather than `cl-assert'. * exwm-input.el (exwm-input--set-focus): Silently accept unknown ids. (exwm-input--grab-keyboard) (exwm-input--release-keyboard): Silently ignore calls for windows that have no buffer. * exwm-manage.el (exwm-manage--kill-client): Don't throw error when trying to kill a vanished window.
2015-08-14 Honor `value-mask` field in ConfigureRequest eventChris Feng1-10/+10
Some applications (e.g. JNLP) don't set correct values for fields not mentioned in `value-mask`. This commit corrects this bug together with another Java AWT specific problem.
2015-08-13 Fix multi-screen bugsChris Feng1-3/+10
* RandR module is now made optional; users can enable it with `exwm-randr-enable`. * Correct the calculation of sizes/coordinates at various places. * Input focus is now tracked with (Emacs) window instead of buffer since the latter can be ambiguous in multi-screen settings.
2015-08-12 Improve input focus switch mechanismChris Feng1-9/+2
This commit should fix most input focus bugs (especially those related to floating windows). The actual settings of input focus are delayed to exclude redundant event. Dead code since this commit is removed. This commit also fixes a bug for non-floating windows converted form floating state. The workaround for `ido-mode` is also improved to properly handle `exwm-mode` buffers.
2015-08-11 Center floating windows by defaultChris Feng1-0/+7
This commit makes a floating window centered to its leading window if it has a valid WM_TRANSIENT_FOR property set. Other it's placed at the center of the screen.
2015-08-11 Remove redundant code caused by the concurrency of events (contd, 2)Chris Feng1-4/+1
* Remove locks that are no longer required * Also fix #20 (inactive workspace frame steals input focus)
2015-08-10 Remove redundant code caused by the concurrency of events (continued)Chris Feng1-2/+2
Remove `exwm--with-current-id`, which was introduced to as a wrapper to `with-current-buffer` to do extra checks. Note that in functions run as hooks, the validation of window ID is still required as they are not synchronized with events.
2015-08-09 Remove redundant code caused by the concurrency of eventsChris Feng1-10/+1
With the introduction of ch11ng/xelb@6a7bccc, many weird behaviors should disappear. These include by not limit to * race conditions when managing a window (a workaround is provided in @14628a9) * race conditions when unmanaging a window This commit removes some corresponding code.
2015-08-08 Fixes for manage/unmanage windowChris Feng1-3/+13
* Make sure `exwm-manage--manage-window-queue` is cleaned * Improve input focus handling after unmanaging a window * Remove a redundant call to `exwm-layout--show`
2015-08-07 Fix race conditions when managing a windowChris Feng1-1/+13
Since it takes some time for EXWM to create a buffer for a window (to do some checking for example), the window may send several MapRequest events before it's mapped. This commit should fix such issue.
2015-08-07 Fix input focus lost after closing windowChris Feng1-2/+4
Also insert some debug messages.
2015-08-06 Fix fullscreen issuesChris Feng1-5/+9
* Correct ConfigureNotify events sent to fullscreen windows. * Exit fullscreen mode before switching workspace. * Temporarily treat `xcb:Atom:_NET_WM_STATE_ABOVE` as `xcb:Atom:_NET_WM_STATE_FULLSCREEN` since a) "plugin-container" (Flash Player) seems only set this, and b) it's not normally used by applications. This makes fullscreen videos working in e.g. iceweasel.
2015-07-17 First commitChris Feng1-0/+333