Source Code (Use browser search to find items of interest.)
Class Index
kstart'KStart (./kdebase/kstart/kstart.h:27)
class KStart: public QObject {
Q_OBJECT
public:
KStart(const char* command_arg,
const char* window_arg,
int desktop_arg,
bool activate_arg,
bool maximize_arg,
bool iconify_arg,
bool sticky_arg,
int decoration_arg);
~KStart(){};
public slots:
void initialized();
void windowAdd(WId);
private:
void applyStyle(Window);
KWinModule* kwinmodule;
QString command;
QString window;
int desktop;
bool activate;
bool maximize;
bool iconify;
bool sticky;
int decoration;
};
kstart'KStart::KStart() (./kdebase/kstart/kstart.C:28)
KStart::KStart(const char* command_arg,
const char* window_arg,
int desktop_arg,
bool activate_arg,
bool maximize_arg,
bool iconify_arg,
bool sticky_arg,
int decoration_arg
)
:QObject(){
kwinmodule = new KWinModule;
command = command_arg;
window = window_arg;
desktop = desktop_arg;
activate = activate_arg;
maximize = maximize_arg;
iconify = iconify_arg;
sticky = sticky_arg;
decoration = decoration_arg;
// just connect to the initialized() signal, we want to be
// informed if we recieved all existing windows
//connect(kwinmodule, SIGNAL(initialized()), SLOT(initialized()));
//kwinmodule->connectToKWM();
initialized();
}
kstart'KStart::initialized() (./kdebase/kstart/kstart.C:55)
void KStart::initialized(){
// ok, we are initialized. Now connect to window add to get the NEW windows
connect(kwinmodule, SIGNAL(windowAdd(WId)), SLOT(windowAdd(WId)));
if (window) {
KWM::doNotManage(window);
XSync(qt_xdisplay(), False);
}
//finally execute the comand
execute(command);
}
kstart'KStart::windowAdd() (./kdebase/kstart/kstart.C:66)
void KStart::windowAdd(WId w){
if (window) {
QString t = KWM::title(w);
QRegExp r = window;
if (r.match(t) != -1){
applyStyle( w );
::exit(0);
}
}
else {
// not window specified, just take the first one
applyStyle( w );
::exit(0);
}
}
kstart'KStart::applyStyle() (./kdebase/kstart/kstart.C:82)
void KStart::applyStyle(Window w) {
if (window)
KWM::prepareForSwallowing(w);
if (desktop > 0) {
if (KWM::desktop(w) != desktop)
{
debug("moving window to desktop %d",desktop);
KWM::moveToDesktop(w, desktop);
}
}
if (maximize) {
debug("do maximize");
KWM::doMaximize(w, true);
}
if (iconify)
KWM::setIconify(w, true);
if (sticky) {
KWM::setSticky(w, true);
}
if (decoration != KWM::normalDecoration) {
KWM::setDecoration(w, decoration);
}
XSync(qt_xdisplay(), False);
if (window) {
XMapWindow(qt_xdisplay(), w);
XSync(qt_xdisplay(), False);
}
if (activate)
KWM::activate(w);
XSync(qt_xdisplay(), False);
}
// David, 05/03/2000