• 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::TriState
TriState
Definition: kstartupinfo.h:568
KStartupInfoData::No
@ No
Definition: kstartupinfo.h:568
KStartupInfoId
Class representing an identification of application startup notification.
Definition: kstartupinfo.h:369
KStartupInfo
Class for manipulating the application startup notification.
Definition: kstartupinfo.h:66
KStartupInfo::startup_t
startup_t
Definition: kstartupinfo.h:255
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.
QList< pid_t >
QObject
QWidget
operator==
bool operator==(const KEntry &k1, const KEntry &k2)
operator<
bool operator<(const KEntryKey &k1, const KEntryKey &k2)
operator!=
bool operator!=(const KEntry &k1, const KEntry &k2)
kdeui_export.h
Unknown
Unknown
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 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
  • Modules
  • 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