void spawn_select(struct swm_region *, union arg *, char *, int *);
unsigned char *get_win_name(xcb_window_t);
xcb_atom_t get_atom_from_string(const char *);
+void map_window_raised(xcb_window_t);
+
+void
+map_window_raised(xcb_window_t win)
+{
+ uint32_t val = XCB_STACK_MODE_ABOVE;
+
+ xcb_configure_window(conn, win,
+ XCB_CONFIG_WINDOW_STACK_MODE, &val);
+
+ xcb_map_window(conn, win);
+}
xcb_atom_t
get_atom_from_string(const char *str)
for (i = 0; i < num_screens; i++)
TAILQ_FOREACH(tmpr, &screens[i].rl, entry)
if (tmpr->bar)
- XMapRaised(display, tmpr->bar->id);
+ map_window_raised(tmpr->bar->id);
}
bar_enabled = !bar_enabled;
XCB_RANDR_NOTIFY_MASK_OUTPUT_CHANGE);
if (bar_enabled)
- XMapRaised(display, r->bar->id);
+ map_window_raised(r->bar->id);
DNPRINTF(SWM_D_BAR, "bar_setup: window: 0x%lx, (x,y) w x h: (%d,%d) "
"%d x %d\n", WINID(r->bar), X(r->bar), Y(r->bar), WIDTH(r->bar),
win->ws->r->s->c[SWM_S_COLOR_FOCUS].color);
if (win->ws->cur_layout->flags & SWM_L_MAPONFOCUS ||
win->ws->always_raise)
- XMapRaised(display, win->id);
+ map_window_raised(win->id);
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, win->s->root,
ewmh[_NET_ACTIVE_WINDOW].atom, XCB_ATOM_WINDOW, 32, 1,
if (XGetWindowAttributes(display, win->id, &wa))
if (wa.map_state == IsUnmapped)
- XMapRaised(display, win->id);
+ map_window_raised(win->id);
last_h = win_g.h;
i++;
}
stack_floater(win, ws->r);
- XMapRaised(display, win->id);
+ map_window_raised(win->id);
}
if (fs_win) {
stack_floater(fs_win, ws->r);
- XMapRaised(display, fs_win->id);
+ map_window_raised(fs_win->id);
}
}
/* put the last transient on top */
if (wintrans) {
if (parent)
- XMapRaised(display, parent->id);
+ map_window_raised(parent->id);
stack_floater(wintrans, ws->r);
focus_magic(wintrans);
}
TAILQ_INSERT_TAIL(&search_wl, sw, entry);
sw->gc = XCreateGC(display, w, 0, &gcv);
- XMapRaised(display, w);
+ map_window_raised(w);
XSetForeground(display, sw->gc, r->s->c[SWM_S_COLOR_BAR].color);
DRAWSTRING(display, w, bar_fs, sw->gc, 2,
return;
if (args->id == SWM_ARG_ID_KILLWINDOW)
- XKillClient(display, r->ws->focus->id);
+ xcb_kill_client(conn, r->ws->focus->id);
else
if (r->ws->focus->can_delete)
client_msg(r->ws->focus, adelete);
/* floaters need to be mapped if they are in the current workspace */
if ((win->floating || win->transient) && (ws->idx == r->ws->idx))
- XMapRaised(display, win->id);
+ map_window_raised(win->id);
return (win);
}
if (ev->state == PropertyDelete && ev->atom == a_swm_iconic) {
update_iconic(win, 0);
- XMapRaised(display, win->id);
+ map_window_raised(win->id);
stack();
focus_win(win);
return;
if (win->can_delete)
client_msg(win, adelete);
else
- XKillClient(display, win->id);
+ xcb_kill_client(conn, win->id);
}
if (ev->message_type == ewmh[_NET_MOVERESIZE_WINDOW].atom) {
DNPRINTF(SWM_D_EVENT,