aboutsummaryrefslogtreecommitdiffstats
path: root/dwl.c
AgeCommit message (Collapse)AuthorLines
2020-04-23style in buttonpressDevin J. Pohly-18/+17
2020-04-23simplify move/resizemouse functionsDevin J. Pohly-19/+11
2020-04-23funnel all resizing through resize()Devin J. Pohly-1/+1
2020-04-23use exit code macros everywhereDevin J. Pohly-7/+7
2020-04-23some comments and remindersDevin J. Pohly-3/+5
2020-04-23factor out renderclientsDevin J. Pohly-20/+27
This will help once we get to implementing layer-shell
2020-04-23don't autoraiseDevin J. Pohly-6/+25
Still raise in buttonpress and focusstack of course. Focus models honestly wouldn't be too hard to make into a config.h option.
2020-04-23use the focus stack to determine stacking orderDevin J. Pohly-4/+4
Suddenly we have autoraise!
2020-04-23adopt a bit more dwm-like tersenessDevin J. Pohly-82/+63
2020-04-23change focus(NULL, NULL) to mean unfocusDevin J. Pohly-46/+55
"Focus the most recently focused window on selmon" is now refocus()
2020-04-23implement focusmon and tagmonDevin J. Pohly-0/+52
2020-04-23focus follows mouseDevin J. Pohly-20/+24
2020-04-23add incnmaster and setmfact commandsDevin J. Pohly-0/+23
2020-04-23add toggletag and toggleviewDevin J. Pohly-0/+27
2020-04-23don't detect non-visible clients under cursorDevin J. Pohly-0/+3
2020-04-23add tag and view functionsDevin J. Pohly-3/+37
2020-04-23refocus if focused client is unmappedDevin J. Pohly-18/+44
focus(NULL, NULL) works like dwm's focus(NULL): focus the most recent visible client on selmon, or clear the existing focus if there are none.
2020-04-23implement floating windowsDevin J. Pohly-2/+20
2020-04-23load scaled cursor theme with each outputDevin J. Pohly-3/+8
2020-04-23turn focusnext into dwm's focusstackDevin J. Pohly-9/+18
2020-04-23restrict focusnext to the same monitorDevin J. Pohly-6/+9
2020-04-23styleDevin J. Pohly-1/+1
2020-04-23add selclient() helperDevin J. Pohly-8/+16
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-22continue to focus monitor under mouse cursorDevin J. Pohly-0/+3
2020-04-22focus monitor under mouse cursor initiallyDevin J. Pohly-3/+16
2020-04-22grabbed_client was too long a nameDevin J. Pohly-8/+7
2020-04-22inline moveresizeDevin J. Pohly-15/+8
There were only two lines left in common
2020-04-22grabsx/y are only used by move nowDevin J. Pohly-5/+0
2020-04-22calculate resize based just on cursor/windowDevin J. Pohly-12/+2
This eliminates the need for grab_height and grab_width.
2020-04-22add setlayout functionDevin J. Pohly-0/+11
2020-04-22Don't change tiling order in focusnext()Devin J. Pohly-5/+7
Use the focus stack instead to determine which client is focused
2020-04-22add separate list of clients for focus orderDevin J. Pohly-7/+12
Previously, clicking a client to focus it would change where it was in the tiled layout as well.
2020-04-22layouts: tile and floatingDevin J. Pohly-3/+96
Behavior's still a little wonky but positioning is there.
2020-04-21"root" color was easy to make configurableDevin J. Pohly-3/+1
2020-04-21fix rendering on scaled monitorsDevin J. Pohly-4/+1
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-21introduce rules for monitor configurationDevin J. Pohly-1/+14
(with dwm, this would already have been done by the X server)
2020-04-21no need to manage unmapped clientsDevin J. Pohly-11/+4
is there?
2020-04-21consistent naming for coordinate variablesDevin J. Pohly-26/+26
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-21inline xytosurface in xytoclientDevin J. Pohly-34/+17
It was a simpler function than it looked
2020-04-21comment updatesDevin J. Pohly-9/+10
2020-04-21split out setup() and run()Devin J. Pohly-127/+142
2020-04-21cherry-pick 25d0d1b from upstreamDevin J. Pohly-6/+6
2020-04-21inline handlemove/handleresizeDevin J. Pohly-26/+12
2020-04-21render_data only needs coordinates, not ClientDevin J. Pohly-4/+4
2020-04-21abcDevin J. Pohly-44/+44
2020-04-21give types some more dwm-like typedef namesDevin J. Pohly-156/+152
2020-04-21use expressions in sizeof instead of type namesDevin J. Pohly-6/+3
2020-04-21no longer need resize_edges (always bottom right)Devin J. Pohly-38/+6
Also gets rid of the clunky move+resize code
2020-04-21ditch the moverequest/resizerequest xdg stuffDevin J. Pohly-34/+0
dear window, you are not the window manager
2020-04-21No need for struct dwl_serverDevin J. Pohly-146/+135
the only use was to hold global state, which is now actually global