all repos — fluxbox @ abda1490d862606989664355d35d391eecbe8ffa

custom fork of the fluxbox windowmanager

kde dockapp in systray
fluxgen fluxgen
commit

abda1490d862606989664355d35d391eecbe8ffa

parent

09c0d67fadb098f06c47f925de2308202cb57a92

2 files changed, 10 insertions(+), 41 deletions(-)

jump to
M src/Slit.ccsrc/Slit.cc

@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Slit.cc,v 1.92 2004/02/20 09:29:06 fluxgen Exp $ +// $Id: Slit.cc,v 1.93 2004/04/19 22:42:05 fluxgen Exp $ #include "Slit.hh"

@@ -487,39 +487,7 @@

XWindowAttributes attrib; #ifdef KDE - - //Check and see if new client is a KDE dock applet - //If so force reasonable size - bool iskdedockapp = false; - Atom ajunk; - int ijunk; - unsigned long *data = 0, uljunk; - - // Check if KDE v2.x dock applet - if (XGetWindowProperty(disp, w, - m_kwm2_dockwindow, 0l, 1l, False, - m_kwm2_dockwindow, - &ajunk, &ijunk, &uljunk, &uljunk, - (unsigned char **) &data) == Success && data) { - iskdedockapp = (data && data[0] != 0); - XFree((void *) data); - data = 0; - } - - // Check if KDE v1.x dock applet - if (!iskdedockapp) { - if (XGetWindowProperty(disp, w, - m_kwm1_dockwindow, 0l, 1l, False, - m_kwm1_dockwindow, - &ajunk, &ijunk, &uljunk, &uljunk, - (unsigned char **) &data) == Success && data) { - iskdedockapp = (data && data[0] != 0); - XFree((void *) data); - data = 0; - } - } - - if (iskdedockapp) + if (screen().isKdeDockapp(w)) client->resize(24, 24); else #endif // KDE

@@ -549,13 +517,13 @@ // setup event for slit client window

client->enableEvents(); // flush events - XFlush(disp); + // XFlush(disp); // add slit client to eventmanager FbTk::EventManager::instance()->add(*this, client->clientWindow()); FbTk::EventManager::instance()->add(*this, client->iconWindow()); - frame.window.show(); + // frame.window.show(); clearWindow(); reconfigure();
M src/Slit.hhsrc/Slit.hh

@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -/// $Id: Slit.hh,v 1.38 2003/08/29 10:30:46 fluxgen Exp $ +/// $Id: Slit.hh,v 1.39 2004/04/19 22:42:26 fluxgen Exp $ #ifndef SLIT_HH #define SLIT_HH

@@ -49,7 +49,7 @@

/// Handles dock apps class Slit: public FbTk::EventHandler, public FbTk::Observer { public: - + typedef std::list<SlitClient *> SlitClients; /** Client alignment */

@@ -63,6 +63,8 @@

Slit(BScreen &screen, FbTk::XLayer &layer, const char *filename = 0); virtual ~Slit(); + void show() { frame.window.show(); } + void hide() { frame.window.hide(); } void setDirection(Direction dir); void setPlacement(Placement place); void setAutoHide(bool val);

@@ -115,7 +117,8 @@ inline int y() const { return (m_hidden ? frame.y_hidden : frame.y); }

inline unsigned int width() const { return frame.width; } inline unsigned int height() const { return frame.height; } - + const SlitClients &clients() const { return m_client_list; } + SlitClients &clients() { return m_client_list; } private: void clearWindow(); void setupMenu();

@@ -130,8 +133,6 @@ bool m_hidden;

BScreen &m_screen; FbTk::Timer m_timer; - - typedef std::list<SlitClient *> SlitClients; SlitClients m_client_list; FbMenu m_slitmenu, m_placement_menu, m_clientlist_menu;