about summary refs log tree commit diff
path: root/exwm-layout.el (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2015-08-12 Improve input focus switch mechanismChris Feng5-81/+62
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 Feng3-2/+26
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 Fix buffer switch problemsChris Feng2-1/+31
* Prevent switching to floating windows or windows on other workspaces * Provide a workaround for `ido-mode` (can be enabled with `(exwm-enable-ido-workaround)`)
2015-08-11 Remove redundant code caused by the concurrency of events (contd, 2)Chris Feng4-61/+45
* Remove locks that are no longer required * Also fix #20 (inactive workspace frame steals input focus)
2015-08-10 Ignore repeated `MappingNotify` eventsChris Feng1-7/+18
For some reason, `MappingNotify` events are generated quite frequently and greatly impact the performance. This commit disables the complete refresh of keyboard mapping.
2015-08-10 Remove redundant code caused by the concurrency of events (continued)Chris Feng4-37/+34
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-10 Fix emacsclient bugsChris Feng4-33/+49
`emacsclient` started with `-c` or `-t` argument create a new frame that shall not be used to manage X windows. Also fix some related input focus issues (with some remaining unfixed). Close #17.
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-09 Refresh when minibuffer grows (fix #10)Chris Feng1-1/+12
The expansion of echo area is not handled however.
2015-08-08 Show moved window by defaultChris Feng1-8/+13
2015-08-08 Correct layout refresh problemsChris Feng2-16/+21
* Relax the conditions to refresh layout; this may introduce some overheads though * Fix the problem when `*scratch*` buffer is killed; close #12 * Enhance `exwm-reset` by forcing layout refresh in it. This should allow users to overcome some layout bugs
2015-08-08 Fix some input focus issuesChris Feng2-5/+11
* Fix input focus lost after moving window to another workspace * Enhance `exwm-reset` to provide user a way to reset input focus when it's lost unexpectedly
2015-08-08 Fixes for manage/unmanage windowChris Feng2-4/+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 Feng4-12/+34
Also insert some debug messages.
2015-08-07 Various input fixesChris Feng3-27/+29
* Fix `exwm-reset` * Make input mode buffer local * Allow window to stay in `char-mode` while setting input focus to other window or switching to other workspace
2015-08-06 Check buffer mode in exwm-resetChris Feng2-8/+5
This should prevent users from misoperation.
2015-08-06 Fix fullscreen issuesChris Feng3-6/+16
* 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-08-05 Drop intro to EXIMChris Feng1-3/+0
2015-08-05 Various fixesChris Feng2-11/+14
* Prevent marking the end of a key sequence with a single `C-u'. * Enable `C-u' prefix for key simulation since it's not possible for users to define simulation keys starting with `C-u'. * Make Emacs idle only after the visual parts are updated to prevent from disturbing users. * Should use '?\s' instead of '? '.
2015-08-05 Fix typosMarkus S.1-3/+3
2015-08-03 Add basic RandR supportChris Feng3-28/+184
This implementation is analogous to that in i3-wm, which requires external tools to properly configure RandR first.
2015-07-26 Fix potential naming conflictsChris Feng1-4/+17
Buffers may share a same name (without the possible leading space) when created in different workspaces.
2015-07-19 Various fixesChris Feng2-12/+4
Remove wrong shift modifiers. Hide a Window when it's moved to another workspace.
2015-07-18 Various fixes for workspaceChris Feng3-6/+11
Fixes for full screen, move window, etc.
2015-07-18 Add wiki link to READMEChris Feng1-1/+2
2015-07-18 Improve move/resizeChris Feng1-100/+83
The type of move/resize is consistent during one complete operation. So there is no need to judge it on every mouse motion.