mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:57:44 +00:00
NotificationServer: Add a system service for desktop notifications
This patch adds NotificationServer, which runs as the "notify" user and provides an IPC API for desktop notifications. LibGUI gains the GUI::Notification class for showing notifications. NotificationServer is spawned on demand and will unspawn after dimissing all visible notifications. :^) Finally, this also comes with a small /bin/notify utility.
This commit is contained in:
parent
a6e69bda71
commit
9f54ea9bcd
16 changed files with 486 additions and 1 deletions
28
Libraries/LibGUI/Notification.h
Normal file
28
Libraries/LibGUI/Notification.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
#pragma once
|
||||
|
||||
#include <LibCore/Object.h>
|
||||
|
||||
namespace GUI {
|
||||
|
||||
class Notification : public Core::Object {
|
||||
C_OBJECT(Notification);
|
||||
|
||||
public:
|
||||
virtual ~Notification() override;
|
||||
|
||||
const String& text() const { return m_text; }
|
||||
void set_text(const String& text) { m_text = text; }
|
||||
|
||||
const String& title() const { return m_title; }
|
||||
void set_title(const String& title) { m_title = title; }
|
||||
|
||||
void show();
|
||||
|
||||
private:
|
||||
Notification();
|
||||
|
||||
String m_title;
|
||||
String m_text;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue