mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
eed5749909
Also center ede-launch window.
90 lines
2.0 KiB
C++
90 lines
2.0 KiB
C++
//
|
|
// DockApp.hh for pekwm
|
|
// Copyright © 2003-2009 Claes Nästén <me{@}pekdon{.}net>
|
|
//
|
|
// This program is licensed under the GNU GPL.
|
|
// See the LICENSE file for more information.
|
|
//
|
|
|
|
#ifndef _DOCKAPP_HH_
|
|
#define _DOCKAPP_HH_
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif // HAVE_CONFIG_H
|
|
|
|
#include "pekwm.hh"
|
|
#include "AutoProperties.hh"
|
|
|
|
class PScreen;
|
|
class Theme;
|
|
class PWinObj;
|
|
|
|
//! @brief DockApp handling class.
|
|
class DockApp : public PWinObj
|
|
{
|
|
public:
|
|
DockApp(PScreen *scr, Theme *theme, Window win);
|
|
~DockApp(void);
|
|
|
|
// START - PWinObj interface.
|
|
virtual void mapWindow(void);
|
|
virtual void unmapWindow(void);
|
|
// END - PWinObj interface.
|
|
|
|
//! @brief Returns DockApp client width.
|
|
inline uint getClientWidth(void) const { return _c_gm.width; }
|
|
//! @brief Returns DockApp client height.
|
|
inline uint getClientHeight(void) const { return _c_gm.height; }
|
|
//! @brief Returns DockApp position.
|
|
inline int getPosition(void) const { return _position; }
|
|
//! @brief Sets alive state of DockApp.
|
|
inline void setAlive(bool alive) { _is_alive = alive; }
|
|
|
|
//! @brief Matches win against DockApp client window(s).
|
|
inline bool findDockApp(Window win) {
|
|
if ((win != None) && ((win == _client_window) || (win == _icon_window))) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
//! @brief Matches win against DockApp window.
|
|
inline bool findDockAppFromFrame(Window win) {
|
|
if ((win != None) && (win == _window))
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
void kill(void);
|
|
void resize(uint width, uint height);
|
|
|
|
void loadTheme(void);
|
|
|
|
private:
|
|
void repaint(void);
|
|
|
|
void updateSize(void);
|
|
void validateSize(void);
|
|
|
|
void readClassHint(void);
|
|
void readAutoProperties(void);
|
|
|
|
private:
|
|
PScreen *_scr;
|
|
Theme *_theme;
|
|
|
|
Window _dockapp_window;
|
|
Window _client_window, _icon_window;
|
|
|
|
ClassHint _class_hint;
|
|
|
|
Geometry _c_gm;
|
|
int _position; // used in sorted mode
|
|
|
|
Pixmap _background;
|
|
|
|
bool _is_alive;
|
|
};
|
|
|
|
#endif // _DOCKAPP_HH_
|