about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2022-03-24 Use 32-bit visual for frame containersAdrián Medraño Calvo2-4/+32
* exwm-core.el (exwm--get-visual-depth-colormap): New function. * exwm-workspace.el (exwm-workspace--add-frame-as-workspace): Use Emacs' frame's visual, depth and colormap. Reset all attributes that refer (also by default) to the parent window (the root window), as it might have a different visual, depth or colormap. Special-thanks-to: Elijah Malaby <qwe12345678910@gmail.com> for figuring out the changes needed to suport 32-bit visuals and proposing the initial version of this improvement.
2022-02-10 Set WM_STATE on emacs framesElijah Malaby1-0/+5
* exwm-workspace.el (exwm-workspace--add-frame-as-workspace): Set WM_STATE. Copyright-paperwork-exempt: yes
2022-02-10 Add license fileAdrián Medraño Calvo1-0/+674
* LICENSE: Add file.
2021-11-10 Bump version to 0.26Adrián Medraño Calvo1-1/+1
2021-11-10 Fix previous commit "Remove duplicate code"Adrián Medraño Calvo1-3/+5
* exwm-layout.el (exwm-layout-unset-fullscreen): `xcb:Atom:_NET_WM_STATE_FULLSCREEN' must be excised before invoking `exwm-layout--show'.
2021-11-02 Correct wrong variable nameAdrián Medraño Calvo1-1/+1
* exwm-workspace.el (exwm-workspace--on-delete-frame): Correct misstyped name of variable `exwm-workspace--client-p-hash-table'.
2021-10-30 Remove duplicate codeAdrián Medraño Calvo1-2/+0
* exwm-layout.el (exwm-layout-unset-fullscreen): Remove double removal of `xcb:Atom:_NET_WM_STATE_FULLSCREEN' from `exwm--ewmh-state'.
2021-10-30 Merge branch 'mattbeshara.github.com/less-consy-workspace--client-p' into ↵Adrián Medraño Calvo1-3/+15
externals/exwm
2021-10-30 Merge branch 'tumashu.github.com/master' into externals/exwmAdrián Medraño Calvo1-0/+7
2021-10-30 Bump version to 0.25Adrián Medraño Calvo1-1/+1
2021-10-29 Update copyright year to 2021Adrián Medraño Calvo12-12/+12
2021-10-29 New maintainerAdrián Medraño Calvo1-1/+1
2021-10-25 Explicitly remove workspace frames from client-p cache when deletedMatt Beshara1-1/+2
* exwm-workspace.el (exwm-workspace--on-delete-frame): Clean up hash table entries upon removing a workspace.
2021-10-25 Rename variable using ‘exwm-workspace’ package prefix; add docstringMatt Beshara1-4/+6
* exwm-workspace.el (exwm-workspace--client-p-hash-table): Rename `exwm--client-p-hash-table'.
2021-10-25 Use a hash table to cache result of ‘exwm-workspace--client-p’Matt Beshara1-2/+11
* exwm-workspace.el (exwm--client-p-hash-table): New variable. (exwm-workspace--client-p): Use `exwm--client-p-hash-table' to store which workspace frames are client frames instead of frequently invoking `frame-parameter'.
2021-10-25 Merge branch 'tumashu.github.com/master' into externals/exwmAdrián Medraño Calvo1-0/+7
2021-10-25 Add variable indicating XIM buffersFeng Shu1-0/+7
* exwm-xim.el (exwm-xim-buffer-p): New variable. (exwm-xim--handle-forward-event-request): Add exwm-xim-buffer-p
2020-07-12 Make button events working with winner-modeChris Feng1-11/+17
* exwm-input.el (exwm-input--fake-last-command): Extracted for reuse. (exwm-input--on-ButtonPress, exwm-input--on-KeyPress-line-mode): Use it.
2020-06-14 Fix fullscreen statesChris Feng1-2/+4
* exwm-layout.el (exwm-layout-set-fullscreen, exwm-layout-unset-fullscreen): Use `exwm--id' for interactive use. (exwm-layout-unset-fullscreen): Mandatorily clear fullscreen states.
2020-05-24 Bump version to 0.24Chris Feng1-1/+1
2020-05-10 Clarify the use of `exwm-config-default'Chris Feng2-2/+5
* exwm-config.el (exwm-config-example): Renamed from `exwm-config-default' to make it clear it's just an example.
2020-05-10 Make return key work in exwm-ximChris Feng1-1/+2
* exwm-xim.el (exwm-xim--handle-forward-event-request): Send all key events to Emacs while invoking an input method (don't rely on its keymap definition).
2020-05-10 Merge branch 'medranocalvo/upcase-menu-item' into externals/exwmChris Feng1-1/+1
2020-05-10 Merge branch 'medranocalvo/prevent-jump-back-workspace' into externals/exwmChris Feng1-5/+5
2020-05-10 Merge branch 'medranocalvo/input-mode-change-hook' into externals/exwmChris Feng1-2/+8
2020-05-06 ; Upcase menu itemAdrián Medraño Calvo1-1/+1
2020-05-06 Prevent jumping back to previous workspaceAdrián Medraño Calvo1-5/+5
* exwm-workspace.el (exwm-workspace-switch): Focus out old frame before switching to the new one to prevent jumping back to previous workspace.
2020-05-06 Run hook upon input mode changeAdrián Medraño Calvo1-2/+8
* exwm-input.el (exwm-input-input-mode-change-hook): Add new hook for code to run upon input mode change. (exwm-input--grab-keyboard, exwm-input--release-keyboard): Run it.
2020-05-05 Merge branch 'medranocalvo/abort-recursive-edit-on-workspace-switch' into ↵Chris Feng1-6/+0
externals/exwm
2020-04-15 Fix window manager nameAdrián Medraño Calvo1-2/+3
* exwm.el (exwm--init-icccm-ewmh): Correct _NET_WM_NAME to the name of the window manager on the _NET_SUPPORTING_WM_CHECK.
2020-04-15 Stop aborting recursive edit upon switching workspaces.Adrián Medraño Calvo1-10/+0
* exwm-workspace.el (exwm-workspace-switch): Stop aborting recursive edit upon switching workspaces. Users should handle it just like in regular Emacs (possibly customizing `enable-recursive-minibuffers').
2020-04-15 Abort recursive edit before switching workspacesAdrián Medraño Calvo1-6/+10
* exwm-workspace.el (exwm-workspace-switch): Abort recursive edit before switching to other workspace. This avoids the usual `set-window-configuration' calls (e.g., by `eval-expression') to switch *us back to the previous workspace.
2020-03-29 Merge branch 'Curiosidad-Racional/patch-1' into externals/exwmChris Feng1-13/+13
2020-03-29 Add support for _NET_WM_STATE_HIDDENChris Feng2-8/+17
* exwm-layout.el (exwm-layout--set-ewmh-state): New function for setting _NET_WM_STATE (according to local state). * exwm.el (exwm--init-icccm-ewmh): Declare the support for this atom.
2020-03-29 Additional fix for winner-modeChris Feng1-3/+4
* exwm-input.el (exwm-input--on-KeyPress-line-mode): Check incomplete key presses (which generate no valid events) before running `pre-command-hook' and `post-command-hook'.
2020-03-21 Fixed fail update when current buffer differs from windowCuriosidad-Racional1-13/+13
Local variable `exwm--input-mode' from different buffer when current buffer don't contains #id window. `with-current-buffer' changes buffer after `cl-case' with local `exwm--input-mode'
2020-03-01 Make exwm-mode buffers work with winner-modeChris Feng1-6/+17
* exwm-input.el (exwm-input--noop): New placeholder command. (exwm-input--on-pre-command, exwm-input--on-post-command): Ignore this command. (exwm-input--on-KeyPress-line-mode): Set `last-command' to make winner-undo start over from the newest config; run `post-command-hook' to make winner-mode save configs; run `pre-command-hook' in case required by some other package.
2020-02-02 Add solid background support to systemtrayChris Feng1-3/+39
* exwm-systemtray.el (exwm-systemtray-background-color): New user option for configuring systemtray background color. (exwm-systemtray--init): Configure background color for systemtray.
2020-02-02 Refactor color-related codeChris Feng2-59/+28
* exwm-core.el (exwm--color->pixel): New function for converting color to TrueColor pixel. * exwm-floating.el (exwm-floating--border-pixel) (exwm-floating--border-colormap, exwm-floating--init-border): Removed. (exwm-floating-border-color, exwm-floating--set-floating): Use `exwm--color->pixel' and only support TrueColor.
2020-02-02 Update copyright year to 2020Chris Feng12-12/+12
2019-12-15 Fix moving Emacs framesChris Feng1-1/+27
* exwm.el (exwm--on-ClientMessage): Avoid moving workspace frames; Move floating X window when trying to move the floating frame.
2019-12-08 Eliminate a compile warningChris Feng1-1/+1
* exwm-workspace.el (exwm-workspace-move-window): Replace the obsolete `run-window-configuration-change-hook'.
2019-12-01 Avoid redundant input focus transferChris Feng1-28/+43
* exwm-input.el (exwm-input--set-focus): Check for current focused X window before making an input focus transfer. (exwm-input--on-buffer-list-update): Remove the `this-command' check.
2019-11-03 Add support for accessing keymaps in char-modeChris Feng1-0/+15
* exwm-input.el (exwm-input-invoke-factory): New macro for generating new commands that invoke corresponding prefix keys.
2019-10-27 Loosen the requirements for input focus updateChris Feng1-2/+1
* exwm-input.el (exwm-input--on-buffer-list-update): No more check on current buffer (the check on buffer name was dropped in a1cf0d9b8).
2019-10-13 Fix `exwm-input-set-simulation-key'Chris Feng1-3/+5
* exwm-input.el (exwm-input--read-keys): Return nil on empty input so that `exwm-input-set-simulation-key' can ignore it. (exwm-input-set-simulation-key): Improve prompt.
2019-10-07 Add minibuffer-keyboard-quit to the default pre-post-command-blacklistSteven Allen1-1/+3
* exwm-input.el (exwm-input-pre-post-command-blacklist): Add `minibuffer-keyboard-quit' to the blacklist. This is invoked when the user aborts a the minibuffer with C-g.
2019-10-06 Set the current buffer before handling key eventsSteven Allen1-12/+13
There's no guarantee that the global current buffer matches the selected window's buffer. For example, the following will output "*Messages*" regardless of the actual current buffer: (progn (run-at "1 sec" nil (lambda () (with-current-buffer (get-buffer "*Messages*") (sit-for 5)))) (run-at "2 sec" nil (lambda () (message (buffer-name))))) * exwm-input.el (exwm-input--on-KeyPress): Set the current buffer to selected window's current buffer.
2019-10-02 Fix detection of `exwm-workspace--window-y-offset'Chris Feng1-4/+10
* exwm-workspace.el (exwm-workspace--update-offsets): Explicitly request the geometry of the container for the first workspace as it may not align with the top of the root X window.
2019-10-02 Avoid calling `x-focus-frame' on non-graphical framesChris Feng2-1/+4
* exwm-workspace.el (exwm-workspace--client-p): Also account for non-graphical frames. * exwm-input.el (exwm-input--on-minibuffer-setup) (exwm-input--on-minibuffer-exit): Exclude emacsclient frames.