aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS_TheReturn')
-rw-r--r--ShiftOS_TheReturn/AppearanceManager.cs5
-rw-r--r--ShiftOS_TheReturn/Desktop.cs17
-rw-r--r--ShiftOS_TheReturn/ServerManager.cs1
-rw-r--r--ShiftOS_TheReturn/Skinning.cs8
4 files changed, 29 insertions, 2 deletions
diff --git a/ShiftOS_TheReturn/AppearanceManager.cs b/ShiftOS_TheReturn/AppearanceManager.cs
index d8004bc..a10f419 100644
--- a/ShiftOS_TheReturn/AppearanceManager.cs
+++ b/ShiftOS_TheReturn/AppearanceManager.cs
@@ -226,7 +226,10 @@ namespace ShiftOS.Engine
OnExit?.Invoke();
//disconnect from MUD
ServerManager.Disconnect();
- Environment.Exit(0);
+ Desktop.InvokeOnWorkerThread(() =>
+ {
+ Environment.Exit(0);
+ });
}
/// <summary>
diff --git a/ShiftOS_TheReturn/Desktop.cs b/ShiftOS_TheReturn/Desktop.cs
index bc17a8e..a5e7f43 100644
--- a/ShiftOS_TheReturn/Desktop.cs
+++ b/ShiftOS_TheReturn/Desktop.cs
@@ -102,7 +102,14 @@ namespace ShiftOS.Engine
/// Gets the name of the desktop.
/// </summary>
string DesktopName { get; }
-
+
+ /// <summary>
+ /// Show a notification on the desktop.
+ /// </summary>
+ /// <param name="app">An application ID (for determining what system icon to show the notification alongside)</param>
+ /// <param name="title">The title of the notification.</param>
+ /// <param name="message">Isn't this.... self explanatory?</param>
+ void PushNotification(string app, string title, string message);
/// <summary>
/// Performs most of the skinning and layout handling for the desktop.
@@ -266,6 +273,14 @@ namespace ShiftOS.Engine
{
_desktop.HideAppLauncher();
}
+
+ public static void PushNotification(string app, string title, string msg)
+ {
+ InvokeOnWorkerThread(() =>
+ {
+ _desktop.PushNotification(app, title, msg);
+ });
+ }
}
// sorry i almost killed everything :P
}
diff --git a/ShiftOS_TheReturn/ServerManager.cs b/ShiftOS_TheReturn/ServerManager.cs
index 825064b..371d8e7 100644
--- a/ShiftOS_TheReturn/ServerManager.cs
+++ b/ShiftOS_TheReturn/ServerManager.cs
@@ -131,6 +131,7 @@ namespace ShiftOS.Engine
{
if (!UserDisconnect)
{
+ Desktop.PushNotification("digital_society_connection", "Disconnected from Digital Society.", "The ShiftOS kernel has been disconnected from the Digital Society. We are attempting to re-connect you.");
TerminalBackend.PrefixEnabled = true;
ConsoleEx.ForegroundColor = ConsoleColor.Red;
ConsoleEx.Bold = true;
diff --git a/ShiftOS_TheReturn/Skinning.cs b/ShiftOS_TheReturn/Skinning.cs
index 548e80f..4340f1a 100644
--- a/ShiftOS_TheReturn/Skinning.cs
+++ b/ShiftOS_TheReturn/Skinning.cs
@@ -276,6 +276,14 @@ namespace ShiftOS.Engine
[ShifterHidden]
public Dictionary<string, byte[]> AppIcons = new Dictionary<string, byte[]>();
+ [Image("panelclockbg")]
+ [ShifterMeta("Desktop")]
+ [ShifterCategory("Panel Clock")]
+ [ShifterName("Panel Clock Background Image")]
+ [ShifterDescription("Set the background image of the panel clock.")]
+ [RequiresUpgrade("skinning;shift_panel_clock")]
+ public byte[] PanelClockBG = null;
+
[ShifterMeta("System")]
[ShifterCategory("Login Screen")]
[RequiresUpgrade("gui_based_login_screen")]