448 Commits

Author SHA1 Message Date
ARDiDo
6144aa39cc Set unmanaged monitor and remove damageallmons 2021-09-28 18:30:56 -04:00
ARDiDo
dd3f342530 fix foot scroll crash 2021-09-18 13:12:17 -04:00
ARDiDo
a4ce5e08ab fix no xwayland 2021-09-15 18:34:26 -04:00
ARDiDo
90ed84be14 remove listeners 2021-09-15 18:09:49 -04:00
ARDiDo
c0e646d20b removed unnecessary statements 2021-09-15 16:42:34 -04:00
ARDiDo
4a88a7025e handle unmanaged xwayland mapping 2021-09-14 19:44:15 -04:00
ARDiDo
1e89aa72a3 damage after destroy layersurface 2021-09-14 18:59:51 -04:00
ARDiDo
a98b3831d5
Merge pull request #1 from ARDiDo/main
update deprecated xkb function name
2021-09-14 22:48:56 +00:00
Devin J. Pohly
d4e08c0762 update deprecated xkb function name 2021-08-23 18:59:31 -05:00
Sevz17
be103859f6 fix crash when foot closes 2021-08-17 21:04:24 -05:00
Sevz17
774bf9988e Merge remote-tracking branch 'upstream/main' into basic_damage_tracking 2021-08-17 21:01:16 -05:00
Devin J. Pohly
1183a319a0
Merge pull request #136 from guidocella/presentation-time
implement the presentation time protocol
2021-08-14 07:53:26 -04:00
Guido Cella
d175a58d73 implement the presentation time protocol
This lets applications, such as mpv with --video-sync=display-resample,
know accurately when frames are displayed and ensure smooth video
playback.
2021-08-02 16:33:38 +02:00
David Donahue
52e6bf4735 Moved printstatus() call in focusclient() to prevent printstatus being called on every frame when things like dmenu are up 2021-07-01 15:20:30 -05:00
Devin J. Pohly
f9f3f3432b Merge branch 'xdg-activation' into wlroots-next 2021-06-30 14:09:02 -05:00
Devin J. Pohly
bd2f7fbb40 exit cleanly on INT/TERM 2021-05-26 23:30:49 -05:00
Devin J. Pohly
823cefd292 handle ephemeral pageflip failures
If a transient failure occurs in wlr_output_commit, re-render until it
doesn't happen.  This could possibly be removed if we decide to
implement damage tracking in the future.
2021-05-25 02:52:33 -05:00
Devin J. Pohly
60c40c0989 print status on output create
Along with starting the -s command earlier, this will allow the initial
monitor setup to generate printstatus info.
2021-05-24 22:31:36 -05:00
Devin J. Pohly
06ca860092 factor xwayland hackiness out into client.h 2021-05-23 18:28:13 -05:00
Sevz17
9ab5e01d5b before set tiled verify if client is xdg-shell, then set tile 2021-05-23 11:44:56 -05:00
Devin J. Pohly
d8cf65c74f implement urgency hint 2021-05-22 21:21:53 -05:00
Devin J. Pohly
93a58abf29 Wait until map to set window's tiled state
Workaround for a bug in Chromium where it fails to attach a buffer to
the surface.  Fixes #119.
2021-05-22 14:24:18 -05:00
Devin J. Pohly
3f86336bad Merge branch 'main' into pipe-status 2021-04-15 13:06:06 -05:00
Devin J. Pohly
3727f4a7b3 update status info if focused client changes title
Fixes #108.
2021-04-15 13:05:05 -05:00
Devin J. Pohly
b372d4b55e pipe status info into -s command
Unlike with X window managers, the display socket in Wayland isn't set
up prior to starting the compositor.  Because of this, you can't pipe
the compositor's output directly into a program which needs access to
$WAYLAND_DISPLAY, which is a typical setup for this purpose.  Existing
scripts have been forced to create a pipe/FIFO or a temporary file as an
intermediary.

Instead, send the status info directly to stdin of the -s command, which
*does* have access to $WAYLAND_DISPLAY.

Fixes #103.
2021-04-14 11:23:23 -05:00
Devin J. Pohly
9071ce6c84 nuke CSDs, hopefully for good! 2021-04-09 12:37:49 -05:00
Stivvo
107b201812 Merge remote-tracking branch 'dj/main' into basic_damage_tracking 2021-04-03 19:33:53 +02:00
Stivvo
18c12c1f11 Fix subsurface commit crash + avoid needles check
Always start listening for commit events in mapnotify. This allows to
avoid checking c->mon each commit and fixes the crash opening
applications who commit subsurfaces before mapping them
2021-04-03 19:31:31 +02:00
Devin J. Pohly
2a9404ac2a Merge branch 'main' into wlroots-next 2021-03-30 13:57:34 -05:00
Devin J. Pohly
3c83e0cfb8 don't move/resize if already moving/resizing
Fixes #102.  The "ideal" behavior might be to ignore buttons other than
the one being used for the action, but this is super-simple and still
seems reasonable.
2021-03-30 13:56:04 -05:00
Devin J. Pohly
cd3d0a102f Merge branch 'main' into wlroots-next 2021-03-25 10:09:58 -05:00
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
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
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
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