Daniel Mendler
c3d1bdabb0
; exwm--global-minor-mode-body: Fix docstring
...
* exwm-core.el (exwm--global-minor-mode-body): Fix docstring.
2024-06-06 19:28:00 +02:00
Nicholas Vollmer
4042de16fd
add exwm--client-message-functions
...
* exwm.el (exwm--client-message-functions):
Alist for dispatching client messages to handlers.
(exwm-init): set exwm--client-message-functions once exwmh support enabled.
(exwm--on-ClientMessage): delegate via exwm--client-message-functions,
decompose body into separate handlers.
See: https://github.com/ch11ng/exwm/issues/931
2024-06-06 14:40:42 +00:00
Daniel Mendler
d41de490e3
exwm-systemtray--init, exwm-xsettings--init: Idempotent initialization
...
* exwm-systemtray.el (exwm-systemtray--init),
exwm-xsettings.el (exwm-xsettings--init):
Return early if already initialized.
2024-06-06 10:12:02 +02:00
Daniel Mendler
63bde86545
Restore non-obsolete exwm-debug variable
...
* exwm-core.el (exwm-debug): Reintroduce exwm-debug variable.
2024-06-06 10:11:48 +02:00
Nicholas Vollmer
9e965fd2af
satisfy checkdoc
...
* exwm-background.el (exwm-background--connected-p): Add docstring.
(exwm-background--connect): Add docstring.
* exwm-core.el (exwm-debug-log-time-function):
(exwm-debug): Rename to exwm-debug-mode; define obsolete alias for old name.
(exwm--debug): Update docstring to reflect above name change.
(exwm--log): condition on exwm-debug-mode
(exwm-mode-map): update exwm-debug-mode binding
* exwm-floating.el (exwm-floating--set-allowed-actions):
Rename TILLING parameter to TILED-P; update docstring.
(exwm-floating--start-moveresize): Add parameters to docstring.
(exwm-floating--do-moveresize): Add parameter to docstring.
* exwm-input.el (exwm-input-prefix-keys): Remove embedded keybinding from docstring.
(exwm-input--on-PropertyNotify): Add parameter to docstring.
(exwm-input--on-EnterNotify): Add parameter to docstring.
(exwm-input--on-keysyms-update): Add docstring.
(exwm-input--set-active-window): Add parameter to docstring.
(exwm-input--on-ButtonPress): Add parameter to docstring.
(exwm-input--on-KeyPress): Add parameter to docstring.
(exwm-input--on-CreateNotify): Add parameter to docstring.
(exwm-input--grab-global-prefix-keys): Add docstring.
(exwm-input--set-key): Add docstring.
(exwm-input-set-key): Add parameter to docstring.
(exwm-input--unread-event): Add docstring.
(exwm-input--translate): Add docstring.
(exwm-input--cache-event): Add parameter to docstring.
(exwm-input--on-KeyPress-line-mode): Rename parameter; add parameter to docstring.
(exwm-input--on-KeyPress-char-mode): Rename parameter; add parameter to docstring.
(exwm-input-grab-keyboard): Add parameter to docstring.
(exwm-input-release-keyboard): Add parameter to docstring.
(exwm-input-toggle-keyboard): Add parameter to docstring.
(exwm-input-send-next-key): Rename parameter; mention limit in docstring.
(exwm-input--set-simulation-keys): Rename parameter; add parameter to docstring.
(exwm-input--read-keys): Add docstring.
(exwm-input-set-simulation-key): Add parameters to docstring.
(exwm-input-send-simulation-key): Rename parameter; add parameter to docstring.
* exwm-randr.el (exwm-randr--on-ScreenChangeNotify): Add parameter to docstring.
(exwm-randr--on-Notify): Add parameter to docstring.
(exwm-randr--on-ConfigureNotify): Add parameter to docstring.
* exwm-xim.el (exwm-xim--on-ClientMessage): Add parameter to docstring.
* exwm.el (exwm-restart): Remove question mark from prompt arg
(exwm-enable): Remove question mark from prompt arg; add parameter to docstring.
(exwm--confirm-kill-terminal): Remove question mark from prompt arg.
(exwm--confirm-kill-emacs): Ensure prompt ends in question mark.
2024-06-06 09:56:47 +02:00
Daniel Mendler
588f6ca043
; Fix make-obsolete calls for the enable functions
...
Don't use hashed symbols, since this will lead to byte compilation warnings.
Also refer to the currently released version.
2024-06-04 17:27:43 +02:00
Daniel Mendler
693ade989f
Use appropriate customization groups for newly added modes
2024-06-04 17:24:07 +02:00
Daniel Mendler
2fd5ab1039
; Remove autoloads from obsolete enable functions
2024-06-04 16:55:49 +02:00
Daniel Mendler
f9f90dcf8b
; Update module commentaries
2024-06-04 16:55:41 +02:00
Nicholas Vollmer
5516f24d5e
Use global minor modes for EXWM features ( #46 )
2024-06-04 16:55:06 +02:00
Daniel Mendler
3e6bfe36af
Bump version to 0.30
...
Same version as 0.29. Bump only required to trigger ELPA rebuild.
2024-05-24 09:19:18 +02:00
Daniel Mendler
3b28c051f5
Bump version to 0.29
2024-05-23 19:19:41 +02:00
Daniel Mendler
956e7eb175
Depend on xelb 0.19
2024-05-23 19:19:19 +02:00
Daniel Mendler
9b130b2e9a
; Fix single quote docstring warning
...
* exwm-input.el (exwm-input-prefix-keys): Fix docstring.
2024-05-17 11:28:28 +02:00
Steven Allen
236f3ca467
Correctly activate windows even if they're not in the iconic state ( #32 )
...
* 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-04-03 14:08:39 -07:00
Daniel Mendler
bf921084b4
; Make more lambdas visible to the byte compiler
...
* exwm-core.el (exwm-mode-menu), exwm-floating.el (exwm-floating-border-width):
Make lambdas visible to the byte compiler.
2024-03-16 17:40:11 +01:00
Daniel Mendler
0ef8e04f27
exwm-mode-menu: Make lambdas visible to the byte compiler
...
* exwm-core.el (exwm-mode-menu): Use quasi quoting. Make lambdas visible to the
byte compiler.
2024-03-16 17:02:11 +01:00
Daniel Mendler
a959f91c75
Move evaluated mode-name expression to exwm--mode-name
...
* exwm-core.el (exwm--mode-name): New function.
(exwm-mode): Use it.
2024-03-16 16:55:37 +01:00
Daniel Mendler
61d97532fa
exwm-mode: Disable command, abbrev and syntax table
...
* exwm-core.el (exwm-mode): Disable :interactive, :syntax-table and
:abbrev-table.
2024-03-16 14:37:16 +01:00
Daniel Mendler
99442909be
window-pixel-width-before-size-change is available since Emacs 26
...
* exwm-layout.el (exwm-layout--init, exwm-layout--exit): Remove fboundp check.
2024-03-15 19:08:00 +01:00
Daniel Mendler
1ebd135f45
window-preserve-size is available since Emacs 25
...
* exwm-workspace.el (exwm-workspace--on-minibuffer-setup): Remove fboundp check.
2024-03-15 19:07:45 +01:00
Daniel Mendler
182102767e
Use xcb:icccm:-ManagerSelection ( #16 )
...
* 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-12 23:55:19 +01:00
Steven Allen
a6e66f5e33
Simplify and improve focus handling ( #10 )
...
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-05 07:32:51 -08:00
Daniel Mendler
44e74bcc07
Ensure that default-directory is a directory name in EXWM buffers.
...
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 22:39:06 +01:00
Steven Allen
fbc1e81ed6
Set the EXWM buffer's default directory to match the process's CWD ( #14 )
...
* 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 12:57:58 -08:00
Steven Allen
c2856d15e8
Remove redundant with-current-buffer in manage-window ( #13 )
...
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-02-04 12:49:33 -08:00
Steven Allen
2bb9a5787e
Use '=' instead of 'eq' to compare numbers.
...
* exwm.el (exwm--update-desktop):
* exwm-layout.el (exwm-layout--hide):
Use `=` instead of `eq` for numeric comparison.
2024-01-24 06:05:33 +01:00
Steven Allen
0e365a0058
Use color-values instead of x-color-values
...
* exwm-core.el (exwm--color->pixel): Use `color-values` (introduced in
Emacs 21) instead of `x-color-values` (deprecated in Emacs 30).
2024-01-24 05:48:08 +01:00
Daniel Mendler
089e0c8683
Move xsettings classes to xelb
2024-01-15 20:30:50 +01:00
Daniel Mendler
eb28ebf165
; README: Refer to the user guide for installation instructions
2024-01-14 12:32:02 +01:00
Daniel Mendler
5acb8bea8a
New customization group exwm-xsettings
...
* exwm-xsettings.el (exwm-xsettings): New customization group.
2024-01-14 01:07:39 +01:00
Daniel Mendler
c033fc00f3
New customization group exwm-debug
...
The group was already used, but the docstring was missing.
* exwm-core.el (exwm-debug): New customization group.
2024-01-14 01:07:33 +01:00
Daniel Mendler
f3c03ebbc3
; README: Fix feature list formatting
2024-01-13 20:43:00 +01:00
Daniel Mendler
8980c03a6b
; Commentary: Update list of features
2024-01-13 20:38:09 +01:00
Steven Allen
ff4edaab89
Implement the XSETTINGS protocol
...
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 20:23:55 +01:00
Daniel Mendler
c573ff143a
Drop :version keywords from defgroup
...
These may refer to an Emacs version and may have been added by mistake.
2024-01-13 20:23:24 +01:00
Daniel Mendler
96a9de8c19
Depend on Emacs 27.1
...
Emacs 27.1 is widely available on all major Linux distributions, including the
ones with long time support.
2024-01-13 20:23:24 +01:00
Daniel Mendler
4a3feec76f
; Add LICENSE to .elpaignore
2024-01-12 15:01:18 +01:00
Daniel Mendler
588cfc7790
Add new maintainers: Steven Allen (@stebalien) and Daniel Mendler (@minad)
2024-01-12 11:10:48 +01:00
Daniel Mendler
2c5dcadfab
; Update repository URLs
2024-01-12 10:28:23 +01:00
Daniel Mendler
dc26c38af7
Remove obsolete functions and variables
...
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 10:15:15 +01:00
Daniel Mendler
c069e8195d
exwm-blocking-subrs: x-* functions may be missing on some Emacs builds
...
Avoid compiler warnings. Follow-up of https://github.com/ch11ng/exwm/pull/937 .
2024-01-12 10:10:30 +01:00
Daniel Mendler
2e79830e39
; First line of docstring should be a full sentence
2024-01-12 10:07:08 +01:00
Daniel Mendler
22aa38b0cd
; Use two spaces after sentence
...
I follow this convention in Elisp files only.
2024-01-12 10:07:04 +01:00
Daniel Mendler
b51389ce8f
; exwm-background: Wrap docstrings to avoid compiler warnings
2024-01-12 10:07:01 +01:00
Daniel Mendler
262aa04855
; README and commentary: Mention background and xim features
2024-01-12 10:06:59 +01:00
Adrián Medraño Calvo
798dc60a9b
; Shorten docstrings
2024-01-08 00:00:00 +00:00
Adrián Medraño Calvo
4192762223
Merge branch 'minad.github.com/blocking-subrs' into externals/exwm
2024-01-08 00:00:00 +00:00
Adrián Medraño Calvo
9b5e4dc1c0
Merge branch 'minad.github.com/remove-cm' into externals/exwm
2024-01-08 00:00:00 +00:00
Adrián Medraño Calvo
01ae286e49
Merge branch 'Stebalien.github.com/steb/passthrough-input' into externals/exwm
2024-01-08 00:00:00 +00:00