summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorQuentin Glidic <sardemff7+git@sardemff7.net>2017-03-20 14:24:04 +0100
committerQuentin Glidic <sardemff7+git@sardemff7.net>2017-03-20 14:24:04 +0100
commita3db2693ad5bc8473754a2c014b50edc9d136d58 (patch)
treeae6ac04d6c2c32362f0ae1ebe20ef94c6af39c10 /source
parent41564413db663ce6d9b1d0fa08e94d0fb60f9f20 (diff)
wayland: Add geometry-based launch support
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Diffstat (limited to 'source')
-rw-r--r--source/wayland.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/wayland.c b/source/wayland.c
index 5ef1be2e..3c4fb46e 100644
--- a/source/wayland.c
+++ b/source/wayland.c
@@ -1002,7 +1002,16 @@ wayland_init(GMainLoop *main_loop, const gchar *display)
return FALSE;
guint64 serial = g_ascii_strtoull(serial_str, NULL, 10);
- zww_launcher_menu_v1_show_at_pointer(wayland->launcher_menu, wayland->surface, seat->seat, serial);
+ const gchar *geometry = g_getenv("ROFI_GEOMETRY");
+ if ( geometry != NULL )
+ {
+ int x, y, width, height;
+ if ( sscanf(geometry, "%dx%d@%d,%d", &width, &height, &x, &y) != 4 )
+ return FALSE;
+ zww_launcher_menu_v1_show_at_surface(wayland->launcher_menu, wayland->surface, seat->seat, serial, x, y, width, height);
+ }
+ else
+ zww_launcher_menu_v1_show_at_pointer(wayland->launcher_menu, wayland->surface, seat->seat, serial);
}
else
zww_launcher_menu_v1_show(wayland->launcher_menu, wayland->surface);