Commit Graph

243 Commits

Author SHA1 Message Date
623867a367 turn focusnext into dwm's focusstack 2020-04-23 00:47:15 -05:00
59b09576b9 restrict focusnext to the same monitor 2020-04-23 00:38:09 -05:00
a634b3f2e4 style 2020-04-23 00:33:58 -05:00
9b2eec24c2 add selclient() helper
This may get inlined later, but it's nice for now.  The focused client
if any should always be both at the top of fstack and visible on selmon.
2020-04-23 00:32:28 -05:00
3593da0e15 continue to focus monitor under mouse cursor 2020-04-22 22:56:24 -05:00
240be1af19 focus monitor under mouse cursor initially 2020-04-22 22:55:57 -05:00
f88a98327e grabbed_client was too long a name 2020-04-22 22:38:14 -05:00
1595256341 inline moveresize
There were only two lines left in common
2020-04-22 22:34:11 -05:00
0a43197203 grabsx/y are only used by move now 2020-04-22 12:00:10 -05:00
749880cedd calculate resize based just on cursor/window
This eliminates the need for grab_height and grab_width.
2020-04-22 11:59:52 -05:00
def3572117 add setlayout function 2020-04-22 11:20:23 -05:00
fdbe9ee29a Don't change tiling order in focusnext()
Use the focus stack instead to determine which client is focused
2020-04-22 11:05:41 -05:00
10bf0ff566 add separate list of clients for focus order
Previously, clicking a client to focus it would change where it was in
the tiled layout as well.
2020-04-22 10:42:40 -05:00
3707e0115a layouts: tile and floating
Behavior's still a little wonky but positioning is there.
2020-04-22 08:25:43 -05:00
6f9f1b9e05 "root" color was easy to make configurable 2020-04-21 21:58:13 -05:00
ffc19434ee fix rendering on scaled monitors
I have no idea why this takes the raw unscaled resolution, and then we
have to multiply by the scale *again* in render(), but that's life.
2020-04-21 21:56:01 -05:00
1907ee3879 introduce rules for monitor configuration
(with dwm, this would already have been done by the X server)
2020-04-21 21:53:34 -05:00
97f29ec67f no need to manage unmapped clients
is there?
2020-04-21 20:55:06 -05:00
c37aa00aec consistent naming for coordinate variables
x and y are reserved (inasmuch as it's dwl's choice) for coordinates
relative to the layout.  ox and oy are used for output-relative
coordinates.  sx and sy are surface-relative.  dx and dy are deltas.

figuring this out the first time was kind of a Thing... just don't pay
attention to what happens in render and you should be fine.
2020-04-21 19:42:21 -05:00
cdeff2475d inline xytosurface in xytoclient
It was a simpler function than it looked
2020-04-21 19:17:44 -05:00
0e9bceb8b6 comment updates 2020-04-21 19:09:36 -05:00
552deb7026 split out setup() and run() 2020-04-21 18:57:04 -05:00
23924022c9 cherry-pick 25d0d1b from upstream 2020-04-21 17:45:44 -05:00
26714f172a inline handlemove/handleresize 2020-04-21 17:45:44 -05:00
599bec5583 render_data only needs coordinates, not Client 2020-04-21 17:45:44 -05:00
7056fbe101 abc 2020-04-21 17:45:44 -05:00
1d2b0a7b35 give types some more dwm-like typedef names 2020-04-21 17:45:44 -05:00
bf58f7c0d2 use expressions in sizeof instead of type names 2020-04-21 17:45:44 -05:00
46ff18413f no longer need resize_edges (always bottom right)
Also gets rid of the clunky move+resize code
2020-04-21 17:45:44 -05:00
1aa640d5f5 ditch the moverequest/resizerequest xdg stuff
dear window, you are not the window manager
2020-04-21 17:45:44 -05:00
8e9405688a No need for struct dwl_server
the only use was to hold global state, which is now actually global
2020-04-21 17:45:39 -05:00
49c9e62ff4 make server a global
dwm isn't afraid of global variables
2020-04-21 17:44:59 -05:00
364b664a6c dwm-style enum 2020-04-21 17:43:35 -05:00
2903d5180a alphabetize functions 2020-04-21 17:43:33 -05:00
2c0bf57fcf functions: dwm style and more dwm-like names 2020-04-21 17:42:16 -05:00
bc9049a11b add spawn and termcmd 2020-04-12 00:59:29 -05:00
c82c000bd4 treat startup command as long-running
Not quite a perfect mirror of xinit, where the startup command execs the
window manager, and the termination of that process brings down the
windowing system, but it might be the Wayland analogue.
2020-04-11 22:44:34 -05:00
333528b2e2 fix typo in comment 2020-04-11 21:30:12 -05:00
edf90816b1 implement Button: movemouse, resizemouse 2020-04-11 21:29:27 -05:00
9240a40569 add CLEANMASK like dwm 2020-04-11 19:46:51 -05:00
21f42a86d7 make key mappings configurable in config.h 2020-04-11 19:41:32 -05:00
df1aaa4d15 start factoring Key actions into functions 2020-04-11 19:41:14 -05:00
94d82bf42f Start with tinywl
Add a config.h into which configurables can be moved.
2020-04-11 17:27:19 -05:00