565 Commits

Author SHA1 Message Date
6eabf8447a Update to zenwritten and add dwm autostart 2024-11-11 19:24:43 -05:00
8f355ffaee Add scratchpad patch 2024-06-10 20:19:30 -04:00
fe1e2224bb Apply swallow patch and fix text positioning for statuscolors patch 2023-10-09 23:32:19 -04:00
315af9c40a Apply swallow patch 2023-10-09 21:16:11 -04:00
24ddc71b94 Applying transparent bar patch 2023-10-09 21:12:26 -04:00
82475a6d25 Apply alpha patch 2023-10-08 15:37:01 -04:00
a43c37f3ca Apply statuscolors patch 2023-10-08 00:02:49 -04:00
2fbea483db Apply statuscolors patch 2023-10-07 22:09:04 -04:00
Alex Selimov
09776c4ce7 Finalized revamps to dwm build 2021-04-14 22:49:17 -04:00
Alex Selimov
082c9fa90a Add smart borders patch 2021-04-09 11:20:47 -04:00
Alex Selimov
79edc68d93 Remove info segment from bar 2021-04-09 11:06:06 -04:00
Alex Selimov
156e86725d Merge branch 'vanitygaps' into new_dwm 2021-04-09 10:50:50 -04:00
Alex Selimov
c3ec1ee77f Added vanity gaps patch 2021-04-09 10:50:41 -04:00
Alex Selimov
2c7258eb73 Merge branch 'restartsig' into new_dwm 2021-04-09 01:27:06 -04:00
Alex Selimov
799acc405b Add restart sig patch 2021-04-09 01:24:48 -04:00
Alex Selimov
5764f9044d Merge branch 'colorbar' into new_dwm 2021-04-09 01:23:23 -04:00
Alex Selimov
e9aa214681 Added colorbar patch 2021-04-09 01:23:16 -04:00
Alex Selimov
89ee249957 Merge branch 'pertag' into new_dwm 2021-04-08 23:16:47 -04:00
Alex Selimov
dcd3086f00 Added per tag patch 2021-04-08 23:16:19 -04:00
Alex Selimov
87e78dda46 Merge branch 'warp' into new_dwm 2021-04-08 23:09:36 -04:00
Alex Selimov
cdf3952929 Successful moveresize patch 2020-12-03 09:53:29 -05:00
Alex Selimov
5d534e0edd Patched dwm.c for warp patch 2020-12-01 09:34:31 -05:00
Ian Remmler
61bb8b2241 Fix x coordinate calculation in buttonpress. 2020-08-21 16:13:22 +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
b69c870a30 pledge: add rpath promise for the ugly Xft font fallback 2018-06-02 17:15:42 +02:00
Klemens Nanni
f40f86fa87 Pledge on OpenBSD 2018-05-25 11:49:30 +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
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
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
Hiltjo Posthuma
ab9571bbc5 die() consistency: always add newline 2016-08-12 14:36:35 +02:00
Markus Teich
7af4d439bd import new drw from libsl and minor fixes.
- better scaling for occupied tag squares.
- draw statusline first to omitt some complicated calculations.
2016-06-26 13:52:36 +02:00
Eric Pruitt
cd2d7549b3 Configure geometry before applying rules
Configuring geometry before applying rules makes it possible to have
more complex constraints in applyrules that depend on the initial window
dimensions and location.
2016-06-24 05:38:58 +02:00
Hiltjo Posthuma
3465bed290 fix fullscreen clients not resized on X display resolution change
patch provided by Bert Münnich <ber.t_AT_posteo.de>, thanks!
2015-12-19 20:25:26 +01:00
Hiltjo Posthuma
5ed9c48196 code-style consistency 2015-11-08 23:11:48 +01:00