systray: move KDE handling into client_manage()
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
207f06d720
commit
14061b4e7a
7
client.c
7
client.c
|
@ -35,6 +35,7 @@
|
||||||
#include "lua.h"
|
#include "lua.h"
|
||||||
#include "stack.h"
|
#include "stack.h"
|
||||||
#include "mouse.h"
|
#include "mouse.h"
|
||||||
|
#include "systray.h"
|
||||||
#include "layouts/floating.h"
|
#include "layouts/floating.h"
|
||||||
#include "common/markup.h"
|
#include "common/markup.h"
|
||||||
|
|
||||||
|
@ -376,6 +377,12 @@ client_manage(xcb_window_t w, xcb_get_geometry_reply_t *wgeom, int screen)
|
||||||
|
|
||||||
xcb_change_window_attributes(globalconf.connection, w, XCB_CW_EVENT_MASK, select_input_val);
|
xcb_change_window_attributes(globalconf.connection, w, XCB_CW_EVENT_MASK, select_input_val);
|
||||||
|
|
||||||
|
if(systray_iskdedockapp(w))
|
||||||
|
{
|
||||||
|
systray_request_handle(w, screen_virttophys(screen), NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
c = p_new(client_t, 1);
|
c = p_new(client_t, 1);
|
||||||
|
|
||||||
c->screen = screen_get_bycoord(globalconf.screens_info, screen, wgeom->x, wgeom->y);
|
c->screen = screen_get_bycoord(globalconf.screens_info, screen, wgeom->x, wgeom->y);
|
||||||
|
|
17
event.c
17
event.c
|
@ -460,23 +460,6 @@ event_handle_maprequest(void *data __attribute__ ((unused)),
|
||||||
client_raise(c);
|
client_raise(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(systray_iskdedockapp(ev->window))
|
|
||||||
{
|
|
||||||
geom_c = xcb_get_geometry_unchecked(connection, ev->window);
|
|
||||||
|
|
||||||
if(!(geom_r = xcb_get_geometry_reply(connection, geom_c, NULL)))
|
|
||||||
{
|
|
||||||
ret = -1;
|
|
||||||
goto bailout;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* get real screen */
|
|
||||||
for(iter = xcb_setup_roots_iterator(xcb_get_setup(connection)), screen_nbr = 0;
|
|
||||||
iter.rem && iter.data->root != geom_r->root; xcb_screen_next (&iter), ++screen_nbr);
|
|
||||||
systray_request_handle(ev->window, screen_nbr, NULL);
|
|
||||||
|
|
||||||
p_delete(&geom_r);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
geom_c = xcb_get_geometry_unchecked(connection, ev->window);
|
geom_c = xcb_get_geometry_unchecked(connection, ev->window);
|
||||||
|
|
Loading…
Reference in New Issue