Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Tray Icon + Toast Notification service #13

Merged
merged 2 commits into from
Jan 30, 2024

Conversation

starcraft66
Copy link
Member

@starcraft66 starcraft66 commented Jan 29, 2024

Adds a client to the client (client-ception).

The actual desktop client runs as a local system background server and does not have rights to interact with the user's desktop session (i.e. sending it notifications). So, this PR adds an additional application called Lanpartyseating.Desktop.Tray which starts on login and displays a simple tray icon with a tooltip showing how much time is left.

This tray app communicates with the main application via a named pipe called \\.\pipe\Lanpartyseating.Desktop. The service starts a server on this pipe and the tray app is the client. The two communicated over this pipe using a very simple JSON-based protocol.

On login, the tray will display a Task Dialog informing the user that the session will last x minutes from the point their badge was scanned at the entrance. It also informs them the exact time they will be logged out at. This dialog is persistent until dismissed with an "Ok" button so that it stays visible until the gamer is in front of the computer. This is necessary because the session will be signed in immediately after a user scans their badge. It will take a few minutes for the gamer to make their way from the entrance to the pc, where they will immediately be faced with the dialog.

Over time, non-intrusive "Toast" notifications that do not steal focus will be sent to the gamer to remind them at 10 minute and 2 minute countdown intervals that their session is ending soon. They will also be sent toasts if their reservation time is extended from the seating management page in the web app.

@starcraft66 starcraft66 marked this pull request as ready for review January 30, 2024 03:47
@starcraft66 starcraft66 merged commit 5cf5c68 into main Jan 30, 2024
2 checks passed
@starcraft66 starcraft66 deleted the feature/tgh/tray-notifications branch January 30, 2024 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant