i3/libi3/get_visualtype.c

29 lines
821 B
C
Raw Normal View History

2011-11-14 18:39:03 -05:00
/*
* vim:ts=4:sw=4:expandtab
*
* i3 - an improved dynamic tiling window manager
* © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
*
*/
#include "libi3.h"
/*
* Returns the visual type associated with the given screen.
*
*/
xcb_visualtype_t *get_visualtype(xcb_screen_t *screen) {
xcb_depth_iterator_t depth_iter;
for (depth_iter = xcb_screen_allowed_depths_iterator(screen);
depth_iter.rem;
xcb_depth_next(&depth_iter)) {
xcb_visualtype_iterator_t visual_iter;
for (visual_iter = xcb_depth_visuals_iterator(depth_iter.data);
visual_iter.rem;
xcb_visualtype_next(&visual_iter)) {
if (screen->root_visual == visual_iter.data->visual_id)
return visual_iter.data;
}
}
return NULL;
}