aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Screen.cc4
-rw-r--r--src/Slit.cc5
-rw-r--r--src/Slit.hh3
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;