PieDock  1.6.3
Application.h
1 /*
2  * O ,-
3  * ° o . -´ ' ,-
4  * ° .´ ` . ´,´
5  * ( ° )) . (
6  * `-;_ . -´ `.`.
7  * `._' ´
8  *
9  * Copyright (c) 2007-2010 Markus Fisch <mf@markusfisch.de>
10  *
11  * Licensed under the MIT license:
12  * http://www.opensource.org/licenses/mit-license.php
13  */
14 #ifndef _PieDock_Application_
15 #define _PieDock_Application_
16 
17 #include <X11/Xlib.h>
18 #include <string>
19 
20 #include "Settings.h"
21 
22 namespace PieDock
23 {
30  {
31  public:
32  Application( Settings & );
33  virtual ~Application();
34  inline Display *getDisplay() const { return display; }
35  inline Settings *getSettings() { return settings; }
36 
37  bool remote( const char * = 0 ) const;
38  int run( bool * );
39 
40  private:
41  static const char StopMarker;
42  static const char *Show;
43 
44  enum PulseBeats
45  {
46  StandBy = 0,
47  Active = 10000
48  };
49 
50  enum
51  {
52  UnixPathMax = 108
53  };
54 
55  Display *display;
56  Window root;
57  Settings *settings;
58  int suspend;
59  std::string socketFile;
60 
61  void grabTriggers();
62  void ungrabTriggers();
63  };
64 }
65 
66 #endif