Commit Graph

339 Commits

Author SHA1 Message Date
bakkeby
b3cb874ff5 scratchpads: allow a hidden scratchpad to be revealed when toggling scratch and reduce size of window if too large to be displayed when switching monitors 2020-09-14 13:23:59 +02:00
bakkeby
fada5790a2 fakefullscreenclient: setfullscreen logic overhaul 2020-09-13 13:35:15 +02:00
bakkeby
819d06c5c9 swallow: arrange monitor if window is not swallowed 2020-09-12 14:21:51 +02:00
bakkeby
7b477bc7db fakefullscreen: fullscreen --> fake fullscreen can make the tiled window display on top of floating window 2020-09-12 13:33:02 +02:00
bakkeby
dc9e57a6b6 swallow: upgrading to latest version with OpenBSD support 2020-09-11 17:21:38 +02:00
bakkeby
104c9909b5 swallow: upgrading patch + fixing glitches 2020-09-11 11:47:57 +02:00
bakkeby
d91db5cd65 anybar: adding experimental support for having both anybar + dwm bar(s) in play 2020-09-10 15:24:51 +02:00
bakkeby
8994f375e8 anybar: initial commit 2020-09-10 13:32:28 +02:00
bakkeby
c257e2e390 fakefullscreen: prevent focus from drifting away from client when going from fullscreen to fake fullscreen 2020-09-10 09:41:00 +02:00
bakkeby
ff9811f73d Just some minor changes adding bar border patch ref. #41 2020-09-09 17:24:02 +02:00
bakkeby
b3e6e3531b ipc: adding function/signal bindings 2020-09-08 16:57:31 +02:00
bakkeby
95611ca0bd Adding IPC v1.5.5 patch 2020-09-08 13:34:58 +02:00
bakkeby
4379517c25 Adding IPC v1.5.5 patch 2020-09-07 17:48:58 +02:00
bakkeby
260bd11a53 systray may not always exist 2020-09-07 12:43:37 +02:00
bakkeby
f4f5ecab75 Scratchpads improvement (multi-monitor support) 2020-09-07 09:50:42 +02:00
bakkeby
fce55dadcb showhideclient: focus on client after coming out of hidden/iconic state 2020-09-05 15:59:38 +02:00
bakkeby
c14f40190e Assortment of fullscreen improvements 2020-09-05 14:20:53 +02:00
bakkeby
dc277e6c8f Assortment of fullscreen improvements 2020-09-05 12:06:19 +02:00
bakkeby
5f5dc7ab9c Assortment of fullscreen improvements (togglefullscreen / fakefullscreenclient / tagallmon / tagswapmon) 2020-09-05 11:38:09 +02:00
bakkeby
dcf7b049ba Adding view same tag gives previous tag patch 2020-09-05 09:11:12 +02:00
bakkeby
69277ea1a8 awesomebar: correct centeredwindowname check 2020-09-04 11:33:52 +02:00
bakkeby
5acfb55a9c Silly addendum: adding box indicator just to inspire some ideas 2020-08-30 11:22:07 +02:00
bakkeby
b3f078abfb Silly addendum: adding box indicator just to inspire some ideas 2020-08-30 11:14:12 +02:00
bakkeby
ff7fbd2410 indicator bottom bar should probably be filled depending on whether the tag is selected or not 2020-08-30 10:03:27 +02:00
bakkeby
85c99ae8d4 Added slim variants for the bar indicators 2020-08-30 10:00:30 +02:00
bakkeby
8ff0adeabd indicators: Adding the NONE indicator to disable e.g. indicators for tags 2020-08-28 19:48:30 +02:00
bakkeby
b714329d87 floatpos: Adding m option to spawn floating clients where the mouse pointer is 2020-08-28 18:17:09 +02:00
bakkeby
82c3984b2d Adding tdukv's addition to the status2d patch - allowing pywal to control the status colours via terminal colors 2020-08-28 07:17:52 +02:00
bakkeby
0d743eddff flexwintitle: allow flexwintitle to control window borders 2020-08-27 21:37:19 +02:00
bakkeby
c44b14e3dd setborderpx compatibility improvements 2020-08-27 21:05:34 +02:00
bakkeby
b3d336322e Adding aspectresize patch 2020-08-27 07:34:21 +02:00
bakkeby
376b48e4d2 Add the following tags for the status2d patch: ^w^ -
Swaps bg/fg color.     ^v^ - Saves the current fg/bg color.    ^t^ - Restores
the previously saved bg/fg color.

As proposed by tdu to hackers@suckless.org.
2020-08-27 06:30:48 +02:00
bakkeby
e952cc9a81 Minor refactoring of warp and fullscreen patches, getting rid of MONOCLE_LAYOUT_POS setting 2020-08-27 06:26:48 +02:00
bakkeby
f45acf8795 Added alttagsdecoration patch.
Unified tag icon handling while adding support for different icons per monitor.

In general LENGTH(tags) has been replaced with a NUMTAGS macro (defaulting to 9)
and the tags[] array has been replaced with a tagicons[][] array, access to which
is done through a single function tagicon.

This allows one central place where alternative tags, alttagsdecoration, or other
future tags logic is handled. This also gives a consistent display of tags
regardless of the module that presents tags.

Additionally the monitor index has been integrated into dwm for easier access.
2020-08-25 16:27:14 +02:00
bakkeby
df57bdeb64 Identified and fixed a few more cross-compilation issues 2020-08-24 15:03:55 +02:00
bakkeby
7ce66bf122 Identified and fixed a few more cross-compilation issues related to prior refactoring / simplification 2020-08-24 00:26:26 +02:00
bakkeby
939a407e25 Fixing wintitle and a few warning messages ref. #37 2020-08-23 18:18:05 +02:00
bakkeby
8ec80be756 Fixing warp barmodules compatibility ref. #37 2020-08-23 14:32:59 +02:00
bakkeby
81f44b036c Simplified Pango integration by settling on common function signatures. 2020-08-22 20:31:17 +02:00
bakkeby
46ebaea58f Added clientindicators patch and unified and simplified indicator code. Enabled centeredwindowname option for awesomebar and bartabgroups patches. 2020-08-22 20:30:51 +02:00
bakkeby
32819a48f3 Added clientindicators patch and unified and simplified indicator code. Enabled centeredwindowname option for awesomebar and bartabgroups patches. 2020-08-22 16:25:56 +02:00
bakkeby
512a656ddd Added logic to auto-hide bars if nothing is drawn on them (e.g. for standalone bars that only show certain clients) 2020-08-22 09:26:56 +02:00
bakkeby
110cc7d240 Added logic to auto-hide bars if nothing is drawn on them (e.g. for standalone bars that only show certain clients) 2020-08-22 08:43:07 +02:00
bakkeby
81488b4862 Simplification of color configuration; settling on a set of color schemes that is shared between multiple patches (urgentborder, floatborder and titlecolor patches made non-optional) 2020-08-21 15:49:15 +02:00
bakkeby
6b9c484b78 Refactoring and simplifying color configuration in config.h
This involves always having configuration for floating border, regardless of
whether it is used or not. Also permanently dropping the const expectation
for color configuration in dwm, so that vtcolors and xrdb patches can change
color configuration.
2020-08-20 17:42:30 +02:00
bakkeby
a085c788e3 Adding experimental flexwintitle patch based on bartabgroups 2020-08-20 13:30:12 +02:00
bakkeby
c7b84ec738 dragmfact: minor if / else if correction if one is not using the flextile deluxe layout 2020-08-20 13:03:33 +02:00
bakkeby
cc495a80dc bartabgroups: adding guard for missing wintitleactions patch, just to align with patch 2020-08-15 11:18:54 +02:00
bakkeby
2632f112a8 bartabgroups: grouped floating and hidden windows, added stack, float and hidden group weights 2020-08-15 10:58:33 +02:00
bakkeby
ed2b8c27c8 bartabgroups: show title for hidden floating windows, added option to show always show title for floating windows 2020-08-15 07:44:41 +02:00
bakkeby
de47bd8839 Adding bartabgroups patch 2020-08-13 15:42:49 +02:00
bakkeby
57e727b498 Adding focusmaster patch 2020-08-11 10:25:19 +02:00
bakkeby
10f4d513ec Adding decoration hints patch 2020-08-11 10:17:02 +02:00
bakkeby
1dd4ec5bc4 Adding insets patch 2020-08-10 13:16:12 +02:00
bakkeby
dfe1c40563 Adding cool autostart patch 2020-08-10 10:24:16 +02:00
bakkeby
85dd49a6a4 autostart: moving configs to config.def.h 2020-08-10 09:42:43 +02:00
bakkeby
3f4f88c142 awesomebar: use previously tiled when hiding client and the hidden client was the last tiled client 2020-08-04 13:40:26 +02:00
bakkeby
12527f00d9 zoomswap: renamed prevtiled back to findbefore as per original patch 2020-08-04 13:40:09 +02:00
bakkeby
ed7a43edf1 Adding reorganizetags patch 2020-08-02 15:18:18 +02:00
bakkeby
f067db87aa awesomebar: when hiding a client make the next focused client the next tiled client 2020-08-02 12:33:24 +02:00
bakkeby
68d9a1d7cc status2d: set the correct scheme before updating colours 2020-07-31 10:24:54 +02:00
bakkeby
2cf37aa492 status2d: rawstext may not exist if neither statuscmd nor the extrabar patch is used 2020-07-24 11:15:44 +02:00
bakkeby
56ad78e7d2 Adding link to flextile-deluxe wiki page 2020-07-23 19:41:18 +02:00
bakkeby
d7a7ac67ee barmodules: removing tags padding 2020-07-20 11:58:21 +02:00
bakkeby
2065014161 BAR_TITLE_RIGHT_PAD --> BAR_TITLE_RIGHT_PAD_PATCH 2020-07-19 19:30:02 +02:00
bakkeby
d0c077a102 Removing unnecessary .h file 2020-07-19 19:29:10 +02:00
bakkeby
023aa218e4 Adding powerline patch 2020-07-19 16:57:30 +02:00
bakkeby
23c0e9450f hidevacanttags: width and buttonpress fix 2020-07-19 09:38:06 +02:00
bakkeby
6961418d63 Extrabar --> extrastatus 2020-07-18 21:12:30 +02:00
bakkeby
250fbbd2c7 holdbar: changes for new bar 2020-07-18 18:59:03 +02:00
bakkeby
664484d572 Refinement 2020-07-18 13:03:30 +02:00
bakkeby
ad09397ad9 status2d: hide click_status2d if dwmblocks is used 2020-07-15 17:15:35 +02:00
bakkeby
06c4122e07 Movestack can cause dwm to crash if there are no selections on the monitor 2020-07-15 17:14:29 +02:00
bakkeby
e780c5078f taggrid: fix for invalid highlighting for the last tag when columns have an uneven number of clients 2020-07-15 17:14:14 +02:00
bakkeby
aa70728d00 Adding BarWidthArg, BarDrawArg, BarClickArg to keep the method signatures static 2020-07-15 14:10:47 +02:00
bakkeby
f2da4d20d9 Further bar renaming 2020-07-15 09:26:16 +02:00
bakkeby
903b32ac8b Major refactoring in preparation for bar modules 2020-07-15 08:57:30 +02:00
bakkeby
1584a32063 flextile deluxe: fixed dual stack bug 2020-07-09 16:04:04 +02:00
bakkeby
ccb275b984 Extrabar alignment, buttonclicks and other improvements 2020-07-07 17:25:48 +02:00
bakkeby
ab488abc11 Extrabar compatibility improvements 2020-07-05 21:53:36 +02:00
bakkeby
f58c699dbb Fix for dwm randomly crashing when the first systray application starts
The crash error was:

dwm: fatal error: request code=12, error code=11
X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  12 (X_ConfigureWindow)
  Serial number of failed request:  3333
  Current serial number in output stream:  3338

This was backtracked to function updatesystray where XConfigureWindow was
called with large negative X positions (e.g. -836585). The large number
coming from the width of the systray icon.

w += i->w;

The systray icon width is set through the updatesystrayicongeom function
and this is called by resizerequest, clientmessage and propertynotify.

The height and width would appear to come from the X window attributes and
sometimes have random values (e.g. height 32708 and width 1369918222).

updatesystrayicongeom restricts the height of the icon to that of the bar,
but did not have any restictions on the icon width. This fix limits the
icon width to that of the bar height if it is greater than twice the bar
height, leaving room for systray icons that are slightly wider than they
are tall.
2020-07-05 13:20:28 +02:00
bakkeby
8120e0b858 Fixed a dwmblocks / statuscmd / systray compatibility issue where button clicks would be misaligned if systray pinning is used and systray is on another monitor 2020-07-01 16:16:19 +02:00
bakkeby
8c07458f11 holdbar: toggle bar improvements 2020-06-30 10:15:36 +02:00
bakkeby
347e6ace91 dragmfact: Tweaks for fixed horizontal split 2020-06-29 11:03:25 +02:00
bakkeby
c14a51524b Adding cursor icons for resizecorners, resizepoint, dragmfact and dragcfact 2020-06-25 11:56:41 +02:00
bakkeby
af30c7a735 floatpos: allow controls in floating mode 2020-06-23 12:11:01 +02:00
bakkeby
9ae251791d floatpos: correction 2020-06-23 11:55:55 +02:00
bakkeby
6c2d1518ab floatpos: refactoring 2020-06-23 10:15:37 +02:00
bakkeby
aecfff3a00 floatpos: correcting defaults 2020-06-22 17:53:33 +02:00
bakkeby
6a683c729e Adding floatpos patch. 2020-06-21 15:33:29 +02:00
bakkeby
8645b2ce35 Minor style correction 2020-06-21 09:10:25 +02:00
bakkeby
62cca4897b Tidy following tagothermonitor merge 2020-06-21 09:07:51 +02:00
matt
6aca089661 Adding tagothermonitor patch 2020-06-19 23:18:50 +02:00
bakkeby
5e0a9c49f8 Adding sizehints patch 2020-06-15 21:01:05 +02:00
bakkeby
f315188728 Autostart: Make autostart conform to XDG Base Directory specification (upgrade) 2020-06-14 19:56:52 +02:00
bakkeby
8c4eaccf16 Adding pango patch (ref. #10)
Text from original patch:

Using pango markup for status text

Use a single font. Removed some code utf8 code from drw.
Created for pango 1.44. Older versions might not have getter
for font height, ascent + descent can be used instead.
All texts are rendered with pango but only status is with
markup. Increased stext size (in case a lot of markup is used).
MIN/MAX is already defined (didn't redefine them).
2020-06-11 16:44:43 +02:00
bakkeby
45247a14bc Fix infinite loop in attachbelow patch 2020-06-10 10:48:50 +02:00
bakkeby
a713e73a37 shiftviewclients: compatibility changes for scratchpads and scratchpad_alt_1 patches 2020-06-05 11:24:07 +02:00
bakkeby
6321b52a30 Renamed SCRATCHPAD_PATCH --> SCRATCHPADS_PATCH to match the naming of the suckless patches as the multiple scratchpads patch has its own location now 2020-06-05 11:23:22 +02:00
bakkeby
09a5fc9097 scratchpad_alt: Style change 2020-06-05 11:23:02 +02:00
bakkeby
bad53d2cc4 Upgrading Gaspar Vardanyan's scratchpad patch to the 20200510 version.
https://github.com/GasparVardanyan/dwm-scratchpad/blob/master/dwm-scratchpad-20200510-f09418b.diff
2020-06-05 09:43:27 +02:00
bakkeby
fbb1537da6 Removing debug line 2020-06-05 09:00:05 +02:00
bakkeby
d7814e3a3e dwmc: Adding external control to set gaps 2020-06-04 20:29:16 +02:00
bakkeby
2b332f7199 Expanding Xresources options to include the warn colours in relation to the statuscolors patch 2020-06-03 17:29:25 +02:00
Stein Gunnar Bakkeby
8c419b0d7a Expanding on dwmc options 2020-06-02 11:11:59 +02:00
bakkeby
4db0cd6443 An idea to remember to add keymodes patch files 2020-06-02 10:18:17 +02:00
bakkeby
af96d4c358 Adding keymodes patch 2020-05-31 15:14:29 +02:00
bakkeby
e7ea06a0c2 status2d: Minor protection against crashes due to invalid x and y values 2020-05-31 15:14:07 +02:00
bakkeby
2e30bddc16 Fixing status2d and statuscmd / dwmblocks compatibility issues.
Text width calculations when using status2d strings resulted in
statuscmd button placement calculations to be way off. Fixed by
introducing a separate function status2dtextlength to get an
approximate correct text width.
2020-05-27 21:04:22 +02:00
bakkeby
e79aec52c2 Adding status2d patch 2020-05-26 20:53:53 +02:00
bakkeby
fc8434abd1 Adding moveplace patch 2020-05-21 19:58:11 +02:00
bakkeby
2cb3e697e4 Adding moveresize patch as per #25 2020-05-21 18:55:47 +02:00
bakkeby
df118dc046 Switchtag patch, lose switchtag feature for client if the client is moved to another tag 2020-05-20 16:43:09 +02:00
bakkeby
57ef22eaba [dwm][patch] setborderpx reset floating windows to previous size 2020-05-20 15:11:33 +02:00
bakkeby
29a06f83a0 [dwm][patch] setborderpx minor code style changes 2020-05-13 13:25:06 +02:00
bakkeby
5cfaf8357b [dwm][setborderpx] allow borderpixel changes in floating layout and for floating clients 2020-05-13 13:17:12 +02:00
bakkeby
1c6412802e Getting rid of practically unused nbottom variable 2020-05-13 09:41:44 +02:00
bakkeby
0b429b4994 Fibonacci updates 2020-05-10 17:11:05 +02:00
bakkeby
ac4c5081c5 Horizgrid pixel perfect updates 2020-05-10 17:09:41 +02:00
bakkeby
443795e3c9 Gridmode pixel perfect updates 2020-05-10 10:42:47 +02:00
bakkeby
174e3260d2 Gappless grid pixel perfect updates 2020-05-10 10:40:47 +02:00
bakkeby
1508d9f274 Fibonacci pixel perfect updates 2020-05-10 10:31:11 +02:00
bakkeby
c65315d52f Improved fibonacci layout (pixel perfect) 2020-05-08 18:54:39 +02:00
bakkeby
511fda0088 Removing unnecessary variable when both statuscmd and dwmblocks is used 2020-05-07 21:44:17 +02:00
bakkeby
1a4b3632d1 Removing redundant lastbutton variable when both statuscmd and dwmblocks patches are enabled 2020-05-05 19:59:21 +02:00
bakkeby
a6c2fe5668 Adding shiftviewclients files 2020-05-05 19:54:02 +02:00
bakkeby
91291ceb9f Removing redundant statuscmds logic when both statuscmd and dwmblocks patches are applied 2020-05-05 19:50:28 +02:00
bakkeby
75d5f1e0c5 Adding shiftview patch 2020-05-03 16:09:05 +02:00
bakkeby
f028377c98 Adding dwmblocks patch 2020-05-02 14:58:23 +02:00
bakkeby
b837899f7a Adding option to be able to reverse cycle through flextile-deluxe layouts 2020-05-01 16:45:25 +02:00
bakkeby
0a0222d929 Pertag flextile-deluxe needlessly tied to monitor rules patch 2020-05-01 14:14:38 +02:00
bakkeby
c56773c0a0 Missing variable for dragmfact without vanitygaps patch 2020-04-30 18:09:47 +02:00
bakkeby
69a9fe607a Changes to make fibonacci layout arrangement pixel perfect 2020-04-28 16:56:51 +02:00
bakkeby
8aa7a8dafb Changes to make gapplessgrid layout arrangement pixel perfect 2020-04-28 16:34:44 +02:00
bakkeby
904cc5962f No real reason for using Bool here, we use ints everywhere else 2020-04-26 16:46:10 +02:00
bakkeby
a84f1b01d2 Adding fix for attachbottom patch 2020-04-22 20:04:09 +02:00
bakkeby
ec32a28380 [dwm][PATCH] statuscolors, fix status text width computation
This is an updated version of the statuscolors patch that fixes the
computation of the text width. The previous version of the patch
inculded all the byte codes that are used to select the color schemes
when computing the width, obaining a width that is larger than the real
width. This patch fixes that by adding up the widths of the individual
chunks, separated by the codes that select the color schemes.
2020-04-16 20:22:23 +02:00
bakkeby
f9a001dee7 [dwm][PATCH] Multiple scratchpads
This patch enables multiple scratchpads, each with one assigned 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 the 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 on
the selected scratchpad. 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).
2020-04-16 16:39:22 +02:00
bakkeby
525dc0d107 Adding statuscmd patch ref. #23 2020-04-13 15:01:08 +02:00
bakkeby
692affcff7 dragcfact and dragmfact improvements 2020-03-31 11:07:24 +02:00
bakkeby
a560b9cb53 Adding rounded corners patch 2020-03-31 10:21:45 +02:00
bakkeby
f2673fec53 [dwm][patch] holdbar: fixed flickering caused by repeated key events 2020-03-29 12:57:07 +02:00
bakkeby
7094852845 Making flextile gridmode pixel perfect 2020-03-29 10:50:07 +02:00
bakkeby
1bd0871daf Adding two new variants of gappless grid to flextile as well as making horizgrid pixel perfect 2020-03-28 21:28:17 +01:00
bakkeby
e9e32d28c7 Adding revamped dragmfact patch ref. #19 2020-03-27 20:46:54 +01:00
bakkeby
cf2e0c1d70 dragcfact - if the window is floating, then fall back to resizing the window rather than doing nothing, #19 2020-03-25 15:23:14 +01:00
bakkeby
32d3d2b7c3 Adding dragcfact patch, ref. #19 2020-03-25 15:15:47 +01:00
bakkeby
d17a306a94 Removing workaround to ensure that floating master stays on top, ref. #20 2020-03-24 10:17:09 +01:00
bakkeby
becbb9bfbf Removing unwanted and forgotten debug line ref. #20 2020-03-23 19:03:02 +01:00
bakkeby
52db51175b Bug failing to close the last window using the centered floating master layout, ref. #20 2020-03-23 16:18:18 +01:00