aboutsummaryrefslogtreecommitdiff
path: root/src/SystemTray.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/SystemTray.hh')
-rw-r--r--src/SystemTray.hh11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/SystemTray.hh b/src/SystemTray.hh
index 3215e31..132069a 100644
--- a/src/SystemTray.hh
+++ b/src/SystemTray.hh
@@ -25,12 +25,12 @@
25 25
26#include "FbTk/FbWindow.hh" 26#include "FbTk/FbWindow.hh"
27#include "FbTk/EventHandler.hh" 27#include "FbTk/EventHandler.hh"
28#include "FbTk/Observer.hh"
29 28
30#include "ToolTheme.hh" 29#include "ToolTheme.hh"
31#include "ToolbarItem.hh" 30#include "ToolbarItem.hh"
32 31
33#include <list> 32#include <list>
33#include <memory>
34 34
35class BScreen; 35class BScreen;
36class ButtonTheme; 36class ButtonTheme;
@@ -39,9 +39,10 @@ class AtomHandler;
39 39
40namespace FbTk { 40namespace FbTk {
41template <class T> class ThemeProxy; 41template <class T> class ThemeProxy;
42class Observer;
42} 43}
43 44
44class SystemTray: public ToolbarItem, public FbTk::EventHandler, public FbTk::Observer { 45class SystemTray: public ToolbarItem, public FbTk::EventHandler {
45public: 46public:
46 47
47 explicit SystemTray(const FbTk::FbWindow &parent, 48 explicit SystemTray(const FbTk::FbWindow &parent,
@@ -75,7 +76,7 @@ public:
75 m_window.setBorderWidth(m_theme->border().width()); 76 m_window.setBorderWidth(m_theme->border().width());
76 m_window.setBorderColor(m_theme->border().color()); 77 m_window.setBorderColor(m_theme->border().color());
77 m_window.setAlpha(alpha); 78 m_window.setAlpha(alpha);
78 update(0); 79 update();
79 } 80 }
80 void updateSizing() { m_window.setBorderWidth(m_theme->border().width()); } 81 void updateSizing() { m_window.setBorderWidth(m_theme->border().width()); }
81 82
@@ -85,7 +86,7 @@ public:
85 86
86private: 87private:
87 88
88 void update(FbTk::Subject *subj); 89 void update();
89 90
90 typedef std::list<TrayWindow *> ClientList; 91 typedef std::list<TrayWindow *> ClientList;
91 ClientList::iterator findClient(Window win); 92 ClientList::iterator findClient(Window win);
@@ -108,7 +109,7 @@ private:
108 // gaim/pidgin seems to barf if the selection is not an independent window. 109 // gaim/pidgin seems to barf if the selection is not an independent window.
109 // I suspect it's an interacton with parent relationship and gdk window caching. 110 // I suspect it's an interacton with parent relationship and gdk window caching.
110 FbTk::FbWindow m_selection_owner; 111 FbTk::FbWindow m_selection_owner;
111 112 std::auto_ptr<FbTk::Observer> m_observer;
112}; 113};
113 114
114#endif // SYSTEMTRAY_HH 115#endif // SYSTEMTRAY_HH