diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Screen.cc | 4 | ||||
-rw-r--r-- | src/Slit.cc | 5 | ||||
-rw-r--r-- | src/Slit.hh | 3 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 4f42539..afbd90f 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -1278,7 +1278,7 @@ bool BScreen::addKdeDockapp(Window client) { | |||
1278 | FbTk::EventManager *evm = FbTk::EventManager::instance(); | 1278 | FbTk::EventManager *evm = FbTk::EventManager::instance(); |
1279 | if (handler == 0) { | 1279 | if (handler == 0) { |
1280 | #ifdef SLIT | 1280 | #ifdef SLIT |
1281 | if (slit() != 0) | 1281 | if (slit() != 0 && slit()->acceptKdeDockapp()) |
1282 | slit()->addClient(client); | 1282 | slit()->addClient(client); |
1283 | else | 1283 | else |
1284 | #endif // SLIT | 1284 | #endif // SLIT |
@@ -1311,7 +1311,7 @@ FluxboxWindow *BScreen::createWindow(Window client) { | |||
1311 | if (winclient->initial_state == WithdrawnState) { | 1311 | if (winclient->initial_state == WithdrawnState) { |
1312 | delete winclient; | 1312 | delete winclient; |
1313 | #ifdef SLIT | 1313 | #ifdef SLIT |
1314 | if (slit()) | 1314 | if (slit() && !isKdeDockapp(client)) |
1315 | slit()->addClient(client); | 1315 | slit()->addClient(client); |
1316 | #endif // SLIT | 1316 | #endif // SLIT |
1317 | return 0; | 1317 | return 0; |
diff --git a/src/Slit.cc b/src/Slit.cc index 0b952c5..dbbb3ac 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -286,6 +286,8 @@ Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename) | |||
286 | m_strut(0), | 286 | m_strut(0), |
287 | // resources | 287 | // resources |
288 | // lock in first resource | 288 | // lock in first resource |
289 | m_rc_kde_dockapp(scr.resourceManager(), true, | ||
290 | scr.name() + ".slit.acceptKdeDockapps", scr.altName() + ".Slit.AcceptKdeDockapps"), | ||
289 | m_rc_auto_hide(scr.resourceManager().lock(), false, | 291 | m_rc_auto_hide(scr.resourceManager().lock(), false, |
290 | scr.name() + ".slit.autoHide", scr.altName() + ".Slit.AutoHide"), | 292 | scr.name() + ".slit.autoHide", scr.altName() + ".Slit.AutoHide"), |
291 | // TODO: this resource name must change | 293 | // TODO: this resource name must change |
@@ -442,6 +444,9 @@ void Slit::addClient(Window w) { | |||
442 | if (w == None) | 444 | if (w == None) |
443 | return; | 445 | return; |
444 | 446 | ||
447 | if (!acceptKdeDockapp() && screen().isKdeDockapp(w)) | ||
448 | return; | ||
449 | |||
445 | // Look for slot in client list by name | 450 | // Look for slot in client list by name |
446 | SlitClient *client = 0; | 451 | SlitClient *client = 0; |
447 | string match_name; | 452 | string match_name; |
diff --git a/src/Slit.hh b/src/Slit.hh index aa88a5d..da21263 100644 --- a/src/Slit.hh +++ b/src/Slit.hh | |||
@@ -112,6 +112,7 @@ public: | |||
112 | int layerNumber() const { return m_layeritem->getLayerNum(); } | 112 | int layerNumber() const { return m_layeritem->getLayerNum(); } |
113 | 113 | ||
114 | inline bool isHidden() const { return m_hidden; } | 114 | inline bool isHidden() const { return m_hidden; } |
115 | inline bool acceptKdeDockapp() const { return *m_rc_kde_dockapp; } | ||
115 | inline bool doAutoHide() const { return *m_rc_auto_hide; } | 116 | inline bool doAutoHide() const { return *m_rc_auto_hide; } |
116 | inline Direction direction() const { return *m_rc_direction; } | 117 | inline Direction direction() const { return *m_rc_direction; } |
117 | inline Placement placement() const { return *m_rc_placement; } | 118 | inline Placement placement() const { return *m_rc_placement; } |
@@ -173,7 +174,7 @@ private: | |||
173 | static unsigned int s_eventmask; | 174 | static unsigned int s_eventmask; |
174 | Strut *m_strut; | 175 | Strut *m_strut; |
175 | 176 | ||
176 | FbTk::Resource<bool> m_rc_auto_hide, m_rc_maximize_over; | 177 | FbTk::Resource<bool> m_rc_kde_dockapp, m_rc_auto_hide, m_rc_maximize_over; |
177 | FbTk::Resource<Slit::Placement> m_rc_placement; | 178 | FbTk::Resource<Slit::Placement> m_rc_placement; |
178 | FbTk::Resource<Slit::Direction> m_rc_direction; | 179 | FbTk::Resource<Slit::Direction> m_rc_direction; |
179 | FbTk::Resource<int> m_rc_alpha, m_rc_on_head; | 180 | FbTk::Resource<int> m_rc_alpha, m_rc_on_head; |