565 Commits

Author SHA1 Message Date
Stivvo
38ba6d2277 Fullscreen: simplifications and fixes
Merges #69.
2021-03-25 10:05:12 -05:00
Devin J. Pohly
c2b53c2d8d
Merge pull request #91 from drdonahue/wip-tag-status-interface
Interface to display tag information on status bar
2021-03-25 09:58:17 -05:00
Miles Breslin
7996bfa7cc Add XWayland damage tracking 2021-03-18 19:10:05 -07:00
Miles Breslin
2af3b1d588
Merge pull request #1 from Stivvo/basic_damage_tracking
Keep track of subsurfaces
2021-03-18 18:32:06 -07:00
Stivvo
9585a0dba4 Merge remote-tracking branch 'origin/wlroots-next' into basic_damage_tracking 2021-03-16 10:25:47 +01:00
Stivvo
59bbf9f87f Fix crash closing applications
wlr_output_damage_add_whole() has no effect in mapnotifu_sub,
destroynotify_sub and caused crashes when closing applications which use
subsurfaces

Keep track of subsurfaces in a list so that it is possible to remove and
free them.
2021-03-15 22:03:51 +01:00
Stivvo
e8c5838a2e Fix stuttering moving clients across monitors
Memorize a pointer to the parent in each subsurface.
This way, when that clients is moved to another monitor, that monitor
will be damaged instead.
2021-03-15 10:09:13 +01:00
Stivvo
64b5c4c9f9 Fix windows not showing up switching between tags
When switching from an empty tag to a tag with clients the screen wasn't
updating. This is easily fixed damaging the screen directly in
arrange()
2021-03-15 01:07:34 +01:00
Stivvo
914bb4c886 Track subsurfaces damages
This prevents applications such as firefox from freezing when nothing
else is going on. Those applications use subsurfaces (for efficiency
reasons), which we were not keeping track of before.

Applications who use subsurfaces were working fine as long as other
applications were updating or the user was simply moving the mouse (and
thus damaging the whole screen anyway).

I'm not sure if listening to map and unmap events of subsurfaces is
necessary.

Most of this was inspired by sway.
2021-03-15 00:01:17 +01:00
Stivvo
b267258251 Merge remote-tracking branch 'miles/basic_damage_tracking' into basic_damage_tracking 2021-03-14 23:20:19 +01:00
David Donahue
ecc60878b3 changed fprintf(stdout) instances to printf(), changed function name from statusbar to printstatus 2021-03-13 11:20:33 -06:00
Devin J. Pohly
43b6e804cf Revert "remove sigchld function"
This reverts commit 1fa72b07728ebb396a9f236921b81c369bb12ccb.
Fixes #97.
2021-03-13 10:42:42 -06:00
Devin J. Pohly
fba820d5f6 Merge branch 'main' into wlroots-next 2021-03-10 09:53:09 -06:00
Devin J. Pohly
1fa72b0772 remove sigchld function
Explicitly setting the handler for SIGCHLD to SIG_IGN tells the OS to
reap zombie processes automatically, which is what we wanted anyway.
2021-03-10 09:50:09 -06:00
David Donahue
7cee5060bc added redirect from stdout to stderr for spawned processes to prevent conflicts with the statusbar outputs 2021-03-06 12:20:56 -06:00
Devin J. Pohly
2144546192 Merge branch 'main' into wlroots-next 2021-03-03 11:30:39 -06:00
Devin J. Pohly
15f5d31f98 correct key constant name
Fixes #94.
2021-03-03 11:29:53 -06:00
David Donahue
5b51bb82e2 Fixed tab formatting in 6 locations where statusbar() is called 2021-03-01 14:38:00 -06:00
David Donahue
f5e7caac00 Changed output to stdout instead of a file 2021-03-01 13:49:29 -06:00
David Donahue
593b7eec3c updated output format for better expansibility and easier parsing 2021-03-01 13:19:25 -06:00
Devin J. Pohly
b063dd89c3 Merge branch 'main' into wlroots-next 2021-03-01 11:26:16 -06:00
Devin J. Pohly
fd498e1910 clarify a bit about status bars 2021-03-01 11:25:28 -06:00
Devin J. Pohly
02eed717ca add explanatory command about Ctrl-Alt-Bksp/Fx 2021-03-01 11:22:08 -06:00
Devin J. Pohly
2d71c9b9ff Add default menu command
dwm config parity
2021-03-01 11:21:15 -06:00
Devin J. Pohly
87b16e6095 Defaults should match dwm/Xorg default behavior 2021-03-01 11:17:10 -06:00
Devin J. Pohly
8616d947b7 make rendermon more straightforward
Prior to damage tracking, we had to make sure wlr_output_commit was
called even if we weren't rendering anything new.  If we didn't, then
nothing would render after attempting the first window resize.  This is
no longer a problem (maybe because adding damage schedules another frame
callback?), so we can do some normal early-returns here.
2021-02-25 16:56:25 -08:00
Devin J. Pohly
38fe384783 stick to dwm style 2021-02-25 16:56:25 -08:00
Devin J. Pohly
5f260a3d36 Revert "Simpler damage implementation"
This reverts commit 59b05a9cd81f124aaf726d00c0b00e8465486018.  It was
worth seeing how well this would work.
2021-02-25 16:56:19 -08:00
Miles Breslin
e17445bb43 Simpler damage implementation 2021-02-25 16:55:13 -08:00
Miles Breslin
1e3a66478d Damage Tracking: Reduce unnecessary code 2021-02-25 16:54:03 -08:00
Miles Breslin
98f1c3f3d8 Damage the screen for new and removed clients as well 2021-02-25 16:54:03 -08:00
Miles Breslin
774a6e7f8c Basic damage tracking 2021-02-25 16:54:00 -08:00
Devin J. Pohly
9f90011ea2 add note about wlroots-next branch v0.2 2021-02-16 13:20:42 -06:00
Devin J. Pohly
c1eb2b49cd Revert "Revert "remove EGL parameter from backend_autocreate""
This reverts commit 8ed88822ca4448b06c2d7e6155d8022152b78017.
2021-02-16 13:13:49 -06:00
Devin J. Pohly
e8192b4fc9 Revert "Revert "fix undeclared WLR_KEY_PRESSED""
This reverts commit a11f2bbc7a4068321767bd7e8c7eee1aee278bc9.
2021-02-16 13:13:48 -06:00
Devin J. Pohly
4798450944 Revert "Revert "document that we currently follow wlroots-git""
This reverts commit ed8e80d9613599770ed2b11a3bc1d0057c075510.
2021-02-16 13:13:47 -06:00
Devin J. Pohly
ed8e80d961 Revert "document that we currently follow wlroots-git"
This reverts commit 9677f99dc3d5cb93ee6797609fd358fdfd3b3a3a.
2021-02-16 13:11:30 -06:00
Devin J. Pohly
a11f2bbc7a Revert "fix undeclared WLR_KEY_PRESSED"
This reverts commit 67896e9d8b98f679faf4456e26e82057c1884789.
2021-02-16 13:09:00 -06:00
Devin J. Pohly
8ed88822ca Revert "remove EGL parameter from backend_autocreate"
This reverts commit 0ff13cf216056a36a261f4eed53c6a864989a9fb.
2021-02-16 13:08:58 -06:00
Devin J. Pohly
3e82fad9c4 fix style on space-indented function 2021-02-14 12:43:10 -06:00
David Donahue
a1e24075d8 Removed unused variable from statusbar 2021-02-08 18:12:24 -06:00
David Donahue
27598bd04a added statusbar update when tags are updated 2021-02-07 01:03:04 -06:00
David Donahue
3868217466 Added interface to output information about tags, the currently selected monitor, and the focused client to a file for use by a status bar 2021-02-07 00:31:01 -06:00
Devin J. Pohly
a4c0b914f0
Link patches page in the README 2021-01-19 02:44:00 -06:00
Devin J. Pohly
9c1943ade5 add some explanation of output reconfiguration
Hopefully this will help "future us" understand what's going on.
2021-01-18 15:51:32 -06:00
Devin J. Pohly
a9e1cd4201 remove hacky code from output-management handler
This functionality belongs in updatemons(), where it can hopefully be
written a bit more elegantly.
2021-01-18 15:38:25 -06:00
Devin J. Pohly
ab03282295 commit entire output config, or fail and rollback
The wlr-output-management protocol requires that either all of the
changes from an apply request be applied successfully, in which case a
"succeeded" event is sent, or all of the changes are reverted and a
"failed" event is sent.  As written, this could partially commit
changes, then fail.

Test the changes first (even for an "apply" event), then commit or
rollback as appropriate.
2021-01-18 15:02:15 -06:00
Devin J. Pohly
3747b3162e
Merge pull request #71 from djpohly/output-layout
call updatemons at the appropriate times
2021-01-18 14:37:52 -06:00
Devin J. Pohly
5eefb51fea use updatemons as handler for output_layout.change
This should end up firing precisely when we need to adjust our geometry,
rather than us guessing about it based on requests.
2021-01-18 14:34:05 -06:00
Devin J. Pohly
43f1076833 remember to add client.h in Makefile 2021-01-18 14:16:24 -06:00