fake being kwm (helps some docking apps out there)
svn path=/trunk/kdebase/kwin/; revision=33646
This commit is contained in:
parent
b4cc618773
commit
cb5978260f
4 changed files with 13 additions and 1 deletions
|
@ -11,6 +11,7 @@ Atoms::Atoms()
|
|||
|
||||
// compatibility
|
||||
kwm_win_icon = XInternAtom(qt_xdisplay(), "KWM_WIN_ICON", FALSE);
|
||||
kwm_running = XInternAtom(qt_xdisplay(), "KWM_RUNNING", FALSE);
|
||||
|
||||
|
||||
net_number_of_desktops = XInternAtom(qt_xdisplay(), "_NET_NUMBER_OF_DESKTOPS", False);
|
||||
|
|
2
atoms.h
2
atoms.h
|
@ -10,6 +10,7 @@ public:
|
|||
Atom wm_delete_window;
|
||||
Atom wm_take_focus;
|
||||
Atom kwm_win_icon; // compatibility
|
||||
Atom kwm_running;
|
||||
|
||||
Atom net_number_of_desktops;
|
||||
Atom net_current_desktop;
|
||||
|
@ -17,6 +18,7 @@ public:
|
|||
Atom net_client_list;
|
||||
Atom net_client_list_stacking;
|
||||
|
||||
|
||||
Atom net_kde_docking_windows;
|
||||
};
|
||||
|
||||
|
|
|
@ -307,6 +307,7 @@ void Client::manage( bool isMapped )
|
|||
QRect geom( original_geometry );
|
||||
bool placementDone = FALSE;
|
||||
|
||||
qDebug("geom: width=%d", geom.width() );
|
||||
if ( isMapped )
|
||||
placementDone = TRUE;
|
||||
else {
|
||||
|
@ -326,6 +327,7 @@ void Client::manage( bool isMapped )
|
|||
}
|
||||
}
|
||||
|
||||
qDebug("geom after: width=%d", geom.width() );
|
||||
// the clever activate() trick is necessary
|
||||
layout()->activate();
|
||||
resize ( sizeForWindowSize( geom.size() ) );
|
||||
|
|
|
@ -100,6 +100,11 @@ Workspace::Workspace()
|
|||
int dummy;
|
||||
kwin_has_shape = XShapeQueryExtension(qt_xdisplay(), &kwin_shape_event, &dummy);
|
||||
|
||||
// compatibility
|
||||
long data = 1;
|
||||
XChangeProperty(qt_xdisplay(), qt_xrootwin(), atoms->kwm_running, atoms->kwm_running, 32,
|
||||
PropModeAppend, (unsigned char*) &data, 1);
|
||||
|
||||
init();
|
||||
control_grab = FALSE;
|
||||
tab_grab = FALSE;
|
||||
|
@ -197,6 +202,8 @@ Workspace::~Workspace()
|
|||
delete tab_box;
|
||||
delete popup;
|
||||
delete keys;
|
||||
if ( root == qt_xrootwin() )
|
||||
XDeleteProperty(qt_xdisplay(), qt_xrootwin(), atoms->kwm_running);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
Loading…
Reference in a new issue