Skip to content

A Windows systray app that shows who is currently online

License

Notifications You must be signed in to change notification settings

wurstmineberg/systray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a Windows system tray app that shows who is currently online on Wurstmineberg.

For an equivalent macOS app, see bitbar-server-status.

Installation

  1. Press WindowsI to open the Settings app

  2. Navigate to System → About

  3. In the “Device specifications” section, check what the second half of the “System type” says, and download the appropriate file:

    If your system type is not listed here, or if you would like to manage updates of the app using cargo-update, follow the instructions for building from source.

  4. You can simply double-click the app to run it, no installation required. Nothing will happen if no one is online, but the icon will appear once there's someone in the main world.

  5. To automatically start the app when you sign in, press WinR, type shell:startup, and move the downloaded app into the folder that appears.

  6. To ensure that the icon is visible when someone's online and not hidden behind the “Show hidden icons” arrow:

    • On Windows 11: right-click on empty space in the taskbar, select “Taskbar settings”, click “Other system tray icons”, and enable the toggle for Wurstmineberg.
    • On Windows 10: right-click on that arrow, select “Taskbar settings”, click “Select which icons appear on the taskbar”, and enable the toggle for Wurstmineberg.

Usage

  • The icon only appears as long as someone is online on one of our worlds. You can hover over it to see how many people are online (and if it's only one player, their name).
  • You can left-click on the icon to start Minecraft. This supports portablemc, Prism Launcher, and the official Minecraft launcher.
    • For portablemc to be used, the .portablemc.login configuration entry must be specified.
    • For Prism Launcher to be used, it must be available on the PATH. If Prism Launcher is installed via Scoop, this should be the case by default.
    • The official Minecraft launcher is the fallback if the conditions for using neither portablemc nor Prism Launcher are met. Both the new Microsoft Store launcher and the old launcher are supported.
  • You can right-click on the icon to see the active worlds, their current versions (each with a link to the Minecraft wiki article about that version), as well as the full list of everyone who's online (with links to their Wurstmineberg profiles).
  • The app can be run from the command line with the launch subcommand to start Minecraft (same behavior as left-clicking on the system tray icon).

Configuration

You can optionally configure the behavior of the app by creating a JSON file at %APPDATA%\Wurstmineberg\config.json. All entries are optional:

  • leftClickLaunch: Whether to open Minecraft when the systray icon is clicked. Defaults to true.
  • ignoredPlayers: An array of Wurstmineberg IDs and/or Discord snowflakes of players who should not be listed. To ignore a player who has both a Wurstmineberg ID and a Discord snowflake, list the Discord snowflake.
  • prismInstance: When using Prism Launcher, directly navigate to the given instance ID's window instead of the launcher's main window. See also: What is an instance ID, and where do I find it?
  • showIfEmpty: If false, the plugin is hidden entirely if the main world is running but no players are online on any world. Defaults to false.
  • showIfOffline: If false, the plugin is hidden entirely if the main world is not running and no players are online on any world. Defaults to false.
  • versionMatch: An object mapping Minecraft launcher profile IDs to Wurstmineberg world names. Each launcher profile's selected Minecraft version will be kept in sync with the version running on that world.
  • ferium: Optional configuration for ferium:
    • profiles: An object mapping Wurstmineberg world names to ferium profile names. Each ferium profile's selected Minecraft version will be synced to the version running on that world on launch, and all mods will be updated.
    • versionOverride: A Minecraft version to use instead of syncing to the world's version.
    • githubToken: GitHub personal access token that will be passed to ferium.
  • portablemc: Optional configuration for portablemc:
    • login: Login email address. If this is specified, Minecraft will be launched using portablemc instead of trying Prism Launcher or the official Minecraft Launcher. Use python -m portablemc login to configure this before the first launch.

Building from source

If pre-built binaries are not available for your system, if you would like to manage updates of the app using cargo-update, or if you would like to run an unreleased version, follow these instructions:

  1. Download and install Visual Studio (the Community edition should work). On the “Workloads” screen of the installer, make sure “Desktop development with C++” is selected, and on the “Individual components” screen, select “VS 2022 C++ ARM64/ARM64EC build tools (Latest)” and “C++ Clang Compiler for Windows”. (Note that Visual Studio Code is not the same thing as Visual Studio. You need VS, not VS Code.)
  2. Add C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin to the PATH. For example, in PowerShell:
    $env:Path += ";C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin"
  3. Install Rust:
  4. Open a command line:
    • On Windows, right-click the start button, then click “Terminal”, “Windows PowerShell”, or “Command Prompt”.
    • On other platforms, look for an app named “Terminal” or similar.
  5. In the command line, run the following command. Depending on your computer, this may take a while.
    cargo install --git=https://github.com/wurstmineberg/systray --branch=main
  6. The exe will be available as .cargo\bin\systray-wurstmineberg-status.exe in your user folder. You can simply double-click the app to run it, no installation required. Nothing will happen if no one is online, but the icon will appear once there's someone in the main world.
  7. To automatically start the app when you sign in, press WinR, type shell:startup, and create a shortcut in the folder that appears.
  8. To ensure that the icon is visible when someone's online and not hidden behind the “Show hidden icons” arrow:
    • On Windows 11: right-click on empty space in the taskbar, select “Taskbar settings”, click “Other system tray icons”, and enable the toggle for Wurstmineberg.
    • On Windows 10: right-click on that arrow, select “Taskbar settings”, click “Select which icons appear on the taskbar”, and enable the toggle for Wurstmineberg.

Publishing a new version

  1. Increment the version field in Cargo.toml. (Try to loosely follow semantic versioning with respect to the installation and usage sections above.)
  2. Run cargo build --release --target=aarch64-pc-windows-msvc --target=x86_64-pc-windows-msvc --target=i686-pc-windows-msvc
  3. Commit and push the changes (this needs to be done after the cargo build step so the version in Cargo.lock gets updated)
  4. Create a new release with the tag and title matching the version, a summary of new features and notable bugfixes, and the following attachments:
    • target\aarch64-pc-windows-msvc\release\systray-wurstmineberg-status.exe as wurstmineberg-arm.exe
    • target\x86_64-pc-windows-msvc\release\systray-wurstmineberg-status.exe as wurstmineberg-x64.exe
    • target\i686-pc-windows-msvc\release\systray-wurstmineberg-status.exe as wurstmineberg-x86.exe