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
|
// compatibility
|
||||||
kwm_win_icon = XInternAtom(qt_xdisplay(), "KWM_WIN_ICON", FALSE);
|
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);
|
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_delete_window;
|
||||||
Atom wm_take_focus;
|
Atom wm_take_focus;
|
||||||
Atom kwm_win_icon; // compatibility
|
Atom kwm_win_icon; // compatibility
|
||||||
|
Atom kwm_running;
|
||||||
|
|
||||||
Atom net_number_of_desktops;
|
Atom net_number_of_desktops;
|
||||||
Atom net_current_desktop;
|
Atom net_current_desktop;
|
||||||
|
@ -17,6 +18,7 @@ public:
|
||||||
Atom net_client_list;
|
Atom net_client_list;
|
||||||
Atom net_client_list_stacking;
|
Atom net_client_list_stacking;
|
||||||
|
|
||||||
|
|
||||||
Atom net_kde_docking_windows;
|
Atom net_kde_docking_windows;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -307,6 +307,7 @@ void Client::manage( bool isMapped )
|
||||||
QRect geom( original_geometry );
|
QRect geom( original_geometry );
|
||||||
bool placementDone = FALSE;
|
bool placementDone = FALSE;
|
||||||
|
|
||||||
|
qDebug("geom: width=%d", geom.width() );
|
||||||
if ( isMapped )
|
if ( isMapped )
|
||||||
placementDone = TRUE;
|
placementDone = TRUE;
|
||||||
else {
|
else {
|
||||||
|
@ -326,6 +327,7 @@ void Client::manage( bool isMapped )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qDebug("geom after: width=%d", geom.width() );
|
||||||
// the clever activate() trick is necessary
|
// the clever activate() trick is necessary
|
||||||
layout()->activate();
|
layout()->activate();
|
||||||
resize ( sizeForWindowSize( geom.size() ) );
|
resize ( sizeForWindowSize( geom.size() ) );
|
||||||
|
|
|
@ -100,6 +100,11 @@ Workspace::Workspace()
|
||||||
int dummy;
|
int dummy;
|
||||||
kwin_has_shape = XShapeQueryExtension(qt_xdisplay(), &kwin_shape_event, &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();
|
init();
|
||||||
control_grab = FALSE;
|
control_grab = FALSE;
|
||||||
tab_grab = FALSE;
|
tab_grab = FALSE;
|
||||||
|
@ -197,6 +202,8 @@ Workspace::~Workspace()
|
||||||
delete tab_box;
|
delete tab_box;
|
||||||
delete popup;
|
delete popup;
|
||||||
delete keys;
|
delete keys;
|
||||||
|
if ( root == qt_xrootwin() )
|
||||||
|
XDeleteProperty(qt_xdisplay(), qt_xrootwin(), atoms->kwm_running);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
Loading…
Reference in a new issue