aboutsummaryrefslogtreecommitdiff
path: root/src/IconBar.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/IconBar.hh')
-rw-r--r--src/IconBar.hh100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/IconBar.hh b/src/IconBar.hh
deleted file mode 100644
index 7f58a12..0000000
--- a/src/IconBar.hh
+++ /dev/null
@@ -1,100 +0,0 @@
1// IconBar.hh for Fluxbox Window Manager
2// Copyright (c) 2001 - 2003 Henrik Kinnunen (fluxgen at users.sourceforge.net)
3//
4// Permission is hereby granted, free of charge, to any person obtaining a
5// copy of this software and associated documentation files (the "Software"),
6// to deal in the Software without restriction, including without limitation
7// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8// and/or sell copies of the Software, and to permit persons to whom the
9// Software is furnished to do so, subject to the following conditions:
10//
11// The above copyright notice and this permission notice shall be included in
12// all copies or substantial portions of the Software.
13//
14// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE.
21
22// $Id: IconBar.hh,v 1.15 2003/06/26 12:22:42 rathnor Exp $
23
24#ifndef ICONBAR_HH
25#define ICONBAR_HH
26
27#include <X11/Xlib.h>
28#include <list>
29
30class FluxboxWindow;
31class BScreen;
32
33namespace FbTk {
34class Font;
35};
36/**
37 Icon object in IconBar
38*/
39class IconBarObj
40{
41public:
42 IconBarObj(FluxboxWindow *fluxboxwin, Window iconwin);
43 ~IconBarObj();
44 Window getIconWin() const { return m_iconwin; }
45 FluxboxWindow *getFluxboxWin() { return m_fluxboxwin; }
46 const FluxboxWindow *getFluxboxWin() const { return m_fluxboxwin; }
47 unsigned int width() const;
48 unsigned int height() const;
49private:
50 FluxboxWindow *m_fluxboxwin;
51 Window m_iconwin;
52};
53
54/**
55 Icon container
56*/
57class IconBar
58{
59public:
60 typedef std::list<Window> WindowList;
61 IconBar(BScreen &scrn, Window parent, FbTk::Font &font);
62 ~IconBar();
63 void draw(); //TODO
64 void reconfigure();
65 Window addIcon(FluxboxWindow *fluxboxwin);
66 Window delIcon(FluxboxWindow *fluxboxwin);
67 WindowList *delAllIcons(bool ignore_stuck = false);
68 void buttonPressEvent(XButtonEvent *be);
69 FluxboxWindow *findWindow(Window w);
70 IconBarObj *findIcon(FluxboxWindow * const fluxboxwin);
71 const IconBarObj *findIcon(const FluxboxWindow * const fluxboxwin) const;
72 void exposeEvent(XExposeEvent *ee);
73
74 void enableUpdates();
75 void disableUpdates();
76
77 void draw(const IconBarObj * const obj, int width) const;
78 void setVertical(bool value) { m_vertical = value; }
79 BScreen &screen() { return m_screen; }
80 const BScreen &screen() const { return m_screen; }
81private:
82 typedef std::list<IconBarObj *> IconList;
83
84 void loadTheme(unsigned int width, unsigned int height);
85 void decorate(Window win);
86 void repositionIcons();
87 Window createIconWindow(FluxboxWindow *fluxboxwin, Window parent);
88 BScreen &m_screen;
89 Display *m_display;
90 Window m_parent;
91 IconList m_iconlist;
92 Pixmap m_focus_pm;
93 unsigned long m_focus_pixel;
94 bool m_vertical;
95 FbTk::Font &m_font;
96
97 int allow_updates;
98};
99
100#endif // ICONBAR_HH