595 Commits

Author SHA1 Message Date
Zoe Roux
1996a3be2a . 2022-09-07 04:59:24 +02:00
Zoe Roux
e4057343f3 Fix client rules monitor unsynced with tags 2022-06-03 12:02:11 +02:00
Zoe Roux
bb2b54d1be Fix monitor starting tab and disable swallow 2022-06-03 11:54:35 +02:00
Sebastian Sareyko
19e1fe6378 Sort screens by origin
Doing a multi-head setup using other means than Xinerama may lead to
XineramaQueryScreens() returning the screens in an order that does not
actually represent the actual screen layout. This in turn may result
in dwm using the "wrong" monitor in monitor related
functions (focusmon(), tagmon(), applying rules, ...).

This change sorts the list of unique screens by their origin to
alleviate this problem.
2022-06-03 11:50:59 +02:00
Zoe Roux
a293057de2 Fixing fullsreen tag swap 2022-03-29 16:01:22 +02:00
Zoe Roux
a67453bf8f Adding a urgent color scheme 2022-02-16 23:39:01 +01:00
Zoe Roux
793624a7f3 Adding the swallow patch 2022-02-12 23:26:46 +01:00
Zoe Roux
7574600a4a Only managing focus of owned windows
See·https://www.reddit.com/r/suckless/comments/sisbe2/adding_an_existing_window_to_tabbed_causes/
for·more·informations
2022-02-12 22:54:45 +01:00
Zoe Roux
cd02a1bc2e Fixing stacker weird bug 2022-02-12 22:30:50 +01:00
Zoe Roux
805baaec27 Fixing send to tag selmon on others monitors 2022-02-12 19:37:53 +01:00
bakkeby
af082958c5 vanitygaps - adds gaps to layouts
This patch differentiates between inner and outer gaps as well as
horizontal and vertical gaps.

The logic of these layouts also aims to be pixel perfect by ensuring
an even split of the available space and re-distributing the remainder
among the available clients.
2022-02-12 18:14:51 +01:00
bakkeby
23fc74095c Monitor rules patch
This patch allows the user to define layout, mfact, nmaster, showbar,
and topbar settings on a per monitor basis. An example use case could
be to have a layout with a horizontal split for a secondary vertical
monitor.
2022-02-12 16:30:18 +01:00
Zoe Roux
403ff95ec3 Allowing tags from other monitors to be toggled on the current monitor 2022-02-12 15:56:35 +01:00
Zoe Roux
1a7e52b4d4 Using the focusorview method on urgent messages 2022-02-10 20:39:53 +01:00
Zoe Roux
2be5dcb0eb Fixing some indents 2022-02-10 20:27:36 +01:00
Zoe Roux
76e9004c1a Adding a focusorview action to focus a specific tag already selected on another monitor 2022-02-10 20:21:00 +01:00
MLquest8
d659304526 updated for version 6.2. Added startontag option. 2022-02-09 22:53:04 +01:00
Zoe Roux
8e60d3b876 SingleTagsetFixFS - Like tagmonfixfs but for the view func with singletagset
When views switch monitor via a MOD+TAG, fullscreen clients are still
drawn on the first monitor. This patch fixes this behavior.
2022-02-08 20:56:26 +01:00
Bakkeby
c437e57360 Adding placemouse patch 2022-02-08 01:29:30 +01:00
Bakkeby
d25e5e5cbe Adds the _NET_CLIENT_LIST_STACKING property which may be needed by some applications, e.g. zoom for window sharing. 2022-02-08 01:18:14 +01:00
Ryan Kes
f202df6199 dwm-ewhmtags-6.2 2022-02-08 01:11:23 +01:00
Jakub Leszczak
3a9a7eea52 Respect decoration hints
Make dwm respect _MOTIF_WM_HINTS property.  Applications use this
property to notify window managers to not draw window decorations.

Not respecting this property leads to issues with applications that draw
their own borders, like chromium (with "Use system title bar and
borders" turned off) and vlc in fullscreen mode.
2022-02-08 00:56:36 +01:00
Aidan Hall
0e6472699e Prevents hiding the border if layout is floating. 2022-02-08 00:23:15 +01:00
Zoe Roux
bcd8d15d71 Loading custom colors from xresources 2022-02-07 19:13:21 +01:00
Bakkeby
011c60fcf4 tagmonfixfs: Allow moving a fullscreen window to another monitor 2022-02-07 00:46:44 +01:00
Zoe Roux
7e55461f42 Adding the status2d.xrdb patch 2022-02-07 00:24:52 +01:00
Zoe Roux
033cedb7fa Adding the xrdb patch 2022-02-07 00:19:51 +01:00
MLquest8
fe97868c97 stacker updated for version 6.2 2022-02-06 23:50:16 +01:00
Zoe Roux
a80d7d5253 Adding the matchonce rule and configuring client rules 2022-02-06 22:20:17 +01:00
Zoe Roux
df5e352362 Adding the wintype property for rules 2022-02-06 22:04:23 +01:00
Zoe Roux
d6e751d10f Reducing the systray size to that of the font and adding a class to it for picom 2022-02-06 22:00:05 +01:00
Bakkeby
d8d3b7abb4 floatpos: Control the size and position of floating windows
This patch offers a comprehensive and monitor size agnostic way
of positioning new and existing floating windows.

Refer to:
https://github.com/bakkeby/patches/wiki/floatpos/
2022-02-06 20:33:36 +01:00
Danny O'Brien
1f809e3f81 Activate a window in response to _NET_ACTIVE_WINDOW
By default, dwm response to client requests to _NET_ACTIVE_WINDOW client
messages by setting the urgency bit on the named window.

This patch activates the window instead.

Both behaviours are legitimate according to
https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472702304

One should decide which of these one should perform based on the message
senders' untestable claims that it represents the end-user. Setting the
urgency bit is the conservative decision. This patch implements the more
trusting alternative.

It also allows dwm to work with `wmctrl -a` and other external window
management utilities.
2022-02-06 19:40:38 +01:00
Christian Tenllado
e215d1e400 Multiple scratchpads
This patch enables multiple scratchpads, each with one asigned window.
This enables the same scratchpad workflow that you have in i3.

Scratchpads are implemented as special tags, whose mask does not
apply to new spawned windows. To assign a window to a scratchpad you
have to set up a rule, as you do with regular tags.

Windows tagged with scratchpad tags can be set floating or not in the
rules array. Most users would probably want them floating (i3 style),
but having them tiled does also perfectly work and might fit better the
DWM approach. In case they are set floating, the patch moves them to the
center of the screen whenever they are shown. The patch can easily be
modified to make this last feature configurable in the rules array (see
the center patch).

The togglescratch function, borrowed from the previous scratchpad patch
and slightly modified, can be used to spawn a registered scratchpad
process or toggle its view. This function looks for a window tagged with
the selected scratchpad tag. If it is found its view is toggled. If it is
not found the corresponding registered command is spawned. The
config.def.h shows three examples of its use to spawn a terminal in the
first scratchpad tag, a second terminal running ranger on the second
scratchpad tag and the keepassxc application to manage passwords on a
third scratchpad tag.

If you prefer to spawn your scratchpad applications from the startup
script, you might opt for binding keys to toggleview instead, as
scratchpads are just special tags (you may even extend the TAGKEYS macro
to generalize the key bindings).
2022-02-06 19:36:33 +01:00
Bakkeby
96eadecc66 togglelayout - keyboard shortcuts to set a given layout will toggle to the previous layout if the given layout is already active 2022-02-06 14:53:40 +01:00
Zoe Roux
8100a98a7e Adding the fullscreen patch 2022-02-06 14:52:36 +01:00
Bakkeby
b8acaaffec togglefullscreen, allows you to toggle fullscreen on and off using the same shortcut key 2022-02-06 14:35:05 +01:00
Bakkeby
6f6034041d Lose fullscreen on focus change
This implements a separate losefullscreen function proposed by jzbor.
2022-02-06 14:34:23 +01:00
Zoe Roux
dbf2baba25 Fixing warp with singletagset switch 2022-02-06 14:13:32 +01:00
Zoe Roux
b414ee5aed Fixing singletagset from preventing tags to be used 2022-02-06 01:39:10 +01:00
Zoe Roux
4b6672a926 Fixing warp behavior with monocle 2022-02-06 01:13:54 +01:00
Zoe Roux
99c2fecf7e Adding the sendmon keep focus patch 2022-02-06 01:06:42 +01:00
Zoe Roux
4608153f0d Adding the hide vacant patch 2022-02-06 00:37:01 +01:00
Zoe Roux
2adda391ff Adding paddings to the bar 2022-02-06 00:12:30 +01:00
Bakkeby
603b6f56db Adding systray module 2022-02-06 00:03:08 +01:00
Bakkeby
e2119fbe3a Adding status2d + statuscmd + dwmblocks + extrastatus module 2022-02-05 21:03:20 +01:00
Bakkeby
83230de4a2 Bar Modules - splits the bar functionality into individual segments that can be re-arranged 2022-02-05 20:03:26 +01:00
Zoe Roux
e1d12a7c1e Applying the patch warp 2022-02-05 15:00:38 +01:00
mzeinali
15db28b2a9 single tagset for dwm source a786211 20211015 2022-02-05 14:44:05 +01:00
Chris Down
8657affa2a drawbar: Don't expend effort drawing bar if it is occluded
I noticed that a non-trivial amount of dwm's work on my machine was from
drw_text, which seemed weird, because I have the bar disabled and we
only use drw_text as part of bar drawing.

Looking more closely, I realised that while we use m->showbar when
updating the monitor bar margins, but don't skip actually drawing the
bar if it is hidden. This patch skips drawing it entirely if that is the
case.

On my machine, this takes 10% of dwm's on-CPU time, primarily from
restack() and focus().

When the bar is toggled on again, the X server will generate an Expose
event, and we'll redraw the bar as normal as part of expose().
2021-12-19 16:16:30 +01:00