org.kde.koala

Class KNotifyClient

public class KNotifyClient extends Object

This namespace provides a method for issuing events to a KNotifyServer call KNotifyClient.event("eventname"); to issue it. On installation, there should be a file called $KDEDIR/share/apps/appname/eventsrc which contains the events. The file looks like this:
 [!Global!]
 IconName=Filename (e.g. kdesktop, without any extension)
 Comment=FriendlyNameOfApp
 [eventname]
 Name=FriendlyNameOfEvent
 Comment=Description Of Event
 default_sound=filetoplay.wav
 default_logfile=logfile.txt
 default_commandline=command
 default_presentation=1
  ...
 
default_presentation contains these ORed events: None=0, Sound=1, Messagebox=2, Logfile=4, Stderr=8, PassivePopup=16, Execute=32, Taskbar=64 KNotify will search for sound files given with a relative path first in the application's sound directory (share/apps/Application Name/sounds), then in the KDE global sound directory (share/sounds). You can also use the "nopresentation" key, with any the presentations ORed. Those that are in that field will not appear in the kcontrol module. This was intended for software like KWin to not allow a window-opening that opens a window (e.g., allowing to disable KMessageBoxes from appearing) If the user edits the eventsrc file manually, it will appear. This only affects the KcmNotify. You can also use the following events, which are system controlled and do not need to be placed in your eventsrc: The events can be configured in an application using KNotifyDialog, which is part of KIO.

Author: Charles Samuels

UNKNOWN: This namespace provides a method for issuing events to a KNotifyServer call KNotifyClient.event("eventname"); to issue it.

Field Summary
static intcannotOpenFile
default events you can use
static intcatastrophe
static intCatastrophe
static intDefault
Describes the notification method.
static intError
static intExecute
static intfatalError
static intLogfile
static intMessagebox
static intnotification
static intNone
static intNotification
Describes the level of the error.
static intPassivePopup
static intSound
static intStderr
static intTaskbar
static intwarning
static intWarning
Method Summary
static voidbeep(String reason)
This is a simple substitution for QApplication.beep().
static voidbeep()
static intevent(int winId, String message, String text)
This should be the most used method in here.
static intevent(int winId, String message)
static intevent(int winId, int event, String text)
You should pass the origin-widget's winId() here so that a PassivePopup can be placed appropriately.
static intevent(int winId, int event)
static StringgetDefaultFile(String eventname, int present)
Gets the default File for the event of this program.
static intgetDefaultPresentation(String eventname)
Gets the default presentation for the event of this program.
static StringgetFile(String eventname, int present)
Gets the default file associated with a certain event name The control panel module will list all the event names This has the potential for being slow.
static intgetPresentation(String eventname)
Gets the presentation associated with a certain event name Remeber that they may be ORed:
		 if (present & KNotifyClient.Sound) { [Yes, sound is a default] }	
		 
static KInstanceInterfaceinstance()
Shortcut to KNotifyClient.Instance.current() :)
static booleanstartDaemon()
This starts the KNotify Daemon, if it's not already started.
static intuserEvent(int winId, String text, int present, int level, String sound, String file)
Will fire an event that's not registered.
static intuserEvent(int winId, String text, int present, int level, String sound)
static intuserEvent(int winId, String text, int present, int level)
static intuserEvent(int winId, String text, int present)
static intuserEvent(int winId, String text)
static intuserEvent(int winId)

Field Detail

cannotOpenFile

public static final int cannotOpenFile
default events you can use

UNKNOWN: default events you can use

catastrophe

public static final int catastrophe

Catastrophe

public static final int Catastrophe

Default

public static final int Default
Describes the notification method.

UNKNOWN: Describes the notification method.

Error

public static final int Error

Execute

public static final int Execute

fatalError

public static final int fatalError

Logfile

public static final int Logfile

Messagebox

public static final int Messagebox

notification

public static final int notification

None

public static final int None

Notification

public static final int Notification
Describes the level of the error.

UNKNOWN: Describes the level of the error.

PassivePopup

public static final int PassivePopup

Sound

public static final int Sound

Stderr

public static final int Stderr

Taskbar

public static final int Taskbar

warning

public static final int warning

Warning

public static final int Warning

Method Detail

beep

public static void beep(String reason)
This is a simple substitution for QApplication.beep(). It simply calls
		 KNotifyClient.event( KNotifyClient.notification, reason );
		 

Parameters: reason the reason, can be null.

UNKNOWN: This is a simple substitution for QApplication.beep().

beep

public static void beep()

event

public static int event(int winId, String message, String text)
This should be the most used method in here. Pass the origin-widget's winId() here so that a PassivePopup can be placed appropriately. Call it by KNotifyClient.event(widget.winId(), "EventName"); It will use KApplication.kApplication.dcopClient() to communicate to the server

Parameters: winId The winId() of the widget where the event originates message The name of the event text The text to put in a dialog box. This won't be shown if the user connected the event to sound, only. Can be null.

Returns: a value > 0, unique for this event if successful, 0 otherwise

UNKNOWN: This should be the most used method in here.

event

public static int event(int winId, String message)

event

public static int event(int winId, int event, String text)
You should pass the origin-widget's winId() here so that a PassivePopup can be placed appropriately.

Parameters: winId The winId() of the widget where the event originates event The event you want to raise text The text to put in a dialog box. This won't be shown if the user connected the event to sound, only. Can be null.

Returns: a value > 0, unique for this event if successful, 0 otherwise

UNKNOWN: You should pass the origin-widget's winId() here so that a PassivePopup can be placed appropriately.

event

public static int event(int winId, int event)

getDefaultFile

public static String getDefaultFile(String eventname, int present)
Gets the default File for the event of this program. It gets it in relation to present. Some events don't apply to this function ("Message Box") Some do (Sound)

Parameters: eventname the name of the event present the presentation method

Returns: the default file. Can be null if not found.

UNKNOWN: Gets the default File for the event of this program.

getDefaultPresentation

public static int getDefaultPresentation(String eventname)
Gets the default presentation for the event of this program. Remember that the Presentation may be ORed. Try this:
		 if (present & KNotifyClient.Sound) { [Yes, sound is a default] }
		 

Returns: the presentation methods

UNKNOWN: Gets the default presentation for the event of this program.

getFile

public static String getFile(String eventname, int present)
Gets the default file associated with a certain event name The control panel module will list all the event names This has the potential for being slow.

Parameters: eventname the name of the event present the presentation method

Returns: the associated file. Can be null if not found.

UNKNOWN: Gets the default file associated with a certain event name The control panel module will list all the event names This has the potential for being slow.

getPresentation

public static int getPresentation(String eventname)
Gets the presentation associated with a certain event name Remeber that they may be ORed:
		 if (present & KNotifyClient.Sound) { [Yes, sound is a default] }	
		 

Parameters: eventname the event name to check

Returns: the presentation methods

UNKNOWN: Gets the presentation associated with a certain event name Remeber that they may be ORed:

  if (present & KNotifyClient.Sound) { [Yes, sound is a default] }	  

instance

public static KInstanceInterface instance()
Shortcut to KNotifyClient.Instance.current() :)

Returns: the current KInstance.

UNKNOWN: Shortcut to KNotifyClient.Instance.current() :)

startDaemon

public static boolean startDaemon()
This starts the KNotify Daemon, if it's not already started. This will be useful for games that use sound effects. Run this at the start of the program, and there won't be a pause when it is first triggered.

Returns: true if daemon is running (always true at the moment)

UNKNOWN: This starts the KNotify Daemon, if it's not already started.

userEvent

public static int userEvent(int winId, String text, int present, int level, String sound, String file)
Will fire an event that's not registered. You should pass the origin-widget's winId() here so that a PassivePopup can be placed appropriately.

Parameters: winId The winId() of the originating widget text The error message text, if applicable present The presentation method(s) of the event level The error message level, defaulting to "Default" sound The sound file to play if selected with present file The log file to append the message to if selected with present

Returns: a value > 0, unique for this event if successful, 0 otherwise

UNKNOWN: Will fire an event that's not registered.

userEvent

public static int userEvent(int winId, String text, int present, int level, String sound)

userEvent

public static int userEvent(int winId, String text, int present, int level)

userEvent

public static int userEvent(int winId, String text, int present)

userEvent

public static int userEvent(int winId, String text)

userEvent

public static int userEvent(int winId)