#include <map>
#include <list>
+#include <vector>
//forward declaration
class BScreen;
struct resource {
Time double_click_interval;
- char *menu_file, *style_file;
+ char *style_file;
char *titlebar_layout;
int colors_per_channel;
timeval auto_raise_delay;
typedef std::list<MenuTimestamp*> MenuTimestampList;
MenuTimestampList menuTimestamps;
- typedef std::list<BScreen*> ScreenList;
+ typedef std::vector<BScreen*> ScreenList;
ScreenList screenList;
BScreen *current_screen;
Bool no_focus, reconfigure_wait, reread_menu_wait;
Time last_time;
Window masked;
- char *rc_file, **argv;
+ char *menu_file, *rc_file, **argv;
int argc;
Resource config;
public:
- Openbox(int, char **, char * = 0, char * = 0);
+ Openbox(int, char **, char * = 0, char * = 0, char * = 0);
virtual ~Openbox();
#ifdef HAVE_GETPID
OpenboxWindow *focusedWindow();
void focusWindow(OpenboxWindow *w);
- BScreen *getScreen(int);
+ inline BScreen *getScreen(unsigned int s) {
+ ASSERT(s < screenList.size());
+ return screenList[s];
+ }
BScreen *searchScreen(Window);
+ inline unsigned int managedScreenCount() const {
+ return screenList.size();
+ }
inline Resource &getConfig() {
return config;
inline const char *getStyleFilename() const
{ return resource.style_file; }
inline const char *getMenuFilename() const
- { return resource.menu_file; }
+ { return menu_file; }
+ void addMenuTimestamp(const char *filename);
inline const int &getColorsPerChannel() const
{ return resource.colors_per_channel; }
void shutdown();
void setStyleFilename(const char *);
- void setMenuFilename(const char *);
void saveMenuSearch(Window, Basemenu *);
void saveWindowSearch(Window, OpenboxWindow *);
void saveToolbarSearch(Window, Toolbar *);