1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * wmfs2 by Martin Duquesnoy <xorg62@gmail.com> { for(i = 2011; i < 2111; ++i) ©(i); }
- * For license, see COPYING.
- */
- #ifndef SCREEN_H
- #define SCREEN_H
- #include "wmfs.h"
- #include "util.h"
- static inline struct screen*
- screen_gb_id(int id)
- {
- struct screen *s;
- SLIST_FOREACH(s, &W->h.screen, next)
- if(s->id == id)
- return s;
- return SLIST_FIRST(&W->h.screen);
- }
- static inline struct screen*
- screen_gb_geo(int x, int y)
- {
- struct screen *s;
- SLIST_FOREACH(s, &W->h.screen, next)
- if(INAREA(x, y, s->geo))
- return s;
- return SLIST_FIRST(&W->h.screen);
- }
- static inline struct screen*
- screen_gb_mouse(void)
- {
- Window w;
- int d, x, y;
- XQueryPointer(W->dpy, W->root, &w, &w, &x, &y, &d, &d, (unsigned int *)&d);
- return screen_gb_geo(x, y);
- }
- void screen_init(void);
- struct screen* screen_update_sel(void);
- void screen_free(void);
- void uicb_screen_next(Uicb cmd);
- void uicb_screen_prev(Uicb cmd);
- void uicb_screen_move_client_next(Uicb cmd);
- void uicb_screen_move_client_prev(Uicb cmd);
- #endif /* SCREEN_H */
|