aboutsummaryrefslogtreecommitdiff
path: root/src/SystemTray.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/SystemTray.hh')
-rw-r--r--src/SystemTray.hh15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/SystemTray.hh b/src/SystemTray.hh
index cceb434..f165856 100644
--- a/src/SystemTray.hh
+++ b/src/SystemTray.hh
@@ -1,5 +1,5 @@
1// SystemTray.hh 1// SystemTray.hh
2// Copyright (c) 2003 Henrik Kinnunen (fluxgen at users.sourceforge.net) 2// Copyright (c) 2003-2005 Henrik Kinnunen (fluxgen at users.sourceforge.net)
3// 3//
4// Permission is hereby granted, free of charge, to any person obtaining a 4// Permission is hereby granted, free of charge, to any person obtaining a
5// copy of this software and associated documentation files (the "Software"), 5// copy of this software and associated documentation files (the "Software"),
@@ -27,8 +27,11 @@
27 27
28#include "FbTk/FbWindow.hh" 28#include "FbTk/FbWindow.hh"
29#include "FbTk/EventHandler.hh" 29#include "FbTk/EventHandler.hh"
30#include "FbTk/Observer.hh"
30 31
31#include "ToolbarItem.hh" 32#include "ToolbarItem.hh"
33#include "ButtonTheme.hh"
34#include "Screen.hh"
32 35
33#include <X11/Xlib.h> 36#include <X11/Xlib.h>
34 37
@@ -36,10 +39,10 @@
36 39
37class AtomHandler; 40class AtomHandler;
38 41
39class SystemTray: public ToolbarItem, public FbTk::EventHandler { 42class SystemTray: public ToolbarItem, public FbTk::EventHandler, public FbTk::Observer {
40public: 43public:
41 44
42 explicit SystemTray(const FbTk::FbWindow &parent); 45 explicit SystemTray(const FbTk::FbWindow &parent, ButtonTheme &theme, BScreen& screen);
43 virtual ~SystemTray(); 46 virtual ~SystemTray();
44 47
45 void move(int x, int y); 48 void move(int x, int y);
@@ -69,6 +72,9 @@ public:
69 inline void updateSizing() {} 72 inline void updateSizing() {}
70 73
71private: 74private:
75
76 void update(FbTk::Subject *subj);
77
72 typedef std::list<FbTk::FbWindow *> ClientList; 78 typedef std::list<FbTk::FbWindow *> ClientList;
73 ClientList::iterator findClient(Window win); 79 ClientList::iterator findClient(Window win);
74 80
@@ -76,6 +82,9 @@ private:
76 void removeAllClients(); 82 void removeAllClients();
77 83
78 FbTk::FbWindow m_window; 84 FbTk::FbWindow m_window;
85 ButtonTheme& m_theme;
86 BScreen& m_screen;
87 Pixmap m_pixmap;
79 88
80 std::auto_ptr<AtomHandler> m_handler; 89 std::auto_ptr<AtomHandler> m_handler;
81 90