Age | Commit message (Collapse) | Author | Files | Lines |
|
* exwm-manage.el (exwm-manage--manage-window): Add support for
_NET_WM_WINDOW_TYPE_DESKTOP and _NET_WM_WINDOW_TYPE_DOCK (they are not
reparented).
|
|
We don't need more than the currently logged in user
to have access to the X session, so don't grant X host access
to other users.
|
|
* exwm-manage.el (exwm-manage--on-MapRequest): Correct a wrong variable
name.
|
|
|
|
* exwm.el (exwm-init):
exwm-config.el (exwm-config-misc):
Disable dialog boxes and hourglass pointer by default.
|
|
* exwm-randr.el (exwm-randr-screen-change-hook): New hook.
(exwm-randr--init): Run the new hook in the event handler of
ScreenChangeNotify.
|
|
* exwm-input.el: Use new calling conventions of xcb:keysyms
|
|
* exwm-core.el (exwm-mode): Use the return value of
exwm-manage--close-window.
* exwm-manage.el (exwm-manage--close-window): Kill empty buffers; Handle X
windows that does not support _NET_WM_PING.
(exwm-manage--kill-client): Kill X windows supporting _NET_WM_PID with
both SIGKILL and KillClient.
|
|
* exwm-manage.el (exwm-manage--manage-window, exwm-manage--on-MapRequest):
Check managed X windows in exwm-manage--on-MapRequest instead.
|
|
* exwm-input.el (exwm-input--update-global-prefix-keys)
(exwm-input--fake-key, exwm-input--init): Check the return value of
xcb:keysyms:event->keysym.
|
|
* exwm-config.el: Demo EXWM configurations.
* xinitrc: Demo xinitrc file.
* exwm.el (exwm-enable-ido-workaround, exwm-disable-ido-workaround): Partly
moved to exwm-config.el.
|
|
* exwm-floating.el (exwm-floating--set-floating): Reparent floating frames
as late as possible.
* exwm-manage.el (exwm-manage--unmanage-window): Hide floating frames first
on unmanagement.
|
|
* exwm-input.el (exwm-input--on-buffer-list-update): Schedule input focus
switch with idle timer.
|
|
* exwm-workspace.el (exwm-workspace-switch, exwm-workspace--on-focus-in):
Delay closing minibuffer until Emacs is idle. This prevent nonlocal exits
from interrupting remaining code.
|
|
* exwm-workspace.el (exwm-workspace-switch, exwm-workspace--on-focus-in):
Use handle-switch-frame instead of exwm-workspace--switch-count to filter
out events.
* exwm-workspace.el (exwm-workspace--init): Delay making workspaces
fullscreen.
* exwm-workspace.el (exwm-workspace-move-window):
* exwm-floating.el (exwm-floating--set-floating):
* exwm-layout.el (exwm-layout--refresh):
`set-buffer-major-mode` does not accept buffer names.
|
|
* exwm-core.el (exwm--make-emacs-idle-for): Removed.
* exwm-workspace.el (exwm-workspace--switch-count): New variable.
(exwm-workspace-switch): Increase exwm-workspace--switch-count when
necessary; Remove the call to exwm--make-emacs-idle-for.
(exwm-workspace--on-focus-in): Consume exwm-workspace--switch-count.
* exwm-workspace.el (exwm-workspace--on-focus-in): Close active minibuffer.
|
|
* exwm-workspace.el (exwm-workspace-switch): An active minibuffer on another
workspace might cause problems for input. Closing it should be
sufficient.
|
|
* exwm-input.el (exwm-input-command-whitelist): New variable.
(exwm-input--on-KeyPress-line-mode): Allow certain commands which receive
inputs without using the minibuffer to work in line-mode.
|
|
* exwm-input.el (exwm-input--update-focus, exwm-input--on-ButtonPress):
Make sure Emacs windows are alive before manipulating them.
|
|
* exwm-manage.el (exwm-manage--manage-window): Restrict the check of
_MOTIF_WM_HINTS to only Java applications (since some other applications
like Evince would also set it).
|
|
* exwm-floating.el (exwm-floating--set-floating): Always use relative
positions.
|
|
Some subrs (e.g. x-file-dialog) create X windows and block the execution of
EXWM, so they won't work normally. This commit partly fixes this issue by
invoking them in a subordinate Emacs instance and trying to fetch the
result back.
* exwm.el (exwm-blocking-subrs): New variable for specify such subrs.
* exwm.el (exwm-enable, exwm--server-name, exwm--server-stop)
(exwm--server-eval-at): The implementation.
* exwm-core.el:
* exwm-floating.el:
* exwm-layout.el:
* exwm-manage.el:
* exwm-randr.el:
Evaluate constants at compile-time.
* README.md: Renamed from README.org to make the 'Commentary:' section
used by GNU ELPA instead.
* exwm.el: Depends on XELB version 0.3.
|
|
* exwm-input.el (exwm-input--on-ButtonPress): [click-to-focus] Switch to
the corresponding workspace if necessary.
|
|
* exwm-floating.el (exwm-floating--set-floating): The position of a
floating frame should be relative to its workspace.
|
|
* exwm-input.el (exwm-input--on-KeyPress-line-mode, exwm-input-prefix-keys):
Allow users to disable 'C-c' prefixed keys; Add 'C-c' to / remove 'M-!'
from the default prefix keys.
* exwm-workspace.el (exwm-workspace--x-create-frame, exwm-workspace--init):
Advice `x-create-frame' to prevent it from hanging EXWM, making e.g.
speedbar working.
* exwm-floating.el (exwm-floating--set-floating): Remove the now unnecessary
request that sets override-redirect on floating frames.
|
|
* .gitignore: Add ELPA files.
* exwm-workspace.el: Autoload exwm-workspace-switch.
* README.org: Renamed from README.md; add an installation note.
|
|
* exwm-manage.el (exwm-manage--manage-window): Only grab left/middle/right
buttons.
* exwm-input.el (exwm-input--on-ButtonPress): Only perform click-to-focus on
unfocused X windows.
* exwm-input.el (exwm-input--update-focus): Do not focus an X window on
another workspace, but instead keep focusing on the current one and set
exwm--urgency parameter on that frame.
* exwm-input.el (exwm-input--fake-key): Send KeyRelease event (some
applications reply on it).
|
|
* exwm-manage.el (exwm-manage--manage-window): Should manage non-floating
windows without decorations.
|
|
* exwm-core.el: New buffer-local variable exwm--mwm-hints.
* exwm-manage.el: New variable exwm--atom-_MOTIF_WM_HINTS for holding the
value of _MOTIF_WM_HINTS atom; new function exwm--update-mwm-hints for
updating the _MOTIF_WM_HINTS property of an X window.
* exwm-manage.el (exwm-manage--init): Intern the _MOTIF_WM_HINTS atom.
* exwm-manage.el (exwm-manage--manage-window): Avoid managing windows
without decoration (implied by _MOTIF_WM_HINTS).
|
|
* exwm-floating.el:
* exwm-layout.el:
Avoid autoloading exwm-floating-border-width.
* exwm-workspace.el:
Avoid autoloading exwm-workspace--switch-history-outdated.
|
|
* exwm-input.el (exwm-input--on-KeyPress-char-mode): Compensate FocusOut
event by sending a synthetic FocusIn event to prevent the change of cursor
style (e.g. box to hollow) when pointer is in an X window.
|
|
* exwm-floating.el: Autoload exwm-floating-border-width.
|
|
* exwm-floating.el (exwm-floating--set-floating): Set exwm--floating-edges
as absolute edges (the relative edges can be easily determined).
* exwm-layout.el (exwm-layout--show): Send correct absolute positions to
floating X windows.
* exwm-floating.el (exwm-floating--stop-moveresize, exwm-floating-move): Send
ConfigureNotify events after moving floating X windows.
|
|
* exwm-workspace.el (exwm-workspace--switch-history-outdated)
(exwm-workspace--update-switch-history, exwm-workspace-switch)
(exwm-workspace-move-window):
* exwm.el (exwm--update-hints, exwm--on-ClientMessage):
* exwm-floating.el (exwm-floating--set-floating):
* exwm-manage.el (exwm-manage--manage-window, exwm-manage--unmanage-window):
Update exwm-workspace--switch-history only when it's used.
|
|
to its buffer
* exwm-workspace.el (exwm-workspace-show-all-buffers, exwm-workspace-switch)
(exwm-workspace-move-window, exwm-workspace-switch-to-buffer): Show buffers
on other workspaces if `exwm-workspace-show-all-buffers' is non-nil.
* exwm-layout.el (exwm-layout-show-all-buffers, exwm-layout--refresh): Allow
moving an X window by switch to its corresponding buffer from another
workspace when `exwm-layout-show-all-buffers' is non-nil.
* exwm.el (exwm--ido-buffer-window-other-frame): Handle the case when
`exwm-layout-show-all-buffers' is non-nil.
* exwm-floating.el (exwm-floating--set-floating): Handle the case when
*scratch* buffer is killed.
* exwm-workspace.el (exwm-workspace-switch-to-buffer): Renamed from
`exwm-workspace-switch-to-window' to better reflect its role.
|
|
* exwm-randr.el (exwm-randr--refresh): Could not set the name slot in
xcb:randr:GetOutputInfo~reply, turn to another variable.
|
|
* exwm-workspace.el (exwm-workspace-move-window): Move to selected instead of
the first window of a frame (workspace).
|
|
* exwm-floating.el: Remove an invalid TODO item.
* exwm-floating.el (exwm-floating--set-floating)
(exwm-floating-hide-mode-line, exwm-floating-show-mode-line): Set
window-size-fixed only for fixed-size floating windows.
* exwm-floating.el (exwm-floating-move): New function for moving a floating
window.
* exwm-layout.el (exwm-layout-enlarge-window)
(exwm-layout-enlarge-window-horizontally, exwm-layout-shrink-window)
(exwm-layout-shrink-window-horizontally): New commands for interactively
resizing a floating window.
|
|
* exwm-workspace.el (exwm-workspace-switch-to-window): Allow switch to normal
buffers.
|
|
* exwm-workspace.el (exwm-workspace-move-window): Hide buffer on the original
Emacs window when moving an X window to the current workspace.
* exwm-workspace.el: New function exwm-workspace-switch-to-window for
interactively moving an X window on another workspace to the current one.
|
|
The _NET_CLIENT_LIST_STACKING EWMH property is essential for e.g. the tabbar of
chromium to work correctly.
* exwm-input.el: Remove invalid TODO item.
* exwm.el (exwm--init-icccm-ewmh): Add xcb:Atom:_NET_CLIENT_LIST and
xcb:Atom:_NET_CLIENT_LIST_STACKING to _NET_SUPPORTED.
* exwm-layout.el (exwm-layout--refresh): Update _NET_CLIENT_LIST_STACKING.
* exwm-manage.el (exwm-manage--manage-window, exwm-manage--unmanage-window):
Update _NET_CLIENT_LIST.
|
|
* exwm-core.el: new buffer-local variable exwm--floating-mode-line-format for
saving mode-line-format when mode-line is hidden
* exwm-floating.el (exwm-floating--fit-frame-to-window)
(exwm-floating-hide-mode-line, exwm-floating-show-mode-line): new functions
for resizing frames, hiding/showing mode-line respectively;
(exwm-floating--set-floating): use exwm-floating--fit-frame-to-window to
resize frames
|
|
* exwm-workspace.el (exwm-workspace--update-switch-history): use `aref' instead
of `elt' to index vectors
* .elpaignore: ignore README.md
|
|
* Transfer copyright to Free Software Foundation
* Add packaging components (e.g. headers)
* Coding style fixes:
+ Quote functions with "#'"
+ Wrap long lines
+ Fix doc strings / comments
* Replace `string-to-int' with `string-to-number'
* Fix compiling errors / eliminate compiling warnings
+ Add exwm-core.el to hold common variables, functions and macros
* Remove the redundant COPYING file
* Add .gitignore
* Rename README to README.md
|
|
* exwm-floating.el (exwm-floating--start-moveresize): when resizing type cannot
be decided, ungrab the previously grabbed pointer.
|
|
Minor fix (quote class for make-instance)
|
|
|
|
|
|
When Emacs is invoked as `emacsclient -a '' -c`, it creates a frame that can
be deleted without any prompt. This commit removes the `client` parameter from
that frame to avoid such inconvenience.
|
|
Since the performance of `xcb:keysyms:update-keyboard-mapping` is no longer an
problem, we allow every possible refresh of keyboard mapping again.
|