about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2024-05-24 subtree-staging Bump version to 0.30Daniel Mendler1-1/+1
Same version as 0.29. Bump only required to trigger ELPA rebuild.
2024-05-23 Bump version to 0.29Daniel Mendler1-1/+1
2024-05-23 Depend on xelb 0.19Daniel Mendler1-1/+1
2024-05-17 ; Fix single quote docstring warningDaniel Mendler1-1/+1
* exwm-input.el (exwm-input-prefix-keys): Fix docstring.
2024-04-03 Correctly activate windows even if they're not in the iconic state (#32)Steven Allen1-9/+6
* exwm.el (exwm--on-ClientMessage): Handle the case where a window is hidden but not iconic. This code would previously error in some cases because a buffer wouldn't have an active window even when it was not in the iconic state, likely due to a focus race somewhere. fixes #28
2024-03-16 ; Make more lambdas visible to the byte compilerDaniel Mendler2-14/+14
* exwm-core.el (exwm-mode-menu), exwm-floating.el (exwm-floating-border-width): Make lambdas visible to the byte compiler.
2024-03-16 exwm-mode-menu: Make lambdas visible to the byte compilerDaniel Mendler1-25/+25
* exwm-core.el (exwm-mode-menu): Use quasi quoting. Make lambdas visible to the byte compiler.
2024-03-16 Move evaluated mode-name expression to exwm--mode-nameDaniel Mendler1-7/+11
* exwm-core.el (exwm--mode-name): New function. (exwm-mode): Use it.
2024-03-16 exwm-mode: Disable command, abbrev and syntax tableDaniel Mendler1-1/+1
* exwm-core.el (exwm-mode): Disable :interactive, :syntax-table and :abbrev-table.
2024-03-15 window-pixel-width-before-size-change is available since Emacs 26Daniel Mendler1-5/+2
* exwm-layout.el (exwm-layout--init, exwm-layout--exit): Remove fboundp check.
2024-03-15 window-preserve-size is available since Emacs 25Daniel Mendler1-6/+4
* exwm-workspace.el (exwm-workspace--on-minibuffer-setup): Remove fboundp check.
2024-02-12 Use xcb:icccm:-ManagerSelection (#16)Daniel Mendler2-11/+2
* exwm-systemtray.el (xcb:systemtray:-ClientMessage): Remove class. (exwm-systemtray--init): Use `xcb:icccm:-ManagerSelection' instead of `xcb:systemtray:-ClientMessage'. * exwm-xsettings.el (exwm-xsettings--init): Use `xcb:icccm:-ManagerSelection' instead of `xcb:xsettings:-ClientMessage'.
2024-02-05 Simplify and improve focus handling (#10)Steven Allen1-29/+23
Combine both focus update timers into one and ignore windows in "no focus" frames. * exwm-input.el (exwm-input--on-buffer-list-update): Avoid focusing windows in frames with the `no-accept-focus` frame property. (exwm-input--update-focus-defer-timer): Remove the duplicate timer. (exwm-input--update-focus-defer): Use a single `exwm-input--update-focus-timer`. (exwm-input--update-focus-commit): Read `exwm-input--update-focus-window` instead of taking a window as a parameter (this is what lets us combine the timers). (exwm-input--update-focus-commit): Use a let-bind instead of unwind-protect. (exwm-input--exit): Remove references to `exwm-input--update-focus-defer-timer`.
2024-02-04 Ensure that default-directory is a directory name in EXWM buffers.Daniel Mendler1-1/+1
Otherwise `default-directory' could be /home/user instead of /home/user/ as is expected by Emacs. * exwm-manage.el (exwm-manage--update-default-directory): Use `file-name-as-directory'.
2024-02-04 Set the EXWM buffer's default directory to match the process's CWD (#14)Steven Allen1-0/+18
* exwm-manage.el (exwm-manage--update-default-directory): define a function to update the default-directory of an X window based on it's CID. (exwm-manage--manage-window): call `exwm-manage--update-update-default-directory` on manage (fixes #12).
2024-02-04 Remove redundant with-current-buffer in manage-window (#13)Steven Allen1-14/+10
All this logic runs in the context of the EXWM buffer. If there are concerns about the X windows associating with a different buffer while we're still trying to manage it, we probably have bigger problems. * exwm-manage.el (exwm-manage--manage-window): assume that the current buffer doesn't change.
2024-01-24 Use '=' instead of 'eq' to compare numbers.Steven Allen2-2/+3
* exwm.el (exwm--update-desktop): * exwm-layout.el (exwm-layout--hide): Use `=` instead of `eq` for numeric comparison.
2024-01-24 Use color-values instead of x-color-valuesSteven Allen1-1/+1
* exwm-core.el (exwm--color->pixel): Use `color-values` (introduced in Emacs 21) instead of `x-color-values` (deprecated in Emacs 30).
2024-01-15 Move xsettings classes to xelbDaniel Mendler1-67/+2
2024-01-14 ; README: Refer to the user guide for installation instructionsDaniel Mendler1-4/+1
2024-01-14 New customization group exwm-xsettingsDaniel Mendler1-5/+6
* exwm-xsettings.el (exwm-xsettings): New customization group.
2024-01-14 New customization group exwm-debugDaniel Mendler1-1/+4
The group was already used, but the docstring was missing. * exwm-core.el (exwm-debug): New customization group.
2024-01-13 ; README: Fix feature list formattingDaniel Mendler1-0/+2
2024-01-13 ; Commentary: Update list of featuresDaniel Mendler2-8/+12
2024-01-13 Implement the XSETTINGS protocolSteven Allen1-0/+400
Users can use this to configure system-wide themes, icons, fonts, etc. * exwm-xsettings.el: Implement the XSETTINGS protocol (fixes https://github.com/ch11ng/exwm/issues/876)
2024-01-13 Drop :version keywords from defgroupDaniel Mendler8-8/+0
These may refer to an Emacs version and may have been added by mistake.
2024-01-13 Depend on Emacs 27.1Daniel Mendler2-15/+5
Emacs 27.1 is widely available on all major Linux distributions, including the ones with long time support.
2024-01-12 ; Add LICENSE to .elpaignoreDaniel Mendler1-0/+1
2024-01-12 Add new maintainers: Steven Allen (@stebalien) and Daniel Mendler (@minad)Daniel Mendler1-1/+1
2024-01-12 ; Update repository URLsDaniel Mendler2-7/+7
2024-01-12 Remove obsolete functions and variablesDaniel Mendler2-12/+0
These functions and variables have been marked as obsolete over five years ago. * exwm-input.el (exwm-input-set-simulation-keys): Remove obsolete function. * exwm-randr.el (exwm-randr--refresh, exwm-randr-workspace-output-plist): Remove obsolete aliases.
2024-01-12 exwm-blocking-subrs: x-* functions may be missing on some Emacs buildsDaniel Mendler1-2/+3
Avoid compiler warnings. Follow-up of https://github.com/ch11ng/exwm/pull/937.
2024-01-12 ; First line of docstring should be a full sentenceDaniel Mendler3-8/+7
2024-01-12 ; Use two spaces after sentenceDaniel Mendler2-2/+2
I follow this convention in Elisp files only.
2024-01-12 ; exwm-background: Wrap docstrings to avoid compiler warningsDaniel Mendler1-4/+4
2024-01-12 ; README and commentary: Mention background and xim featuresDaniel Mendler2-0/+3
2024-01-08 ; Shorten docstringsAdrián Medraño Calvo2-3/+5
2024-01-08 Merge branch 'minad.github.com/blocking-subrs' into externals/exwmAdrián Medraño Calvo1-1/+3
2024-01-08 Merge branch 'minad.github.com/remove-cm' into externals/exwmAdrián Medraño Calvo1-50/+0
2024-01-08 Merge branch 'Stebalien.github.com/steb/passthrough-input' into externals/exwmAdrián Medraño Calvo1-1/+18
2024-01-08 Merge branch 'Stebalien.github.com/steb/fix-subordinate-daemon' into ↵Adrián Medraño Calvo1-3/+11
externals/exwm * ch11ng.github.com/pull/939: Correctly stop the subordinate Emacs daemon
2024-01-08 Update copyright year to 2024Adrián Medraño Calvo13-13/+13
2023-12-31 Correctly stop the subordinate Emacs daemonSteven Allen1-3/+11
This patch starts Emacs as a foreground daemon (so it can accurately be killed) and terminates it by sending a signal (because 'server-force-delete' stops the local server, not the named server). * exwm.el (exwm--server-timeout): The time to politely wait for the subordinate server to exit before killing it. (exwm--server-stop): Send SIGTERM to the subordinate process instead of using 'server-force-delete'. (exwm--server-eval-at): Prevent Emacs from forking so we can manage it as a subprocess.
2023-12-29 Passthrough input when explicitly reading events and keysSteven Allen1-1/+18
When any of these functions are called, Emacs expects to receive all input events until they return. Unfortunately, there doesn't appear to be a reliable way to detect that these functions are currently running other than advising them. * exwm-input.el (exwm-input--init): Advise low-level input reading functions to bind 'exwm-input-line-mode-passthrough' to t when called. (exwm-input--exit): Unadvise. (exwm-input--call-with-passthrough): The advice. (exwm-input--passthrough-functions): The functions we now advise.
2023-12-29 Add message-box and message-or-box to exwm-blocking-subrs (fix #874)Daniel Mendler1-1/+3
* exwm.el (exwm-blocking-subrs): Add `message-box' and `message-or-box' to the list of blocking subrs.
2023-12-29 Remove exwm-cmDaniel Mendler1-50/+0
The exwm-cm feature has been obsoleted over five years ago in 7823eb98. Stop distributing it. * exwm-cm.el: Remove file.
2023-10-06 Merge branch 'arnebab.github.com/master' into externals/exwmAdrián Medraño Calvo1-2/+20
2023-10-06 Bump version to 0.28Adrián Medraño Calvo1-1/+1
2023-09-11 Catch and report all errors raised when invoking command hooksDavid Wilson1-2/+20
* exwm-input.el (exwm-input--fake-last-command): Catch and report all errors raised when invoking `pre-command-hook' and `post-command-hook'. Copyright-paperwork-exempt: yes
2023-09-10 Fix workspace height unsharing workarea valueAdrián Medraño Calvo1-16/+18
* exwm-workspace.el (exwm-workspace--update-workareas): Clone the value of the `exwm-geometry' frame parameter before modifying it for calculating workareas. (exwm-workspace--update-workareas): Simplify `pcase' patterns.