• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KDEUI

  • kdeui
  • kernel
kstartupinfo.h
Go to the documentation of this file.
1/****************************************************************************
2
3 Copyright (C) 2001-2003 Lubos Lunak <l.lunak@kde.org>
4
5Permission is hereby granted, free of charge, to any person obtaining a
6copy of this software and associated documentation files (the "Software"),
7to deal in the Software without restriction, including without limitation
8the rights to use, copy, modify, merge, publish, distribute, sublicense,
9and/or sell copies of the Software, and to permit persons to whom the
10Software is furnished to do so, subject to the following conditions:
11
12The above copyright notice and this permission notice shall be included in
13all copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21DEALINGS IN THE SOFTWARE.
22
23****************************************************************************/
24
25#ifndef KSTARTUPINFO_H
26#define KSTARTUPINFO_H
27
28#include <kdeui_export.h>
29
30#include <QtCore/QObject>
31#include <QtCore/QString>
32#include <QtCore/QChildEvent>
33#include <QtGui/QWidgetList>
34
35#include <sys/types.h>
36
37#if !defined(Q_WS_X11)
38typedef void Display;
39#endif
40
41class KStartupInfoId;
42class KStartupInfoData;
43
64class KDEUI_EXPORT KStartupInfo
65 : public QObject
66 {
67 Q_OBJECT
68 public:
76 static void disableAutoAppStartedSending( bool disable = true );
77
85 static void appStarted();
86
91 static void appStarted( const QByteArray& startup_id );
92
101 static void setNewStartupId( QWidget* window, const QByteArray& startup_id );
102
111 static void silenceStartup( bool silence );
112
117 static QByteArray createNewStartupId();
121 enum {
122 CleanOnCantDetect = 1 << 0,
123 DisableKWinModule = 1 << 1,
124 AnnounceSilenceChanges = 1 << 2
125 };
126
144 explicit KStartupInfo( int flags, QObject* parent = 0 );
155 explicit KStartupInfo( bool clean_on_cantdetect, QObject* parent = 0 );
156 virtual ~KStartupInfo();
169 static bool sendStartup( const KStartupInfoId& id, const KStartupInfoData& data );
170
179 static bool sendStartupX( Display* dpy, const KStartupInfoId& id,
180 const KStartupInfoData& data );
181
192 static bool sendChange( const KStartupInfoId& id, const KStartupInfoData& data );
193
201 static bool sendChangeX( Display* dpy, const KStartupInfoId& id,
202 const KStartupInfoData& data );
203
209 static bool sendFinish( const KStartupInfoId& id );
210
217 static bool sendFinishX( Display* dpy, const KStartupInfoId& id );
218
226 static bool sendFinish( const KStartupInfoId& id, const KStartupInfoData& data );
227
235 static bool sendFinishX( Display* dpy, const KStartupInfoId& id,
236 const KStartupInfoData& data );
237
244 static KStartupInfoId currentStartupIdEnv();
248 static void resetStartupEnv();
255 enum startup_t { NoMatch, Match, CantDetect };
261 startup_t checkStartup( WId w );
269 startup_t checkStartup( WId w, KStartupInfoId& id );
277 startup_t checkStartup( WId w, KStartupInfoData& data );
286 startup_t checkStartup( WId w, KStartupInfoId& id, KStartupInfoData& data );
291 void setTimeout( unsigned int secs );
297 static void setWindowStartupId( WId window, const QByteArray& id );
303 static QByteArray windowStartupId( WId w );
307 static void handleAutoAppStartedSending();
311 class Data;
312
316 class Private;
317 Q_SIGNALS:
324 void gotNewStartup( const KStartupInfoId& id, const KStartupInfoData& data );
330 void gotStartupChange( const KStartupInfoId& id, const KStartupInfoData& data );
337 void gotRemoveStartup( const KStartupInfoId& id, const KStartupInfoData& data );
338
339 protected:
343 virtual void customEvent( QEvent* e_P );
344
345 private:
346 Q_PRIVATE_SLOT(d, void startups_cleanup())
347 Q_PRIVATE_SLOT(d, void startups_cleanup_no_age())
348 Q_PRIVATE_SLOT(d, void got_message( const QString& msg ))
349 Q_PRIVATE_SLOT(d, void window_added( WId w ))
350 Q_PRIVATE_SLOT(d, void slot_window_added( WId w ))
351
352 Private* const d;
353
354 Q_DISABLE_COPY(KStartupInfo)
355 };
356
368class KDEUI_EXPORT KStartupInfoId
369 {
370 public:
375 bool operator==( const KStartupInfoId& id ) const;
380 bool operator!=( const KStartupInfoId& id ) const;
385 bool none() const;
393 void initId( const QByteArray& id = "" );
398 const QByteArray& id() const;
403 unsigned long timestamp() const;
408 bool setupStartupEnv() const;
412 KStartupInfoId();
416 KStartupInfoId( const KStartupInfoId& data );
417 ~KStartupInfoId();
418 KStartupInfoId& operator=( const KStartupInfoId& data );
419 bool operator<( const KStartupInfoId& id ) const;
420 private:
421 explicit KStartupInfoId( const QString& txt );
422 friend class KStartupInfo;
423 friend class KStartupInfo::Private;
424 struct Private;
425 Private *const d;
426 };
427
439class KDEUI_EXPORT KStartupInfoData
440 {
441 public:
446 void setBin( const QString& bin );
451 const QString& bin() const;
455 void setName( const QString& name );
461 const QString& findName() const;
467 const QString& name() const;
473 void setDescription( const QString& descr );
479 const QString& findDescription() const;
485 const QString& description() const;
490 void setIcon( const QString& icon );
497 const QString& findIcon() const;
502 const QString& icon() const;
508 void setDesktop( int desktop );
513 int desktop() const;
520 void setWMClass( const QByteArray& wmclass );
527 const QByteArray findWMClass() const;
533 QByteArray WMClass() const;
541 void addPid( pid_t pid );
546 QList< pid_t > pids() const;
552 bool is_pid( pid_t pid ) const;
558 void setHostname( const QByteArray& hostname = QByteArray());
563 QByteArray hostname() const;
564
568 enum TriState { Yes, No, Unknown };
569
574 void setSilent( TriState state );
575
580 TriState silent() const;
581
590 void setTimestamp( unsigned long time );
591
597 unsigned long timestamp() const;
598
602 int screen() const;
603
608 void setScreen( int screen );
609
613 int xinerama() const;
614
620 void setXinerama( int xinerama );
621
626 WId launchedBy() const;
627
632 void setLaunchedBy( WId window );
633
639 QString applicationId() const;
640
645 void setApplicationId( const QString& desktop );
646
652 void update( const KStartupInfoData& data );
653
657 KStartupInfoData();
658
662 KStartupInfoData( const KStartupInfoData& data );
663 ~KStartupInfoData();
664 KStartupInfoData& operator=( const KStartupInfoData& data );
665 private:
666 explicit KStartupInfoData( const QString& txt );
667 friend class KStartupInfo;
668 friend class KStartupInfo::Data;
669 friend class KStartupInfo::Private;
670 struct Private;
671 Private *const d;
672 };
673
674#endif
675
KStartupInfoData
Class representing data about an application startup notification.
Definition kstartupinfo.h:440
KStartupInfoData::findDescription
const QString & findDescription() const
Returns the description of the startup notification.
Definition kstartupinfo.cpp:1376
KStartupInfoData::TriState
TriState
Definition kstartupinfo.h:568
KStartupInfoData::No
@ No
Definition kstartupinfo.h:568
KStartupInfoData::Yes
@ Yes
Definition kstartupinfo.h:568
KStartupInfoData::Unknown
@ Unknown
Definition kstartupinfo.h:568
KStartupInfoData::description
const QString & description() const
Returns the name of the startup notification, or empty if not available.
Definition kstartupinfo.cpp:1371
KStartupInfoData::WMClass
QByteArray WMClass() const
Returns the WM_CLASS value for the startup notification, or empty if not available.
Definition kstartupinfo.cpp:1422
KStartupInfoData::setHostname
void setHostname(const QByteArray &hostname=QByteArray())
Sets the hostname on which the application is starting.
Definition kstartupinfo.cpp:1427
KStartupInfoData::KStartupInfo
friend class KStartupInfo
Definition kstartupinfo.h:667
KStartupInfoData::setDesktop
void setDesktop(int desktop)
Sets the desktop for the startup notification ( i.e.
Definition kstartupinfo.cpp:1400
KStartupInfoData::findIcon
const QString & findIcon() const
Returns the icon of the startup notification, and if it's not available, tries to get it from the bin...
Definition kstartupinfo.cpp:1388
KStartupInfoData::pids
QList< pid_t > pids() const
Returns all PIDs for the startup notification.
Definition kstartupinfo.cpp:1457
KStartupInfoData::name
const QString & name() const
Returns the name of the startup notification, or empty if not available.
Definition kstartupinfo.cpp:1354
KStartupInfoData::bin
const QString & bin() const
Returns the binary name of the starting application.
Definition kstartupinfo.cpp:1344
KStartupInfoData::addPid
void addPid(pid_t pid)
Adds a PID to the list of processes that belong to the startup notification.
Definition kstartupinfo.cpp:1446
KStartupInfoData::setName
void setName(const QString &name)
Sets the name for the notification (e.g.
Definition kstartupinfo.cpp:1349
KStartupInfoData::setWMClass
void setWMClass(const QByteArray &wmclass)
Sets a WM_CLASS value for the startup notification, it may be used for increasing the chance that the...
Definition kstartupinfo.cpp:1410
KStartupInfoData::setIcon
void setIcon(const QString &icon)
Sets the icon for the startup notification ( e.g.
Definition kstartupinfo.cpp:1383
KStartupInfoData::setBin
void setBin(const QString &bin)
Sets the binary name of the application ( e.g.
Definition kstartupinfo.cpp:1339
KStartupInfoData::KStartupInfoData
KStartupInfoData()
Constructor.
Definition kstartupinfo.cpp:1330
KStartupInfoData::setDescription
void setDescription(const QString &descr)
Sets the description for the notification (e.g.
Definition kstartupinfo.cpp:1366
KStartupInfoData::icon
const QString & icon() const
Returns the icon of the startup notification, or empty if not available.
Definition kstartupinfo.cpp:1395
KStartupInfoData::findWMClass
const QByteArray findWMClass() const
Returns the WM_CLASS value for the startup notification, or binary name if not available.
Definition kstartupinfo.cpp:1415
KStartupInfoData::is_pid
bool is_pid(pid_t pid) const
Checks whether the given pid is in the list of PIDs for starup notification.
Definition kstartupinfo.cpp:1462
KStartupInfoData::hostname
QByteArray hostname() const
Returns the hostname for the startup notification.
Definition kstartupinfo.cpp:1441
KStartupInfoData::desktop
int desktop() const
Returns the desktop for the startup notification.
Definition kstartupinfo.cpp:1405
KStartupInfoData::findName
const QString & findName() const
Returns the name of the startup notification.
Definition kstartupinfo.cpp:1359
KStartupInfoId
Class representing an identification of application startup notification.
Definition kstartupinfo.h:369
KStartupInfoId::initId
void initId(const QByteArray &id="")
Initializes this object with the given identification ( which may be also "0" for no notification ),...
Definition kstartupinfo.cpp:1058
KStartupInfoId::KStartupInfo
friend class KStartupInfo
Definition kstartupinfo.h:422
KStartupInfoId::setupStartupEnv
bool setupStartupEnv() const
Sets the startup notification environment variable to this identification.
Definition kstartupinfo.cpp:1080
KStartupInfoId::timestamp
unsigned long timestamp() const
Return the user timestamp for the startup notification, or 0 if no timestamp is set.
Definition kstartupinfo.cpp:1149
KStartupInfoId::KStartupInfoId
KStartupInfoId()
Creates an empty identification.
Definition kstartupinfo.cpp:1106
KStartupInfoId::none
bool none() const
Checks whether the identifier is valid.
Definition kstartupinfo.cpp:1144
KStartupInfoId::operator!=
bool operator!=(const KStartupInfoId &id) const
Overloaded operator.
Definition kstartupinfo.cpp:1132
KStartupInfoId::operator<
bool operator<(const KStartupInfoId &id) const
Definition kstartupinfo.cpp:1138
KStartupInfoId::operator=
KStartupInfoId & operator=(const KStartupInfoId &data)
Definition kstartupinfo.cpp:1119
KStartupInfoId::operator==
bool operator==(const KStartupInfoId &id) const
Overloaded operator.
Definition kstartupinfo.cpp:1127
KStartupInfoId::id
const QByteArray & id() const
Returns the notification identifier as string.
Definition kstartupinfo.cpp:1034
KStartupInfo
Class for manipulating the application startup notification.
Definition kstartupinfo.h:66
KStartupInfo::disableAutoAppStartedSending
static void disableAutoAppStartedSending(bool disable=true)
By default, the startup notification is ended for the application after it shows its first toplevel w...
Definition kstartupinfo.cpp:621
KStartupInfo::startup_t
startup_t
Definition kstartupinfo.h:255
KStartupInfo::NoMatch
@ NoMatch
Definition kstartupinfo.h:255
KStartupInfo::CantDetect
@ CantDetect
Definition kstartupinfo.h:255
KStartupInfo::Match
@ Match
Definition kstartupinfo.h:255
KStartupInfo::appStarted
static void appStarted()
Manual notification that the application has started.
Definition kstartupinfo.cpp:586
KStartupInfo::setNewStartupId
static void setNewStartupId(QWidget *window, const QByteArray &startup_id)
Use this function if the application got a request with startup notification from outside (for exampl...
Definition kstartupinfo.cpp:643
KStartupInfo::CleanOnCantDetect
@ CleanOnCantDetect
Definition kstartupinfo.h:122
KStartupInfo::DisableKWinModule
@ DisableKWinModule
Definition kstartupinfo.h:123
KStartupInfo::AnnounceSilenceChanges
@ AnnounceSilenceChanges
Definition kstartupinfo.h:124
KStartupInfo::gotRemoveStartup
void gotRemoveStartup(const KStartupInfoId &id, const KStartupInfoData &data)
Emitted when a startup notification is removed (either because it was detected that the application i...
KStartupInfo::gotStartupChange
void gotStartupChange(const KStartupInfoId &id, const KStartupInfoData &data)
Emitted when a startup notification changes.
KStartupInfo::gotNewStartup
void gotNewStartup(const KStartupInfoId &id, const KStartupInfoData &data)
Emitted when a new startup notification is created (i.e.
KStartupInfo::customEvent
virtual void customEvent(QEvent *e_P)
Definition kstartupinfo.cpp:266
KStartupInfo::KStartupInfo
KStartupInfo(int flags, QObject *parent=0)
Creates an instance that will receive the startup notifications.
Definition kstartupinfo.cpp:203
KStartupInfo::silenceStartup
static void silenceStartup(bool silence)
If your application shows temporarily some window during its startup, for example a dialog,...
Definition kstartupinfo.cpp:626
KStartupInfo::createNewStartupId
static QByteArray createNewStartupId()
Creates and returns new startup id.
Definition kstartupinfo.cpp:1012
QList< pid_t >
QObject
QWidget
pid
static pid_t pid
kdeui_export.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Tue Mar 25 2025 00:00:00 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

Skip menu "KDEUI"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal