/* * $Id$ * * Eiconman, desktop and icon manager * Part of Equinox Desktop Environment (EDE). * Copyright (c) 2000-2007 EDE Authors. * * This program is licensed under terms of the * GNU General Public License version 2 or newer. * See COPYING for details. */ #ifndef __UTILS_H__ #define __UTILS_H__ #include #include #include // Pixmap extern Atom _XA_NET_WORKAREA; extern Atom _XA_NET_WM_WINDOW_TYPE; extern Atom _XA_NET_WM_WINDOW_TYPE_DESKTOP; extern Atom _XA_NET_NUMBER_OF_DESKTOPS; extern Atom _XA_NET_CURRENT_DESKTOP; extern Atom _XA_NET_DESKTOP_NAMES; extern Atom _XA_XROOTPMAP_ID; // via XGetTextProperty/XSetTextProperty extern Atom _XA_EDE_DESKTOP_NOTIFY; // via XChangeProperty (prop = Fl_Color, sizeof(int)) extern Atom _XA_EDE_DESKTOP_NOTIFY_COLOR; void init_atoms(void); int net_get_workspace_count(void); int net_get_current_desktop(void); bool net_get_workarea(int& x, int& y, int& w, int &h); void net_make_me_desktop(Fl_Window* w); int net_get_workspace_names(char**& names); bool ede_get_desktop_notify(char* txt, int txt_len); Fl_Color ede_get_desktop_notify_color(void); void draw_xoverlay(int x, int y, int w, int h); void clear_xoverlay(void); void set_xoverlay_drawable(Fl_Window* win); Pixmap create_mask(Fl_Image* img); char* get_basename(const char* path); #endif