Commit Graph

671 Commits

Author SHA1 Message Date
bakkeby
36cbcf53a2 IPC: do not bail on events from unknown file descriptors ref. #433
The natural cycle for dwm-msg is that:
   - the client registers
   - the client sends a message
   - a response is sent back
   - the client deregisters

There is a race condition such that a new client may end up with the same
file descriptor as another command that is deregistering, resulting in a
message to come through from a file descriptor that is not registered.

The handling of this situation is that the IPC patch will log:

   Got event from unknown fd 7, ptr 0x7, u32 7, u64 7 with events 17

before gracefully stopping (exiting) dwm.

The consequence of the error itself seems benign and the proposal here is
to allow dwm to keep running despite not being able to process the dwm-msg
command successfully.
2024-08-01 14:56:48 +02:00
bakkeby
f4258747be Swallow + noborder compatibility changes ref. #430 2024-07-14 14:27:11 +02:00
bakkeby
3bc91e187c Removing debug print statement 2024-07-14 14:26:45 +02:00
bakkeby
f67b8be209 status2d: make sure to terminate the copied text with a NULL character 2024-07-12 19:22:24 +02:00
bakkeby
df75e113a9 launcher + status2d: correct spacing to be the same as when not using status2d 2024-07-12 16:28:46 +02:00
bakkeby
b4b19e3a4c Adding launcher patch 2024-07-11 22:38:58 +02:00
bakkeby
8d754cd644 systray + xrdb compatibility issue ref. #429
When changing colour scheme during runtime using xrdb the systray and
icons would keep the original colours.

To work around that the systray icon windows need to be redrawn after
changing the background pixel value. Just calling XClearWindow for
each systray window results in the systray icons disappearing, they
do not automatically redraw. The solution is apparently to send an
Expose event to each window which should in principle trigger a redraw
from the application side.

One way to achieve this is to move the window out of the drawable area.
When the window is then brought back into view the X server will send
the Expose event for the window. The "easiest" way to do this is to
move the entire systray window out of view as part of the xrdb call.

It is possible to do this in the draw_systray function itself, but we
probably do not want to do this every single time the bar is drawn and
it may also cause some noticeable flickering.

This issue is isolated to using the systray without the alpha patch.
2024-07-01 09:53:43 +02:00
bakkeby
c1e9e0b035 Add missing void to updateclientlist definition
Caught by -pedantic implying -Wstrict-prototypes for OpenBSD's 16.0.6 Clang.

ref.
https://git.suckless.org/dwm/commit/5687f4696472ba6029bbba18e293e3e8b9e154ea.html
2024-06-13 10:22:29 +02:00
Ampnbsp
edb36a3a14 togglefloating RENAMED_SCRATCHPADS_PATCH colour fix (#428)
Co-authored-by: Ampnbsp <Ampnbsp@email.org>
2024-06-06 21:23:07 +02:00
bakkeby
66770cfbcc pango: upgrade to 0230520-e81f17d
Missed this line from drw_font_getexts.
2024-05-17 11:06:30 +02:00
bakkeby
018bb8eb18 pango: upgrade to 0230520-e81f17d
This upgrades the pango patch to:
https://dwm.suckless.org/patches/pango/dwm-pango-20230520-e81f17d.diff

The changes are fixes for some vertical alignment issues that were obvious only for CJK fonts.

The implementation in dwm-flexipatch is still simplified compared to the original patch, e.g.
avoiding changes like drw->fonts to drw->font and many similar function signatures.
2024-05-17 09:33:13 +02:00
bakkeby
dd1e34dbd6 switchtag: make sure to unfocus the selected client (if any) when triggering switchtag and potentially moving to another monitor ref. #425 2024-05-04 22:23:24 +02:00
bakkeby
79404e419f Fix for dwm crashing following unmapping of systray window that had been moved to another monitor ref. #423 2024-05-02 22:08:16 +02:00
bakkeby
a18f3ef370 noborder: refactoring implementation and adding same logic to configure function 2024-04-16 16:04:43 +02:00
SalahDin Rezk
36b574eff6
Add bar padding smart patch (#419) 2024-04-04 16:51:13 +02:00
bakkeby
82c3366317 tagpreview: proposed change to force hide preview window when changing tags ref. #415 2024-03-27 09:04:55 +01:00
bakkeby
cfabf03f62 bump version to 6.5
ref.
https://git.suckless.org/dwm/commit/061e9fe9a7db396c0c4f3d996c3908fb43a6d50c.html
2024-03-20 08:02:37 +01:00
Utkarsh Verma
58b58dc44e
Add PERMON_VANITYGAPS_PATCH (#343) 2024-03-14 09:38:21 +01:00
bakkeby
5e85bc8b5c tab + alttab compatibility fix (conflicting function name drawtab) 2024-02-01 21:29:25 +01:00
bakkeby
01244cc1b9 Adding placedir patch ref. #407 2024-01-31 22:38:41 +01:00
bakkeby
5a0c5e617f Adding the do-not-die-on-color-allocation-failure patch ref. #404 2023-12-22 10:42:16 +01:00
bakkeby
9869c22cb2 Adding sendmoncenter patch ref. #402 2023-12-01 09:38:22 +01:00
bakkeby
03ede82d5c focusmaster: adding restack to address stack issues when using monocle or deck layouts ref. #398 2023-11-13 21:20:37 +01:00
bakkeby
817db8c3ca Adding focusmaster-return patch variant ref. #398 2023-11-12 09:41:31 +01:00
Songli Yu
d86ea2de25
Fix patch compatibility issue in the resizemousescroll function of TAPRESIZE_PATCH. (#393) 2023-11-08 21:34:43 +01:00
bakkeby
ad9664fa01 shift: skip sticky clients when working out which tags are occupied ref. #387 2023-11-08 21:09:27 +01:00
bakkeby
332c90049d sticky: prioritise non-sticky windows on focus(NULL) correction ref. #387 2023-11-07 21:44:39 +01:00
bakkeby
63bab1aa8a sticky: prioritise non-sticky windows on focus(NULL) ref. #387 2023-11-07 17:58:45 +01:00
Songli Yu
4a22fd046c
Fix when only one client in a tag and click it to hide it, then click it one more time, the client will not show as expected. (#385) 2023-11-05 22:07:43 +01:00
bakkeby
83a047aca7 shift: filter out scratchpad tags ref. #382 2023-11-04 21:38:38 +01:00
bakkeby
1b5a58f231 Fix space before tab in indent 2023-10-20 10:53:10 +02:00
bakkeby
d807d3da3e renamed scratchpads: allow a fullscreen scratchpad auto-hide when focus is lost if combined with both the losefullscreen patch and the auto-hide patch for renamed scratchpads 2023-10-03 21:25:10 +02:00
bakkeby
dd1660b1ed renamed scratchpads: auto-unhide a minimised (icon state) scratchpad when toggled 2023-10-02 09:51:34 +02:00
bakkeby
ddb2e833a4 tagpreview: adding compatibility with powerline tags and taglabels 2023-10-01 21:07:58 +02:00
bakkeby
8191c0739a focusonclick: not skipping motionnotify events as to avoid interferring with tagpreview and other on hover patches 2023-10-01 20:51:16 +02:00
bakkeby
3e97a1d25c Makefile: remove the options target
The Makefile used to suppress output (by using @), so this target made sense at
the time.

But the Makefile should be simple and make debugging with less abstractions or
fancy printing.  The Makefile was made verbose and doesn't hide the build
output, so remove this target.

Prompted by a question on the mailing list about the options target.

ref.
https://git.suckless.org/dwm/commit/9f8855343c881bdc01b9fff5b956537ba1106b76.html
2023-09-22 18:08:42 +02:00
bakkeby
5865c68c0e systray + unmanaged: fixed compatibility issue 2023-09-22 18:05:25 +02:00
Mahdi Nayef
7849eaa08b
Use pkg-config to locate fribidi library's files (#369) 2023-08-24 18:18:03 +02:00
bakkeby
74abea7c70 Adding unmanaged patch ref. #365 2023-06-27 17:24:36 +02:00
bakkeby
ab7d28ff0f bar border - allow for the border size to be explicitly set ref. #364 2023-06-27 16:31:02 +02:00
bakkeby
99f6f1b52c Adding focusfollowmouse patch ref. #364 2023-06-27 16:07:57 +02:00
bakkeby
1a1ce47917 layoutmenu: fixing warning from original patch 2023-06-27 14:59:48 +02:00
bakkeby
10a6640732 Adding the toggletopbar patch ref. #363 2023-06-25 22:52:50 +02:00
bakkeby
3881ad4ad1 config.mk - dropping __XSI_VISIBLE from CPPFLAGS, should no longer be necessary 2023-05-24 15:27:12 +02:00
bakkeby
ff1f901743 Updating link to rounded corners patch 2023-05-22 10:03:06 +02:00
bakkeby
6ef80c09ff switchtag + pertag conflict: the view would not actually change ref. #355 2023-05-20 16:21:55 +02:00
bakkeby
eca757eeea pertag + vanitygaps: store signed ints rather than unsigned in case negative gap values are used 2023-05-14 22:28:15 +02:00
bakkeby
5fefbfee64 cool autostart: restore SIGCHLD sighandler to default before spawning a program 2023-04-09 22:08:41 +02:00
bakkeby
ace6f1cd88 Bump to e81f17d.
restore SIGCHLD sighandler to default before spawning a program

From sigaction(2):
A child created via fork(2) inherits a copy of its parent's signal dispositions.
During an execve(2), the dispositions of handled signals are reset to the default;
the dispositions of ignored signals are left unchanged.

This refused to start directly some programs from configuring in config.h:

static Key keys[] = {
	MODKEY,                       XK_o,      spawn,          {.v = cmd } },
};

Some reported programs that didn't start were: mpv, anki, dmenu_extended.

Reported by pfx.
Initial patch suggestion by Storkman.

Ref.
https://git.suckless.org/dwm/commit/e81f17d4c196aaed6893fd4beed49991caa3e2a4.html
2023-04-09 21:53:05 +02:00
bakkeby
5498fed42b Bump to 348f655.
config.mk: update to _XOPEN_SOURCE=700L

SA_NOCLDWAIT is marked as XSI in the posix spec [0] and FreeBSD and NetBSD
seems to more be strict about the feature test macro [1].

so update the macro to use _XOPEN_SOURCE=700L instead, which is equivalent to
_POSIX_C_SOURCE=200809L except that it also unlocks the X/Open System
Interfaces.

[0]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html#tag_13_42
[1]: https://lists.suckless.org/dev/2302/35111.html

Tested on:
* NetBSD 9.3 (fixed).
* FreeBSD 13 (fixed).
* Void Linux musl.
* Void Linux glibc.
* OpenBSD 7.2 (stable).
* Slackware 11.

Reported-by: beastie <pufferfish@riseup.net>

Ref.
https://git.suckless.org/dwm/commit/348f6559ab0d4793db196ffa56ba96ab95a594a6.html
2023-04-09 21:51:26 +02:00