diff options
Diffstat (limited to 'src/Slit.cc')
-rw-r--r-- | src/Slit.cc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/Slit.cc b/src/Slit.cc index 18c21f4..ecd8280 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -40,18 +40,14 @@ | |||
40 | #include "FbTk/SimpleCommand.hh" | 40 | #include "FbTk/SimpleCommand.hh" |
41 | #include "FbTk/Theme.hh" | 41 | #include "FbTk/Theme.hh" |
42 | #include "FbTk/Transparent.hh" | 42 | #include "FbTk/Transparent.hh" |
43 | #include "MacroCommand.hh" | 43 | #include "FbTk/MacroCommand.hh" |
44 | #include "FbCommands.hh" | 44 | #include "FbCommands.hh" |
45 | #include "Layer.hh" | 45 | #include "Layer.hh" |
46 | #include "LayerMenu.hh" | 46 | #include "LayerMenu.hh" |
47 | #include "XLayer.hh" | 47 | #include "FbTk/XLayer.hh" |
48 | #include "RootTheme.hh" | 48 | #include "RootTheme.hh" |
49 | #include "FbMenu.hh" | 49 | #include "FbMenu.hh" |
50 | 50 | ||
51 | #ifdef XINERAMA | ||
52 | #include "Xinerama.hh" | ||
53 | #endif // XINERAMA | ||
54 | |||
55 | #include "SlitTheme.hh" | 51 | #include "SlitTheme.hh" |
56 | #include "SlitClient.hh" | 52 | #include "SlitClient.hh" |
57 | #include "Xutil.hh" | 53 | #include "Xutil.hh" |
@@ -270,6 +266,9 @@ Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename) | |||
270 | m_slitmenu(scr.menuTheme(), | 266 | m_slitmenu(scr.menuTheme(), |
271 | scr.imageControl(), | 267 | scr.imageControl(), |
272 | *scr.layerManager().getLayer(Layer::MENU)), | 268 | *scr.layerManager().getLayer(Layer::MENU)), |
269 | #ifdef XINERAMA | ||
270 | m_xineramaheadmenu(0), | ||
271 | #endif // XINERAMA | ||
273 | frame(scr.rootWindow()), | 272 | frame(scr.rootWindow()), |
274 | //For KDE dock applets | 273 | //For KDE dock applets |
275 | m_kwm1_dockwindow(XInternAtom(FbTk::App::instance()->display(), | 274 | m_kwm1_dockwindow(XInternAtom(FbTk::App::instance()->display(), |
@@ -482,8 +481,7 @@ void Slit::addClient(Window w) { | |||
482 | if (wmhints != 0) { | 481 | if (wmhints != 0) { |
483 | if ((wmhints->flags & IconWindowHint) && | 482 | if ((wmhints->flags & IconWindowHint) && |
484 | (wmhints->icon_window != None)) { | 483 | (wmhints->icon_window != None)) { |
485 | XMoveWindow(disp, client->clientWindow(), screen().width() + 10, | 484 | XMoveWindow(disp, client->clientWindow(), -100, -100); |
486 | screen().height() + 10); | ||
487 | XMapWindow(disp, client->clientWindow()); | 485 | XMapWindow(disp, client->clientWindow()); |
488 | client->setIconWindow(wmhints->icon_window); | 486 | client->setIconWindow(wmhints->icon_window); |
489 | client->setWindow(client->iconWindow()); | 487 | client->setWindow(client->iconWindow()); |
@@ -1113,6 +1111,10 @@ void Slit::exposeEvent(XExposeEvent &ev) { | |||
1113 | 1111 | ||
1114 | void Slit::update(FbTk::Subject *subj) { | 1112 | void Slit::update(FbTk::Subject *subj) { |
1115 | reconfigure(); | 1113 | reconfigure(); |
1114 | #ifdef XINERAMA | ||
1115 | if (subj == &m_screen.resizeSig() && m_xineramaheadmenu) | ||
1116 | m_xineramaheadmenu->reloadHeads(); | ||
1117 | #endif // XINERAMA | ||
1116 | } | 1118 | } |
1117 | 1119 | ||
1118 | void Slit::clearWindow() { | 1120 | void Slit::clearWindow() { |
@@ -1254,6 +1256,7 @@ void Slit::setupMenu() { | |||
1254 | #ifdef XINERAMA | 1256 | #ifdef XINERAMA |
1255 | if (screen().hasXinerama()) { | 1257 | if (screen().hasXinerama()) { |
1256 | m_slitmenu.insert(_FB_XTEXT(Menu, OnHead, "On Head...", "Title of On Head menu"), | 1258 | m_slitmenu.insert(_FB_XTEXT(Menu, OnHead, "On Head...", "Title of On Head menu"), |
1259 | m_xineramaheadmenu = | ||
1257 | new XineramaHeadMenu<Slit>( | 1260 | new XineramaHeadMenu<Slit>( |
1258 | screen().menuTheme(), | 1261 | screen().menuTheme(), |
1259 | screen(), | 1262 | screen(), |