|
|
|
|
@ -106,21 +106,11 @@ Task* TaskManager::findTask(WId w)
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef KDE_3_3
|
|
|
|
|
#define NET_ALL_TYPES_MASK (NET::AllTypesMask)
|
|
|
|
|
#else
|
|
|
|
|
#define NET_ALL_TYPES_MASK (-1LU)
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
void TaskManager::windowAdded(WId w )
|
|
|
|
|
{
|
|
|
|
|
NETWinInfo info(tqt_xdisplay(), w, tqt_xrootwin(),
|
|
|
|
|
NET::WMWindowType | NET::WMPid | NET::WMState );
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
NET::WindowType windowType = info.windowType(NET_ALL_TYPES_MASK);
|
|
|
|
|
#else
|
|
|
|
|
NET::WindowType windowType = info.windowType();
|
|
|
|
|
#endif
|
|
|
|
|
NET::WindowType windowType = info.windowType(NET::AllTypesMask);
|
|
|
|
|
// ignore NET::Tool and other special window types
|
|
|
|
|
if (windowType != NET::Normal && windowType != NET::Override
|
|
|
|
|
&& windowType != NET::Unknown && windowType != NET::Dialog)
|
|
|
|
|
@ -334,11 +324,7 @@ Task::Task(WId win, TaskManager * parent, const char *name) :
|
|
|
|
|
_lastWidth(0), _lastHeight(0), _lastResize(false), _lastIcon(),
|
|
|
|
|
_thumbSize(0.2), _thumb(), _grab()
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
_info = KWin::windowInfo(_win, 0, 0);
|
|
|
|
|
#else
|
|
|
|
|
_info = KWin::info(_win);
|
|
|
|
|
#endif
|
|
|
|
|
// try to load icon via net_wm
|
|
|
|
|
_pixmap = KWin::icon(_win, 16, 16, true);
|
|
|
|
|
|
|
|
|
|
@ -359,11 +345,7 @@ Task::~Task()
|
|
|
|
|
|
|
|
|
|
void Task::refresh(bool icon)
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
_info = KWin::windowInfo(_win, 0, 0);
|
|
|
|
|
#else
|
|
|
|
|
_info = KWin::info(_win);
|
|
|
|
|
#endif
|
|
|
|
|
if (icon)
|
|
|
|
|
{
|
|
|
|
|
// try to load icon via net_wm
|
|
|
|
|
@ -398,56 +380,32 @@ void Task::setActive(bool a)
|
|
|
|
|
|
|
|
|
|
bool Task::isMaximized() const
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
return(_info.state() & NET::Max);
|
|
|
|
|
#else
|
|
|
|
|
return(_info.state & NET::Max);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Task::isIconified() const
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
return (_info.mappingState() == NET::Iconic);
|
|
|
|
|
#else
|
|
|
|
|
return (_info.mappingState == NET::Iconic);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Task::isAlwaysOnTop() const
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
return (_info.state() & NET::StaysOnTop);
|
|
|
|
|
#else
|
|
|
|
|
return (_info.state & NET::StaysOnTop);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Task::isShaded() const
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
return (_info.state() & NET::Shaded);
|
|
|
|
|
#else
|
|
|
|
|
return (_info.state & NET::Shaded);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Task::isOnCurrentDesktop() const
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
return (_info.onAllDesktops() || _info.desktop() == twin_module->currentDesktop());
|
|
|
|
|
#else
|
|
|
|
|
return (_info.onAllDesktops || _info.desktop == twin_module->currentDesktop());
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Task::isOnAllDesktops() const
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
return _info.onAllDesktops();
|
|
|
|
|
#else
|
|
|
|
|
return _info.onAllDesktops;
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Task::isActive() const
|
|
|
|
|
@ -463,11 +421,7 @@ bool Task::isOnTop() const
|
|
|
|
|
bool Task::isModified() const
|
|
|
|
|
{
|
|
|
|
|
static TQString modStr = TQString::fromUtf8("[") + i18n("modified") + TQString::fromUtf8("]");
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
int modStrPos = _info.visibleName().find(modStr);
|
|
|
|
|
#else
|
|
|
|
|
int modStrPos = _info.visibleName.find(modStr);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
return ( modStrPos != -1 );
|
|
|
|
|
}
|
|
|
|
|
@ -623,11 +577,7 @@ void Task::maximize()
|
|
|
|
|
NETWinInfo ni( tqt_xdisplay(), _win, tqt_xrootwin(), NET::WMState);
|
|
|
|
|
ni.setState( NET::Max, NET::Max );
|
|
|
|
|
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
if (_info.mappingState() == NET::Iconic)
|
|
|
|
|
#else
|
|
|
|
|
if (_info.mappingState == NET::Iconic)
|
|
|
|
|
#endif
|
|
|
|
|
activate();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -635,11 +585,7 @@ void Task::restore()
|
|
|
|
|
{
|
|
|
|
|
NETWinInfo ni( tqt_xdisplay(), _win, tqt_xrootwin(), NET::WMState);
|
|
|
|
|
ni.setState( 0, NET::Max );
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
if (_info.mappingState() == NET::Iconic)
|
|
|
|
|
#else
|
|
|
|
|
if (_info.mappingState == NET::Iconic)
|
|
|
|
|
#endif
|
|
|
|
|
activate();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -689,30 +635,18 @@ void Task::toDesktop(int desk)
|
|
|
|
|
NETWinInfo ni(tqt_xdisplay(), _win, tqt_xrootwin(), NET::WMDesktop);
|
|
|
|
|
if (desk == 0)
|
|
|
|
|
{
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
if (_info.onAllDesktops())
|
|
|
|
|
{
|
|
|
|
|
ni.setDesktop(twin_module->currentDesktop());
|
|
|
|
|
KWin::forceActiveWindow(_win);
|
|
|
|
|
}
|
|
|
|
|
#else
|
|
|
|
|
if (_info.onAllDesktops)
|
|
|
|
|
{
|
|
|
|
|
ni.setDesktop(twin_module->currentDesktop());
|
|
|
|
|
KWin::setActiveWindow(_win);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
else
|
|
|
|
|
ni.setDesktop(NETWinInfo::OnAllDesktops);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
ni.setDesktop(desk);
|
|
|
|
|
if (desk == twin_module->currentDesktop())
|
|
|
|
|
#ifdef KDE_3_2
|
|
|
|
|
KWin::forceActiveWindow(_win);
|
|
|
|
|
#else
|
|
|
|
|
KWin::setActiveWindow(_win);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Task::toCurrentDesktop()
|
|
|
|
|
|