Commit Graph

1697 Commits

Author SHA1 Message Date
gutmet
b79166e3c7 add shell scripts 2021-03-14 15:41:00 +01:00
gutmet
8c08817097 fix centered master (always push on top of left side, at most jumble about the bottom one, not _all_ slaves) 2021-03-13 21:02:33 +01:00
gutmet
c1ab4a2ab3 add centeredmaster layout, bind to Mod+c 2021-03-13 17:43:27 +01:00
gutmet
0c99585dd8 add lockcmd to call slock on Mod+Shift+l 2021-03-13 17:24:47 +01:00
gutmet
0e7b16ba12 add zoomswap with config option 2021-03-13 17:01:12 +01:00
gutmet
398263ff66 add cleanupautostart 2021-03-13 16:31:02 +01:00
gutmet
812caa3f54 change borderpx to 2 2021-03-12 22:02:20 +01:00
gutmet
0b0181a2d3 change autostart directory to ~/suckless/dwm 2021-03-12 21:59:13 +01:00
gutmet
28bf2f3884 resizehint = 0 2021-03-12 20:54:48 +01:00
gutmet
78dea32cd6 add config.h to clean 2021-03-12 20:10:00 +01:00
gutmet
49628b7749 autostart 2021-03-12 19:59:39 +01:00
gutmet
179463d46e systray, windows key, minus firefox rules 2021-03-12 17:52:33 +01:00
Ian Remmler
61bb8b2241 Fix x coordinate calculation in buttonpress. 2020-08-21 16:13:22 +02:00
Hiltjo Posthuma
bb2e7222ba dwm.1: fix wrong text in man page 2020-07-08 18:05:50 +02:00
Alex Flierl
f04cac6d6e Fix memory leaks in drw
The function drw_fontset_free in drw.c was never called.
2020-06-11 18:32:21 +02:00
bakkeby
f09418bbb6 dwm crashes when opening 50+ clients (tile layout)
Many users new to dwm find themselves caught out by being kicked out to the login manager (dwm crashing) when they open 50+ clients for demonstration purposes. The number of clients reported varies depending on the resolution of the monitor.

The cause of this is due to how the default tile layout calculates the height of the next client based on the position of the previous client. Because clients have a minimum size the (ty) position can exceed that of the window height, resulting in (m->wh - ty) becoming negative. The negative height stored as an unsigned int results in a very large height ultimately resulting in dwm crashing.

This patch adds safeguards to prevent the ty and my positions from exceeding that of the window height.
2020-04-25 13:31:02 +02:00
Chris Down
ed3ab6b4fc drawbar: Don't shadow sw global
This jarred me a bit while reading the code, since "sw" usually refers
to the global screen geometry, but in drawbar() only it refers to
text-related geometry. Renaming it makes it more obvious that these are
not related.
2020-04-22 20:33:39 +02:00
Chris Down
f087d20e6e getatomprop: Add forward declaration
No functional changes, but for every other function we have a forward
declaration here. getatomprop should be no exception.
2020-04-22 20:33:26 +02:00
Chris Down
a8e9513783 setmfact: Unify bounds for compile-time and runtime mfact
There are two places that mfact can be set:

- In the mfact global, which is defined at compile time and passed
  into m->mfact during monitor setup. No bounds checks are performed,
  but the comment alongside it says that valid values are [0.05..0.95]:

      static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */

- By setmfact, which adjusts m->mfact at runtime. It also does some
  minimum and maximum bounds checks, allowing [0.1..0.9]. Values outside
  of that range are ignored, and mfact is not adjusted.

These different thresholds mean that one cannot setmfact 0.95 or 0.05,
despite the comment above that lists the legal range for mfact.

Clarify this by enforcing the same bounds in setmfact at runtime as
those listed for mfact at compile time.
2020-04-20 17:56:41 +02:00
Hiltjo Posthuma
c82db690cc config.mk: fix POSIX_C_SOURCE macro for feature test for snprintf()
The feature test was incorrect:
_POSIX_C_SOURCE=2

"The value 2 or greater additionally exposes definitions for POSIX.2-1992."
http://man7.org/linux/man-pages/man7/feature_test_macros.7.html

A higher value is needed (atleast 1995):
https://pubs.opengroup.org/onlinepubs/9699919799/functions/snprintf.html

FreeBSD feature test macro:
on
https://github.com/freebsd/freebsd/blob/master/include/stdio.h line 297

This was already fixed in dmenu.

This fixes a warning on FreeBSD, reported by Plasmoduck on IRC, thanks.
2020-04-03 15:36:32 +02:00
Anselm R Garbe
cb3f58ad06 Prepare 6.2 release. 2019-02-02 04:50:42 -08:00
Hiltjo Posthuma
b69c870a30 pledge: add rpath promise for the ugly Xft font fallback 2018-06-02 17:15:42 +02:00
Hiltjo Posthuma
e78b4a9207 Makefile: just show the compiler output
Don't be fancy and just show the actual output so debugging is simpler.
2018-06-02 17:10:28 +02:00
Klemens Nanni
3cd4023fb3 Do not strip at link stage
Building with debug symbols is worthless unless LDFLAGS are manually
adjusted as well.
2018-06-02 16:56:10 +02:00
Klemens Nanni
f40f86fa87 Pledge on OpenBSD 2018-05-25 11:49:30 +02:00
Hiltjo Posthuma
c3a2e016bb config.def.h: ClkTagBar missing from comment
by Christopher Drelich <cd@cdrakka.com>

Patch was mangled on the ML, also adjusted the order to be the same as
the enum in dwm.c
2018-05-25 06:56:36 +02:00
Christopher Drelich
c8e9479186 Function declarations in correct order.
In dwm.c function declarations are in alphabetical order except for
updategeom(). There doesn't appear to be any reason for this, so this
patch corrects that, and now all function declarations are in
alphabetical order.
2018-05-12 19:19:20 +02:00
Hiltjo Posthuma
10dfa65860 remove old TODO and BUGS entries
the bug in the dwm man page is an (ancient) Java issue.

Thanks David and quinq for the patches and feedback!
2018-05-12 19:14:19 +02:00
Hiltjo Posthuma
3bd8466e93 update README: remove mentioning the old dextra repo
Thanks Christopher Drelich <cd@cdrakka.com>
2018-03-14 21:03:11 +01:00
Christopher Drelich
76c8c16d79 All functions in alphabetical order except for this one. 2018-03-14 21:02:06 +01:00
Christopher Drelich
3cb34830eb ColBorder has been moved to the enum with ColFg and ColBg. 2018-03-14 17:46:48 +01:00
Hiltjo Posthuma
db2236001c dont NUL terminate _NET_WM_NAME
Reported by Kernc, thanks!

"This makes a particular program that uses libwnck [1] fail after:

    Wnck-WARNING **: Property _NET_WM_NAME contained invalid UTF-8

in this code [2] because the returned string contains a '\0' and the
documentation for g_utf8_validate() [3] explicitly states that when
string length is provided, no nul bytes are allowed."

It is not entirely clear it is incorrect, other WM's seem to not
NUL terminate it either though.
2017-12-27 13:36:53 +01:00
Hiltjo Posthuma
3756f7f6b8 sync dmenu drw.{c,h} code: use Clr* (was Scm) 2017-11-03 21:20:48 +01:00
Hiltjo Posthuma
99f78fa553 gettextprop: check result of XGetTextProperty (undefined behaviour for XFree) 2017-11-03 21:14:58 +01:00
Omar Sandoval
a9b6a312a7 Set class name on status bar
This is useful for configuring compositors to ignore the status bar
window.
2017-11-03 20:40:34 +01:00
Daniel Cousens
6aa8e37efe simplify isfixed conditions 2017-10-11 09:46:28 +02:00
Anselm R Garbe
ceac8c91ff yet another cleanup
The previous patches introduced some unclean space-based indentation
patterns. This patch fixes them.
2017-05-08 21:08:27 +02:00
Markus Teich
5b238c8dab Don't restrict snap in mousemove
This also fixes a bug where client windows only switch to floating mode when the
mouse is dragged in one specific direction.
2017-03-28 20:23:38 +02:00
Markus Teich
022d076054 Button passthrough when client is not focused
Before this change it is not possible to press a button in a client on the first
click if the client is not yet focused. The first click on the button would
only focus the client and a second click on the button is needed to activate it.
This situation can occur when moving the mouse over a client (therefore focusing
it) and then moving the focus to another client with keyboard shortcuts.

After this commit the behavior is fixed and button presses on unfocused clients
are passed to the client correctly.
2017-03-28 20:23:34 +02:00
Markus Teich
2952b68db8 cleanup
- unify multi-line expression alignment style.
- unify multi-line function call alignment style.
- simplify client moving on monitor count decrease.
- clarify comment for focusin().
- remove old confusing comment about input focus fix in focusmon(). The
  explanation is already in the old commit message, so no need to keep it in the
  code.
- remove old comment describing even older state of the code in focus().
- unify comment style.
- break up some long lines.
- fix some typos and grammar.
2017-03-28 20:23:28 +02:00
Anselm R Garbe
bb3bd6fec3 applied Markus' tagset purge of alternative view on _NET_ACTIVE_WINDOW event 2016-12-05 10:16:46 +01:00
Anselm R Garbe
e63bf22948 applied Ivan Delalande's NET_SUPPORTING_WM_CHECK patch for gtk3 compatibility 2016-12-05 10:09:49 +01:00
Anselm R Garbe
5376947571 applied Ian Remmler's man page adjustment suggestions 2016-12-05 10:05:00 +01:00
Anselm R Garbe
975c898376 applied Markus' decouple color-scheme patch 2016-12-05 10:01:33 +01:00
Anselm R Garbe
a137a86a23 applied Markus' clarify status text padding patch 2016-12-05 09:54:20 +01:00
Quentin Rameau
839c7f6939 LICENSE: update people 2016-11-15 17:35:33 +01:00
Quentin Rameau
7a59cd1457 dwm.1: add keybinding for spawning dmenu 2016-11-15 17:35:30 +01:00
Hiltjo Posthuma
24849acada die() on calloc failure
thanks Markus Teich and David!
2016-11-05 11:34:52 +01:00
Hiltjo Posthuma
ab9571bbc5 die() consistency: always add newline 2016-08-12 14:36:35 +02:00
Hiltjo Posthuma
56a31dc4a7 config.def.h: style improvement, use color Scheme enum 2016-06-28 18:04:56 +02:00