Leonardo Hernández Hernández
cd96f889b8
fix use of loop initial declaration
...
forbidden by the suckless style
2022-09-18 15:35:54 -05:00
Leonardo Hernández Hernández
bc72af6e24
fix unmanaged clients not being unlinked from the commit listener
2022-09-18 15:35:54 -05:00
Leonardo Hernández Hernández
bcc8ce7a40
fix segfault when unlocking swaylock on two monitor setup
...
wlr_*_surface_from_wlr_surface() can return NULL if the surface
is being destroyed
Fixes: https://github.com/djpohly/dwl/issues/305
2022-09-18 15:35:54 -05:00
Leonardo Hernández Hernández
ba7dcb2dea
don't try to move outputs when its x,y hasn't change
...
when using wlr_output_layout_move() wlroots internally
change the state of the output to manually configured and
when updating the layout these outputs aren't ignored by
wlroots, leaving us at our own
2022-09-10 23:54:57 -05:00
Leonardo Hernández Hernández
c8a9f63451
prior run the startup command start the backend
...
this allow use clients like wlr-randr in the startup command
2022-09-10 23:54:56 -05:00
Leonardo Hernández Hernández
fd67087a82
make sure the parent is mapped prior set monitor and tags
2022-09-10 23:45:14 -05:00
Leonardo Hernández Hernández
77ba8e5127
use wl_container_of() instead of data in some functions
2022-09-10 23:44:19 -05:00
Leonardo Hernández Hernández
c509046663
add some comments
2022-09-10 23:42:58 -05:00
Leonardo Hernández Hernández
93de6e82a2
inline input_device in virtualkeyboard()
2022-09-10 22:25:46 -05:00
Leonardo Hernández Hernández
f8f94c97f5
fix idle inhibitor check
...
previously we tried to get a client from the surface and then compare it with
the excluded surface, if we cannot get a client from the surface (e.g: a layer
surface) it just ignored all the next idle inhibitors no matter what
What I have should done is just checking if the excluded surface is equal to
the current idle inhibitor's surface and continue in case it is.
2022-09-10 22:11:06 -05:00
Leonardo Hernández Hernández
1bb9c4583a
fix exclusive zone of unmapped layer surfaces
...
Fixes: https://github.com/djpohly/dwl/issues/302
2022-09-10 18:54:35 -05:00
Leonardo Hernández Hernández
9bcef3d040
resize the fullscreen background when resize the client
2022-09-08 16:35:55 -05:00
Leonardo Hernández Hernández
871463c327
define _POSIX_C_SOURCE through CPPFLAGS
...
like dwm
2022-09-08 00:10:53 -05:00
Leonardo Hernández Hernández
d1496a2a9b
fix condition that always evaluate to false in commitlayersurfacenotify()
2022-09-07 23:54:57 -05:00
Leonardo Hernández Hernández
80084839a9
remove obsolete check of c->mon in fullscreennotify()
...
since 19a8a095eb
it's checked in setfullscreen()
2022-09-07 23:24:50 -05:00
Leonardo Hernández Hernández
1aacfada29
set c->prev
in setmon() and not in mapnotify()
2022-09-06 13:23:19 -05:00
Leonardo Hernández Hernández
14c010a0d6
only enable/disable clients from the specified monitor in arrange()
...
also fix a crash when m is null, this can only happen when selmon is NULL
2022-09-06 00:10:00 -05:00
Leonardo Hernández Hernández
14a1e3e2a2
set c->prev in mapnotify()
...
Closes : #300
2022-09-05 16:35:51 -05:00
Leonardo Hernández Hernández
68576799b9
don't arrange layers on disabled monitors
2022-09-02 18:49:20 -05:00
Leonardo Hernández Hernández
19a8a095eb
call setfullscreen() in setmon()
...
this will help when sending to another monitor a fullscreen client
and also will prevent a crash when a client request fullscreen when it has no monitor
2022-09-02 18:22:15 -05:00
Leonardo Hernández Hernández
1f59b76d77
prevent segfault when destroying monitors
...
also don't count unmapped surfaces for exclusive zone
and exclusive_focus is now of type `void *`
2022-09-02 18:17:53 -05:00
Leonardo Hernández Hernández
40b1c0b849
Revert "Revert "various improvements to layer surface""
...
This reverts commit c017916d35
.
2022-09-02 16:54:53 -05:00
Leonardo Hernández Hernández
c017916d35
Revert "various improvements to layer surface"
...
see https://github.com/djpohly/dwl/issues/289#issuecomment-1231287114
This reverts commit 2260519740
.
2022-08-31 16:05:19 -05:00
Leonardo Hernández Hernández
2260519740
various improvements to layer surface
...
- remove various useless assignments of layersurface->mon
- styles changes
- do not set wlr_layer_surface->output to NULL at destroy
2022-08-29 21:32:59 -05:00
Leonardo Hernández Hernández
0e993b5fb1
conform the idle inhibitor protocol
...
previously we disable idle tracking simply due to the fact that it exist
2022-08-28 22:40:11 -05:00
Leonardo Hernández Hernández
d738573e22
new function to notify keyboard enter
2022-08-27 16:34:29 -05:00
Leonardo Hernández Hernández
406aebcbd2
prevent an infinite loop if try to use focusmon() with all monitors disabled
2022-08-25 00:20:21 -05:00
Leonardo Hernández Hernández
dfcd142ce4
don't try to set monitor for clients in createmon()
...
this is done in updatemons()
2022-08-23 13:29:12 -05:00
Leonardo Hernández Hernández
07bf1832bf
set monitor for clients that don't have one in updatemons()
...
only if selmon is enabled and the clients are mapped
2022-08-23 13:28:01 -05:00
Leonardo Hernández Hernández
174919ec53
set monitor for clients that don't have one on monitor creation
2022-08-18 16:55:13 -05:00
Leonardo Hernández Hernández
a7f77160d1
don't respect size hints for fullscreen clients
...
Fixes : #292
2022-08-16 21:39:42 -05:00
Leonardo Hernández Hernández
7a343b98cf
change type of c->bw: int -> unsigned int
2022-08-13 00:41:08 -05:00
Leonardo Hernández Hernández
8d2516e83c
reorder isfullscreen in Client definition
2022-08-13 00:38:08 -05:00
Leonardo Hernández Hernández
f173c56c32
initialize to zero the box used in commitnotify()
2022-08-13 00:12:46 -05:00
Leonardo Hernández Hernández
48396a1bf8
fix crash when setting a custom mode
2022-08-12 23:21:25 -05:00
Leonardo Hernández Hernández
b6e3fc1645
rework outputmgrapplyortest()
...
first disable requested monitors, then enable and/or change mode, x and y, etc.
This is mostly what sway does
2022-08-12 23:21:25 -05:00
Leonardo Hernández Hernández
662e06e68e
check client_from_wlr_surface() returning NULL in urgent()
...
fix #281
2022-07-30 14:44:17 -05:00
Dima Krasner
9d2eb8483b
fix segfault if parent->mon is unset
2022-07-25 01:19:36 -05:00
Leonardo Hernández Hernández
7eee0a8229
use the layer surface to create popups
2022-07-24 16:43:13 -05:00
Leonardo Hernández Hernández
b04c73be3d
make sure we do not create a double fullscreen_bg
...
and also make sure we do not destroy it if it does not exist
Fixes : #274
2022-07-23 13:28:15 -05:00
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