Commit graph

550 commits

Author SHA1 Message Date
Leonardo Hernández Hernández
8cdb997126
conform the xdg-protocol with fullscreen translucent clients
see `setfullscreen()` for more info
2022-07-23 02:17:00 -05:00
Leonardo Hernández Hernández
90a12c90a0
always set the same monitor and tags for child clients of a client
fixes #272
2022-07-19 20:13:56 -05:00
Leonardo Hernández Hernández
e082292606
do not focus clients if a layer surface is focused 2022-07-19 12:24:24 -05:00
Dima Krasner
deb48ff48b force line-buffered stdout if stdout is not a tty 2022-07-19 12:18:16 -05:00
Leonardo Hernández Hernández
c70db2d06a
Revert "only call wlr_seat_keyboard_notify_enter() if a keyboard is found"
This reverts commit 8e03bce621.
fixes #270
2022-07-19 11:52:42 -05:00
Leonardo Hernández Hernández
8e03bce621
only call wlr_seat_keyboard_notify_enter() if a keyboard is found 2022-07-07 00:21:51 -05:00
Leonardo Hernández Hernández
87fc3a58ab
check pointer focus in arrange() 2022-07-06 23:48:53 -05:00
Leonardo Hernández Hernández
c6d97f1db7
arrange client's monitor if size has change since last commit 2022-07-06 22:20:21 -05:00
Leonardo Hernández Hernández
829dec6598
resize now takes struct wlr_box as parameter 2022-07-06 22:18:46 -05:00
Leonardo Hernández Hernández
ff70337c16
check current and pending geometry to set c->resize to zero
Fixes #260
2022-07-06 22:16:00 -05:00
Ben Jargowsky
7cc6c640e2 Checks for overflows for client max width and height 2022-06-29 00:35:06 +02:00
Leonardo Hernández Hernández
72e0a560d9
respect size hints 2022-06-24 19:19:20 -05:00
Leonardo Hernández Hernández
2aa391361c
inline unmaplayersurface() into unmaplayersurfacenotify()
unmap signal is guaranted to be emitted before destroy signal
so is useless checking if it is mapped at destroy
2022-06-24 15:36:13 -05:00
Leonardo Hernández Hernández
549335ae54
avoid layer surface popups appearing below x{dg,wayland} clients 2022-06-24 14:46:08 -05:00
Leonardo Hernández Hernández
097b4a30f5
unconstrain layer shell popups from monitor size
unconstrain other popups from monitor usable area
2022-06-24 14:30:52 -05:00
Leonardo Hernández Hernández
c1578bc14d
use LayerSurface.mon when possible 2022-06-21 16:03:20 -05:00
Leonardo Hernández Hernández
9b84940e37
unconstrain layer shell popups
also unconstrain popups from monitor's usable area
2022-06-21 00:23:21 -05:00
Leonardo Hernández Hernández
79ad72413d
don't set c->isfullscreen to zero
calloc initializes all fields to zero
2022-06-20 18:05:16 -05:00
Leonardo Hernández Hernández
4ae6d0f387
move ugglyness to client.h 2022-06-16 15:54:13 -05:00
Leonardo Hernández Hernández
2ef5abfb72
remove unneeded check in focusclient() 2022-06-16 15:36:27 -05:00
Leonardo Hernández Hernández
d26ddfc7fd
kill child process in cleanup() 2022-06-14 15:31:39 -05:00
Marco Siedentopf
8bce3b1583
add click method configuration option
Add the libinput configuration option to choose between Software Button Areas and Clickfinger
2022-06-10 12:27:40 -05:00
Leonardo Hernández Hernández
4dfa45659a
fix compiler error with gcc complaining about parentheses
dwl.c: In function ‘unmaplayersurface’:
dwl.c:2253:9: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
 2253 |         layersurface->layer_surface->mapped = layersurface->mapped = 0;
      |         ^~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [<builtin>: dwl.o] Error 1

clang not affected
2022-06-05 16:57:20 -05:00
Leonardo Hernández Hernández
b91017e713
disable scene node at unmaplayersurface() 2022-06-05 15:27:40 -05:00
Leonardo Hernández Hernández
2623a96ebf
call client_set-size() if client has a resize 2022-05-27 00:19:17 -05:00
Leonardo Hernández Hernández
52e0d00942
check client_surface() returning NULL
now client_surface()->data is a pointer to the wlr_scene_tree of clients
which allows us to not call wlr_scene_node_lower_to_bottom() for every clients
2022-05-25 17:12:44 -05:00
Leonardo Hernández Hernández
7018b9b65c
correct libinput function name for drag_lock 2022-05-25 15:01:38 -05:00
Leonardo Hernández Hernández
48ec914f43
destroy layersurface's scene node in destroylayersurfacenotify() 2022-05-25 14:49:32 -05:00
Leonardo Hernández Hernández
40449fa64f
add a new function to get a client from a wlr_surface 2022-05-23 10:55:28 -05:00
Ben Jargowsky
ecbc2c61db Add configuration options for touchpads 2022-05-23 00:01:47 +02:00
Leonardo Hernández Hernández
8870ba0bb8
implement urgency hints for xwayland clients 2022-05-17 14:38:18 -05:00
Leonardo Hernández Hernández
3c11ad9aa6
fix segfault when dragging chromium tabs 2022-05-14 00:29:35 -05:00
Ben Jargowsky
06d9230a96 Run focusclient when switching to monocle layout 2022-05-13 10:20:28 +02:00
Leonardo Hernández Hernández
22bd75226b
remove trailing whitespaces 2022-05-10 11:42:40 -05:00
Leonardo Hernández Hernández
063736f898
add -v flag to the manpage
Thanks @Humm42
2022-05-10 11:39:33 -05:00
Leonardo Hernández Hernández
5d8084daa7
add flag to print version and exit 2022-05-09 16:24:36 -05:00
Ben Jargowsky
e0d310fd84 Handle 'wlr_seat_get_keyboard' possibly returning null. 2022-05-09 14:00:21 +02:00
Leonardo Hernández Hernández
3a4b7d104f
restack xwayland surface on focusclient() 2022-04-29 17:45:02 -05:00
Ben Jargowsky
d071a899f3 Run printstatus() when a monitor is removed 2022-04-25 13:50:53 -07:00
Leonardo Hernández Hernández
a48ce99e6a
use pointer math in xytonode() 2022-04-15 17:40:02 -05:00
Leonardo Hernández Hernández
c00697e643
abc 2022-04-05 23:04:04 -05:00
Leonardo Hernández Hernández
af741e586b
typedefs: abc 2022-04-05 22:15:46 -05:00
Leonardo Hernández Hernández
02ac9378c4
includes: abc 2022-04-05 22:07:59 -05:00
Devin J. Pohly
720f56161e Remove vestigial monitor configuration info
The x/y fields in monitor rules are unused and were meant to be deleted.
Also removes the outdated comment in config.h.
2022-04-03 00:01:52 -05:00
Leonardo Hernández Hernández
4d3adea683
die on pipe failure 2022-03-31 15:32:30 -06:00
Raphael Robatsch
79b7e755b0
Layer shell: Prevent infinte configure/commit loop
Check the wlr_layer_surface_v1_state.committed bitmask to see if we need
to rearrange. This is also what sway does.

Without this check, every commit request (even if only the attached buffer
changed) will lead to another configure event, which will lead to another
commit, etc.

This loop results in swaybg consuming 100% CPU.

Co-authored-by: Owen Rafferty <owen@owenrafferty.com>
2022-03-31 15:27:13 -06:00
Leonardo Hernández Hernández
aab397c30b
new functions ecalloc() and die()
die() replaces EBARF and BARF
and allow us to add `-pedantic` to CFLAGS
2022-03-28 15:02:09 -06:00
Leonardo Hernández Hernández
cb4265ac8c
check m in commitlayersurfacenotify() 2022-03-24 14:19:08 -06:00
Leonardo Hernández Hernández
a95338ca43
implement input-inhibitor protocol 2022-03-24 11:41:24 -06:00
Leonardo Hernández Hernández
ae614ee512
implement idle-inhibitor protocol
This allows clients to disable idle monitoring
2022-03-24 11:35:19 -06:00