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

KDEUI

  • sources
  • kde-4.14
  • kdelibs
  • 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 
5 Permission is hereby granted, free of charge, to any person obtaining a
6 copy of this software and associated documentation files (the "Software"),
7 to deal in the Software without restriction, including without limitation
8 the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 and/or sell copies of the Software, and to permit persons to whom the
10 Software is furnished to do so, subject to the following conditions:
11 
12 The above copyright notice and this permission notice shall be included in
13 all copies or substantial portions of the Software.
14 
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 DEALINGS 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)
38 typedef void Display;
39 #endif
40 
41 class KStartupInfoId;
42 class KStartupInfoData;
43 
64 class 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 
368 class 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 
439 class 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 
QEvent
QWidget
KStartupInfo::startup_t
startup_t
Definition: kstartupinfo.h:255
KStartupInfo
Class for manipulating the application startup notification.
Definition: kstartupinfo.h:64
QByteArray
operator<
bool operator<(const KEntryKey &k1, const KEntryKey &k2)
KStandardAction::name
const char * name(StandardAction id)
This will return the internal name of a given standard action.
Definition: kstandardaction.cpp:223
KStartupInfoId
Class representing an identification of application startup notification.
Definition: kstartupinfo.h:368
operator!=
bool operator!=(const KEntry &k1, const KEntry &k2)
KStartupInfoData::TriState
TriState
Definition: kstartupinfo.h:568
KStandardGuiItem::No
Definition: kstandardguiitem.h:50
operator==
bool operator==(const KEntry &k1, const KEntry &k2)
KStartupInfoData
Class representing data about an application startup notification.
Definition: kstartupinfo.h:439
QObject
Unknown
QString
QList< pid_t >
KStartupInfoData::Yes
Definition: kstartupinfo.h:568
QObject::customEvent
virtual void customEvent(QEvent *event)
kdeui_export.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:24:00 by doxygen 1.8.7 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 API Reference

Skip menu "kdelibs 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

Search



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