Skip to content

    10. Desktop-Only Features

    This chapter covers the features and settings that only HakoSpace Desktop has. Some of these features need support from the server you’re connected to. If the server runs an older version, these features may not appear or may not work; in that case, ask the server’s owner or an admin to update the server.

    The far left of the HakoSpace Desktop window has a multi-server sidebar. You can connect to several different HakoSpace Servers at the same time and switch between them with a single click on their icons in the sidebar, without opening multiple app windows or browser tabs.

    By default, when you close the app’s main window, HakoSpace Desktop will Minimize to system tray and keep running in the background. You still receive notifications even when the main window isn’t visible. Click the icon at the bottom right of the taskbar to bring the main window back at any time. If you want closing the window to quit the program, change Desktop App Settings → Behavior → Close Button Behavior to Quit application.

    Right-click the system tray icon to open a menu with these items:

    • Show: Brings the main window back.
    • Desktop App Settings: Opens the settings for HakoSpace Desktop (see §7.9).
    • Open Diagnostics Folder: Opens the folder where HakoSpace Desktop stores its diagnostic logs. When you report a problem, attaching the hako-diag.log file from this folder helps a great deal in figuring out what happened.
    • Restart to apply update: Appears only when a new version has been downloaded in the background and is waiting for you to apply it. At that point, hovering over the system tray icon also shows a tooltip saying the update is ready. Click it, and HakoSpace closes, installs the new version, and reopens on its own. If you’re in a voice channel or a DM call, it waits until the call ends to restart (see §10.8).
    • Quit: Quits HakoSpace Desktop completely.

    In Desktop App Settings → Shortcuts (to open it, see §7.9), you can bind a shortcut to each of the following six actions. None of them is bound by default:

    • Accept Call, Reject Call: Accept or reject an incoming DM call while it’s ringing (see §4.3).
    • Toggle Deafen, Toggle Mute: Work the same as the Deafen and Mute Microphone buttons in the call controls (see §3.2), respectively.
    • Toggle Input Mode: While your microphone isn’t muted, switches between Voice Activity and Push to Talk (see §10.4).
    • Push to Talk Key: When Voice Input Mode is Push to Talk, your voice is sent only while you hold down this key (see §10.4).

    The four actions other than accepting and rejecting calls work only while you’re in a voice channel or a DM call. When you’re connected to several servers at once (see §10.1), the shortcuts act on the server where you’re in voice or where a call is ringing, without your having to switch to it first.

    Binding and clearing: Each action has its own row. The button to the right of the row name shows the key combination currently bound to it, or Not Set if nothing is bound yet.

    1. Click the row’s button. The button changes to Press shortcut….
    2. Press the key combination you want, for example hold Alt and press M. The button now shows Alt+M, and the setting is saved right away.

    While the button shows Press shortcut…, press Esc or click the button again to cancel. Press Backspace or Delete to clear that row’s binding. A row with a binding also has an X icon next to its button (tooltip: Clear this shortcut); click it to clear the binding too.

    In the following two cases, the key combination you press isn’t saved. An explanation appears below the row, and the button stays at Press shortcut…, so you can press a different combination right away.

    • Enter, Tab, Space, or an arrow key on its own: You can bind it only in combination with one of Ctrl / Alt / Shift / Super.
    • A key combination already assigned to another action: The explanation says which action has it. Clear that row first, or use a different key.

    Using shortcuts in the background: When a key combination includes a modifier key such as Ctrl / Alt / Shift / Super (the Windows key), it works whether HakoSpace is in the foreground or the background. The foreground means you’re working in the HakoSpace window; the background means the HakoSpace window isn’t in the foreground, for example while you’re using another app. Games and other apps still receive the same key combination as usual; it isn’t intercepted. After you bind it, the row shows its current status below, for example:

    “Works focused and in the background. Listens passively at the system level: Alt+M still reaches other apps normally and is never intercepted.”

    You can also bind a single key with no modifier, but it works only while HakoSpace is in the foreground, and it also affects your typing in HakoSpace. The row then shows an explanation that starts with a warning sign, describes the effect, and suggests binding a key combination instead.

    On Linux with a Wayland desktop environment, and in other cases where background use isn’t possible, shortcuts work only while HakoSpace is in the foreground. The row shows an explanation that starts with a warning sign.

    When you press a bound key in HakoSpace, it triggers the action you bound instead, and the key’s usual function (for example, copying with Ctrl + C) doesn’t happen. The Push to Talk Key is the exception: while you hold it, the key’s usual function may still happen.

    When you choose key combinations, it’s a good idea to avoid keys that your games, other apps, or HakoSpace already use, as well as the game HUD’s HUD shortcut. The HUD shortcut is set separately in Desktop App Settings → HUD, and when you press it, the HUD receives it (see §10.11).

    10.4 Push to Talk (PTT) and Voice Activity

    Section titled “10.4 Push to Talk (PTT) and Voice Activity”

    Voice input has two modes:

    • Voice Activity: Your voice is sent automatically when sound is detected. HakoSpace Web always uses this mode.
    • Push to Talk: Your voice is sent only while you hold down a designated key.

    To use Push to Talk in HakoSpace Desktop, you set it up in two places:

    1. In Desktop App Settings → Behavior → Voice Input Mode, choose Push to Talk.
    2. In Desktop App Settings → Shortcuts, on the Push to Talk Key row, bind the key you’ll hold down (for how to bind, see §10.3).

    In a voice channel, you can also right-click the microphone button in the call controls (see §3.2) and choose Voice Activity or Push to Talk from the small menu that pops up. If you’ve bound the Toggle Input Mode shortcut, pressing it while you’re in voice and your microphone isn’t muted switches between the two modes (see §10.3). All of these change the same Voice Input Mode setting, and switching while you’re in voice takes effect immediately.

    Push to Talk suits noisy environments (keyboard noise, mechanical fans, and so on), because it keeps sounds you don’t want others to hear from being sent by accident.

    Beyond the browser’s built-in screen sharing, screen sharing in HakoSpace Desktop offers two extra capabilities:

    • It can capture an app’s audio: When you share, you can send that app’s sound along with it (for example, sending the game’s sound effects to other members when you share a game).
    • The frame rate doesn’t drop when the window is in the background: When you switch to another app or minimize the HakoSpace window, the operating system or browser doesn’t throttle the frame rate, and the shared stream stays stable.

    HakoSpace chooses the capture engine automatically, so you don’t need to set it: When this computer’s graphics card supports hardware H.264 encoding, HakoSpace uses the native HakoCap engine; otherwise, it uses the built-in Chromium engine. Desktop App Settings → Behavior → Screen Share Engine shows what was detected on this computer: HakoCap Ready! or Chromium. That’s a read-only status display, not an option you can switch. If hardware encoding is unavailable at the moment, a one-time notice appears in a corner of the screen, “Hardware screen encoding unavailable — switched to Chromium screen sharing.”, and the share itself continues.

    After you start sharing, Share Screen in the Visual Source menu changes to Stop Sharing and shows that you’re sharing, the same as described in §3.4.

    Pop-out windows for watching: In HakoSpace Desktop, the windows you open with Pop Out or Pop out stage (see §3.4) have no title bar. Use them like this:

    • Moving the window: For a pop-out window showing a single share, press and hold anywhere on the picture and drag to move it, except around the Close button in the top-right corner and the control bar at the bottom. For a pop-out window showing the whole stage, press and hold any part of the top toolbar other than its buttons, and drag.
    • Pressing Esc: When a pop-out window is in the foreground, pressing Esc exits full screen if the window is in full screen. If it isn’t in full screen, Esc closes the window: a single share goes back to the stage, and the whole stage goes back to the main window.

    In HakoSpace Desktop, you can decide where a link in a message opens when you click it:

    • Open in external browser: Hands the link to your system’s default browser.
    • Open embedded in app: Shows the page as a web tab in the tab bar above the message area, without leaving HakoSpace.

    The setting is in Desktop App Settings → Behavior → Link Open Mode.

    You can zoom in or out on web pages opened with Open embedded in app; for how, see §10.9.

    Remembering window position and size: When you close HakoSpace Desktop and open it again, the main window returns to the position and size where you last left it, and a maximized state is remembered too. After the first installation, it opens centered at a default size. If the last position is on a screen that isn’t currently connected (you switched screens, changed the resolution, or unplugged an external monitor), HakoSpace pulls the window back into the area you can currently see. On Linux with a Wayland desktop environment, only the size is remembered; the system decides the position.

    How it starts: Desktop App Settings → Behavior has two independent switches.

    • Start on login: Opens HakoSpace automatically when you sign in to this computer.
    • Start minimized: Starts in the system tray without opening a window. This also applies when you start it yourself by clicking its icon; click the system tray icon to bring up the window. Until the first time you successfully bring the window back, every start like this sends a system notification, “HakoSpace is running in the background — look for it in the system tray.” Clicking that notification also brings up the window directly.

    These two switches have different conditions on different platforms, and the settings page explains the situation on this computer directly. For example, neither applies to the portable version; on Linux, you must first confirm I can see the HakoSpace icon in my system tray before you can turn on Start minimized; or Windows’ “Task Manager → Startup apps” has disabled this entry (HakoSpace doesn’t override the decision made there).

    HakoSpace Desktop updates are all on the Desktop App Settings → Update tab (to open Desktop App Settings, see §7.9). At the top of the tab is the Desktop App Update section, and below it are two switches: Automatic Updates and Receive Pre-release Updates.

    The Desktop App Update section lists Local Version, Protocol, and Build Fingerprint (a code that identifies this particular build of the program). After you’ve updated with HakoSpace’s update feature, an extra Last Update Applied row appears. It shows which version you updated from and to, and when the update was applied. If the version number is the same before and after the update (the same version was released again), this row shows the version number plus the build fingerprint instead.

    HakoSpace’s ability to download and install updates by itself applies to the installed Windows version, that is, the version you installed with the Installer from the website’s download page. For how to update the portable version (Portable on the website’s download page) and the Linux version, see the “Portable and Linux versions” paragraph later in this section.

    On the installed Windows version, Automatic Updates is on by default. While it’s on, HakoSpace handles updates at two points: at startup, and while it’s running.

    At startup: Before the main window appears, a startup screen appears in the center of the screen (except when Start minimized is on; see below). It shows the word HakoSpace at the top, text describing the update progress in the middle, and the current version number at the bottom.

    • It first shows “Checking for updates…”. If there’s no new version, it shows “You are up to date”, and then the main window appears.
    • If there’s a new version, it shows, in order, “Update v{version} found” → “Downloading update v{version} ({percent}%)” (a progress bar appears below it) → “Update ready — restarting to install…”. The startup screen then disappears, HakoSpace installs the new version in the background, and it reopens on its own when it’s done.
    • If it can’t check, for example because it can’t connect to the network, it shows “Could not check for updates — starting anyway”. If something else goes wrong during the update, it shows “Update failed — starting anyway”. In both cases, the main window opens as usual.
    • If automatic installation of the same version fails several times, it shows “Auto-install failed repeatedly — update manually in Settings”. You can then go to Desktop App Settings → Update and click Update now to update manually.

    When the update is complete and HakoSpace reopens, the startup screen first shows “Updated to v{version}”, checks once more, and then opens the main window.

    When there’s an update at startup, system notifications also report the progress, in addition to the startup screen. When Start minimized is on and HakoSpace starts in the system tray without opening a window (see §10.7), the startup screen doesn’t appear: the update still goes ahead, and only system notifications report it.

    The startup screen and the update system notifications use the interface language you last used in HakoSpace (see §7.8).

    While running: While HakoSpace is open (including when it’s minimized to the system tray), it regularly checks for and pre-downloads new versions in the background, but it doesn’t restart on its own. While it checks and downloads, the bottom-right corner of the main window shows the current status, for example Checking… or Downloading…. Once the download is done:

    • A system notification appears. It says that the update is ready and will apply the next time HakoSpace starts, and that you can also restart right away from the system tray menu.
    • The system tray’s right-click menu gains a Restart to apply update item (see §10.2).
    • In addition to information about the new version, Desktop App Settings → Update shows “Update ready — restart to apply” and the description “The new version was downloaded in the background and will apply the next time HakoSpace starts — or restart now to finish the update right away.” Below them are two buttons, Restart to apply update and Check for Update. Click Check for Update to see whether an even newer version has been released in the meantime.

    To apply it, click Restart to apply update in the system tray menu or on the settings page. HakoSpace closes, installs the new version, and reopens on its own. You can also wait until the next startup: if the check at startup still finds this version, HakoSpace installs it directly without downloading it again; if a newer version is out by then, it downloads and installs that version instead.

    If you turn off Automatic Updates while a downloaded version is waiting for you to apply it, the downloaded version is discarded, and Restart to apply update disappears from the system tray menu. On the settings page, “Update ready — restart to apply”, together with its description and the two buttons, is replaced by an Update now button. To update, click Update now to download it again.

    During calls: While you’re in a voice channel or a DM call, HakoSpace doesn’t start background downloads and doesn’t restart to apply an update. If you click Restart to apply update or Update now at that time, it waits until the call ends to restart. Meanwhile, the settings page shows “Update ready — will restart after your call”, and a system notification also tells you.

    Checking and updating manually: On the installed Windows version, you can update manually whether Automatic Updates is on or off. It takes two steps:

    1. Click Check for Update. HakoSpace only asks whether there’s a new version. If there isn’t, it shows Up to date and the time of the last check. If there is, it shows “New version available!” and lists Latest Version and Published; you can expand Release Notes, and an Update now button appears.
    2. The download starts only when you click Update now; the screen shows Downloading… and the progress. When the download is complete, HakoSpace closes, installs the new version, and reopens on its own. When it reopens, the startup screen again appears first and shows “Updated to v{version}”.

    Pre-releases: After you turn on Receive Pre-release Updates, both automatic and manual checks include pre-releases and offer the one with the highest version number. When it’s off, only the latest stable release is offered. While it’s on, a reminder appears below it: “⚠ Pre-release versions may contain unfinished features or known issues. Recommended for testing only.”

    • When you change this switch, any update that was already found, or already downloaded in the background and waiting for you to apply it, is withdrawn. The settings page goes back to showing only the Check for Update button, so check again.
    • After you install a pre-release from the website’s download page, turn on Receive Pre-release Updates here to keep receiving later pre-releases.
    • To switch from a pre-release back to a stable release: Turn off this switch and click Check for Update. What’s listed now is the latest stable release, and its version number may be older than the pre-release you have now. Then click Update now (on the portable and Linux versions, click Download from GitHub instead; see the “Portable and Linux versions” paragraph at the end of this section). If you only turn off the switch, automatic updates won’t move you back to a stable release with an older version number.

    Update source: When HakoSpace Desktop checks for and downloads updates, it connects to HakoSpace’s software distribution source, dl.hakospace.com. When that source is unavailable, it connects to GitHub instead. A downloaded installer is automatically verified first, and it’s installed only after it’s confirmed to match the file HakoSpace published. For how the data from these connections is handled, see the Privacy Policy (to open it, see §7.10).

    Portable and Linux versions: The Automatic Updates switch stays off and can’t be changed, and below it you see “Automatic updates aren’t available for this build (portable / unsupported platform) — download new versions manually.” To update, click Check for Update. If there’s a new version, it shows “Automatic install isn’t available for this build — download the new version manually.” and a Download from GitHub button. Click it to open the HakoSpace releases page on GitHub in your system’s default browser, and download the new version from there.

    If an update doesn’t go as expected, attach the diagnostic log hako-diag.log when you report the problem (to open it, see §10.2).

    Display Scale is at the top of Desktop App Settings → Behavior (see §7.9 for how to open Desktop App Settings). It enlarges or shrinks the server view, which is the whole area to the right of the multi-server sidebar that shows the server’s content. It is the equivalent of browser page zoom in HakoSpace Web. Display Scale has two settings:

    • Drop-down menu: Choose 50%, 67%, 75%, 80%, 90%, 100%, 110%, 125%, 150%, 175%, or 200%. The default is 100%. Your choice applies immediately, and you don’t need to save it separately.
    • Zoom with Ctrl + mouse wheel (a checkbox, checked by default): When it’s checked, hold Ctrl and scroll the mouse wheel over the server view to zoom in or out directly.

    Keyboard zoom: In the server view, press Ctrl + = to zoom in, Ctrl + - to zoom out, and Ctrl + 0 to return to 100%. These three key combinations aren’t affected by Zoom with Ctrl + mouse wheel. If you bind an action (including Push to Talk Key) to one of them in Desktop App Settings → Shortcuts (for example, Ctrl + 0), pressing that combination triggers the action you bound instead.

    Step by step: When you zoom with Ctrl + =, Ctrl + -, or Ctrl + mouse wheel, the scale moves one step at a time through the options in the drop-down menu, and it stops at 200% or 50%.

    Zoom indicator: After you log in to a server, when you zoom with the keys or the mouse wheel, the current scale briefly appears in the bottom-right corner of the main window, for example Display scale 125%.

    Where it applies: All servers share the same scale, and it carries over when you switch servers, add a server, or restart HakoSpace Desktop. These keep their original size: the title bar at the very top of the window, which shows Community Edition and the window buttons; the multi-server sidebar; and the Desktop App Settings screen.

    Embedded web pages: On a web page opened with Open embedded in app (see §10.6), holding Ctrl and scrolling the mouse wheel over the page, or clicking the page and then pressing Ctrl + =, Ctrl + -, or Ctrl + 0, zooms that web page. While the page is zoomed in or out, the bar above it that shows the page’s address displays the current percentage (for example, 110%). Click it to return to 100%.

    HakoSpace Desktop for Windows has a High-load viewer boost switch at the bottom of Desktop App Settings → Behavior. It’s off by default (see §7.9 for how to open Desktop App Settings). This setting is meant for playing a game while you watch another member’s screen share in a voice channel: when the game puts your graphics card under high load, it reduces stutter in the share you see.

    When it applies: With the switch on, HakoSpace applies the boost whenever you’re watching another member’s screen share in a voice channel. The boost is released when you’re no longer watching any share, when you leave the voice channel, or when you turn the switch off. Changes to the switch take effect immediately, and you don’t need to rejoin the voice channel. As for administrator rights, the description on the settings page says that most systems can apply the boost directly, and that if the system requires administrator rights, a UAC prompt appears when it’s applied.

    Indicators while the boost is active: While the boost is applied, these indicators appear:

    • When the boost starts, a Viewer boost active notice briefly appears in the bottom-right corner of the main window and disappears on its own after a few seconds.
    • When the main window isn’t fullscreen, ⚡ Viewer boost active stays visible on the right side of the title bar at the very top of the window, to the left of the words Community Edition.
    • When the main window is fullscreen (for example, after you click the Fullscreen button on a tile on the stage; see §3.1), the title bar is hidden, and ⚡ Viewer boost active stays visible in the top-left corner of the screen instead.
    • Under High-load viewer boost in Desktop App Settings → Behavior, a green Boost active appears.

    These indicators appear only while the boost is applied. If you’re not watching a share yet when you turn the switch on, they appear once you start watching. They disappear when the boost is released.

    When the boost isn’t applied: A warning appears in the bottom-right corner of the main window. Its text depends on the reason:

    • “Viewer boost not enabled: administrator approval cancelled” (you declined the UAC prompt)
    • “Viewer boost not enabled: administrator rights missing”
    • “Viewer boost could not be applied”

    All three warnings have the note “The screen share still plays normally, just without the high-load boost.” below them.

    A matching line also appears under High-load viewer boost on the settings page, for example “Administrator approval was cancelled, so the boost was not applied; the share still plays normally.”

    The warning stays on screen, and you can click its X to close it. It also disappears when you’re no longer watching any share, when you leave the voice channel, or when you turn the switch off. To try again, turn High-load viewer boost off and back on in Desktop App Settings → Behavior.

    When the boost can’t be released right away: If the boost should be released but can’t be released immediately, Viewer boost active stays visible in the bottom-right corner of the main window, with the note “The boost is still active and could not be released yet; the system will retry shortly.” The same sentence also appears below Boost active on the settings page. Once the boost is released, this notice disappears.

    HakoSpace Desktop for Windows provides the Game HUD: when you play a game while you’re in a voice channel, it shows voice members and text chat over the game. Press the HUD shortcut in-game to open the HUD panel. In the panel, you can type to chat, adjust voice settings, watch other members’ shares, or share the current game directly.

    The game HUD is rendered by the Microsoft Edge WebView2 Runtime, so this computer needs that runtime installed. If it isn’t installed when you enable the HUD, Status on the settings page explains this and offers a download button (see Status below).

    1. Open Desktop App Settings (see §7.9 for how to open it), and switch to the HUD tab on the left.
    2. In the Game HUD section at the top, check Enable the game HUD. This option is unchecked by default.
    3. The first time you check it, the Before you turn on the game HUD dialog appears first. It explains what window information the HUD reads, how it receives keyboard input, what happens when you share your entire screen or record, and the WebView2 component the HUD uses (for its contents, see “First-Time Notice” below). The HUD is enabled only after you click I understand — turn on the HUD. If you click Cancel, it stays off.

    Changes on the HUD tab take effect immediately, and you don’t need to save them separately. These settings are stored on this computer, and the same settings apply whichever server you connect to. If a change can’t be saved, the Game HUD section shows “That change could not be saved. Nothing was changed.”

    The Before you turn on the game HUD dialog appears only the first time you enable the HUD. The four things it explains are summarized below. For the full text, see section 6, “Desktop Application”, of the Privacy Policy (see §7.10 for how to open it).

    • Window information it reads: To decide whether to show the HUD over a program and where to place it, to maintain your disabled list, and to identify the window to share when you click Share this game in the HUD panel (the shared content itself is handled as described in the Privacy Policy’s section on screen sharing), the desktop application reads the title, process identifier, executable path, window identifier, and on-screen position and size of the current foreground window, along with the display it’s on and that display’s scaling factor. The dialog states: “This information is processed only on your device; it is not transmitted to HakoSpace or to the server you are connected to.”
    • Keyboard input: “The game HUD itself does not listen to keyboard events at the system level; it only receives the shortcut you set for the HUD, through the operating system’s hotkey registration. While the HUD panel is open, the panel is the foreground window and receives your keyboard input, the same as when you switch to any other window. Some programs may detect key presses by reading keyboard state directly, which this software cannot control. The desktop application does not keep a record of your keystrokes and does not transmit keystroke data to any server; messages you deliberately send from the HUD input box are transmitted to the server you are connected to, the same as messages sent within the application.”
    • Recording: “When you share your entire screen or record with third-party software, everything the HUD shows — including other members’ messages — is captured.”
    • WebView2: The HUD is rendered by the Microsoft Edge WebView2 Runtime. Collection of this component’s diagnostic data is governed by Microsoft’s privacy statement and the Windows “Diagnostics & feedback” setting.

    Status in the Game HUD section shows the HUD’s current state in real time:

    • Off: The game HUD isn’t enabled yet.
    • Idle — starts when you join a voice channel: The HUD is enabled and waiting for you to join a voice channel.
    • Starting…: The HUD is starting.
    • HUD ready: The HUD is running but isn’t attached to any program right now. You see this status when you’re in a voice channel and working in a HakoSpace window (including Desktop App Settings).
    • Attached to: followed by a window title: The HUD is attached to that program (see “When the HUD Appears” below).

    When the HUD can’t work, this line states the reason and what to do, for example:

    • “The Microsoft Edge WebView2 Runtime is not installed, so the HUD cannot render.”: A Download the WebView2 Runtime button appears below it. Click it to open Microsoft’s WebView2 download page in your browser. After the installation finishes, come back to this page to check the status.
    • “The HUD failed to start several times in a row, so it will not be retried for this voice session. Leave and rejoin the voice channel to try again.”
    • “The local connection the HUD needs could not be opened. Restart HakoSpace to try again.”
    • “The HUD program is missing from this build. Reinstall the HakoSpace desktop app.”

    Once enabled, the HUD starts when you join a voice channel and closes 30 seconds after you leave the voice channel. The description on the settings page reads “Starts when you join a voice channel and closes 30 seconds after you leave.” If you’re already in a voice channel when you check Enable the game HUD, the HUD starts immediately.

    After it starts, the HUD “attaches” to the program you’re currently using, as long as that program is maximized or running in borderless fullscreen (usually your game). It appears over that program’s screen and moves with it. When you switch to another program, the HUD checks again: if the new program meets these conditions, the HUD attaches to it instead; if not, the HUD hides. The HUD doesn’t appear over HakoSpace’s own windows, the Windows desktop and taskbar, programs you’ve added to the disabled list, or the common desktop software on the built-in list (see “Disabled Games” below).

    Once attached, the HUD appears over the game only when it has something to show:

    • Voice normally lists only the people who are talking, plus members who joined or left a moment ago (marked + Joined and − Left).
    • Text chat, by default, appears when new messages come in, and each message disappears after a while.

    So when no one is talking, no one is joining or leaving, and there are no new messages, you usually don’t see the voice members or the text chat over the game. To keep them on screen, check Pin for the voice members, or change the text chat’s Visibility to Always show (see “Appearance and Other Settings” below).

    Startup hint: Each time you join a voice channel, the first time the HUD attaches to a given game, a two-line hint briefly appears at the top center of the screen: “HUD is on · Press Shift + ` to open the HUD panel” and “Don’t want it in this game? Press Shift + ` → Disable HUD for this game” (the hint shows the HUD shortcut you’ve set). If you don’t want to see this hint, uncheck Show the startup hint on the HUD tab.

    Press the HUD shortcut in-game (the default is Shift + `; to change it, see “HUD Shortcut” below) to open the HUD panel: the screen dims, and the content on the HUD expands into a form you can interact with. You can open the panel only while the HUD is attached to a program. For how the panel receives keyboard input while it’s open, see “First-Time Notice” above.

    To go back to the game, press the HUD shortcut again or press Esc. A hint appears at the top center of the panel, for example “Drag to move · Esc or Shift + ` to go back to the game”. If the HUD loses its connection to HakoSpace, this area also shows “Lost connection to HakoSpace — reconnecting…”.

    The panel contains:

    • Voice: Lists the other members in the voice channel. Each member has a volume slider next to them, which is the same setting as User Volume in the member menu (see §3.1). When the value isn’t 100%, Reset appears next to it; click it to return to 100%.
    • Your own control row (below the voice members): four buttons, Mute Microphone, Deafen, Disconnect, and Share this game, plus two sliders, Output Volume and Input Volume.
    • Screen Share: Appears below the control row when someone is sharing; see “Watching Shares and PiP Windows” below.
    • Text chat: The chat content, which you can scroll up through, with the input box at the bottom; see “Text Chat and the Input Box” below.
    • Disable HUD for this game, in the top-right corner; see “Disabled Games” below.

    The headers of the Voice and Text chat sections each have two opacity sliders, Background and Content. Voice also has Names and Pin, and Text chat also has a Content size slider and Pin (Pin on Text chat switches Visibility to Always show). Drag a header to move the whole section, and drag the bottom-right corner of Text chat to adjust its width and maximum height. These adjustments are the same settings as the corresponding ones in Desktop App Settings → HUD, and they persist.

    Text chat on the HUD is the text chat of the voice channel you’re in, the same as the text chat area in the voice call interface (see §3.1). How it appears in-game (while the HUD panel is closed) is set by Visibility under Text chat area in Desktop App Settings → HUD:

    • Hide automatically (default): Appears when new messages come in; each message disappears after a while.
    • Always show: Always shows the most recent few messages.
    • Off: Text chat isn’t shown.

    In-game, long messages and code blocks show only their beginning; the HUD panel shows them in full. When a message has several images, the HUD shows only the first one and indicates the rest with text such as +2 images. Other files show only their file names. Spoiler content appears only after you click it in the HUD panel. In the HUD panel, you can scroll up to see earlier messages, and Jump to latest appears when you scroll away from the bottom.

    Input box: When the HUD panel is open, the input box is at the bottom of the text chat, and you can start typing as soon as the panel opens. By default, the input box shows Message #{channelName}, with the hint “Enter to send · Shift+Enter for a new line” below it.

    • Press Enter to send. The panel stays open after you send, so you can keep typing. Press Shift + Enter for a new line. When you pick characters with an input method such as Zhuyin, the Enter and Esc you press are used only to pick characters; they don’t send the message or take you back to the game.
    • Messages you send appear in the text chat and, like messages sent from the HakoSpace window, are sent to the server you’re connected to.
    • If a message isn’t sent, or no confirmation of sending arrives, one of these appears above the input box: “No confirmation received — the message may have been sent” (check whether the message appears in the text chat before you decide whether to send it again), “You’re no longer in the voice channel”, or “Message not sent”. In these cases, what you typed stays in the input box.
    • When you close the HUD panel (for example, by going back to the game), unsent text and images in the input box aren’t kept.

    When Visibility is set to Off or Privacy mode is turned on, the text chat is hidden entirely, including in the HUD panel. The top of the panel shows “Text chat is off” or “Privacy mode: text chat is off”.

    Press Ctrl + V in the HUD panel’s input box to attach an image, such as a screenshot, to your message. For example, take a screenshot with a screenshot tool, paste it into the input box, type a few words, and then press Enter to send them together.

    • You can attach one image at a time. After you paste, a thumbnail and the file name appear above the input box. Until processing finishes, Preparing image… is shown, and pressing Enter doesn’t send. To remove the image, click the × next to the thumbnail (hovering over it shows Remove image).
    • With an image attached, you can press Enter to send even without typing anything.
    • Messages that may appear when you paste: “Only images can be attached here”, “One image at a time” (an image is already attached; the original one stays), “That image is too large and was not attached”, or “The image wasn’t attached” (the image isn’t attached in this case; you can paste it again).
    • Messages that may appear when you send: “The attachment is no longer available — paste it again” or “The image wasn’t attached”. If “The image wasn’t attached” appears when you send, the image stays above the input box, and pressing Enter again retries. The same message also appears when the server doesn’t accept the image (for example, when it exceeds the upload size the server allows). In that case, pressing Enter again still won’t send it; click × to remove the image, and paste a smaller one instead.
    • Don’t go back to the game before you send: when you close the HUD panel, an unsent image is discarded along with it.

    Once sent, it’s an ordinary message with an image attached. Like a message with an image sent from the HakoSpace window, it goes to the server you’re connected to. To send other types of files, go back to the HakoSpace window and use Attach file in the message input box (see §2.1).

    When someone is sharing, Screen Share appears at the bottom of the Voice section in the HUD panel, with one row per share. Each row shows the sharer’s name. Camera video is also labeled Camera, external streams pushed in from tools such as OBS are labeled External stream, and shares with sound are also labeled with audio.

    • Click Watch to play the share in a PiP window (an always-on-top picture-in-picture window). The button then changes to Stop watching; click it again to close the window.
    • Shares with sound (except your own) have a Volume slider, which adjusts how loud that share sounds to you.
    • The row for your own screen share shows only Your share.

    PiP windows appear in the bottom-right corner of the game screen; when several are open at once, they stack upward. You can drag a PiP window to move it. When you move the mouse over it, a control bar appears at the bottom; click the four-corner frame icon on the right (hovering over it shows Fullscreen) to switch fullscreen on or off. To close it, click the × icon in the top-right corner (hovering over it shows Close); this has the same effect as clicking Stop watching in the share row. A PiP window closes automatically when the share ends, when you leave the voice channel, or when the game HUD stops running.

    While a PiP window is open, the original tile on the stage in the HakoSpace window is replaced by a tile that reads Playing in a pop-out window. Click Bring back on that tile to close the PiP window; the video goes back to the stage and keeps playing.

    Picture-in-picture limit in Desktop App Settings → HUD sets how many PiP windows can be open at once. You can choose 1 to 4, and the default is 2. Shares you’re watching on the stage in the HakoSpace window also count toward this limit (a member sharing both a screen and a camera counts as two). When the limit is exceeded, “PiP limit reached (2)” (the number in parentheses is the limit you set) and “Stop watching one first, or raise the limit in desktop settings” appear below the share row. You can then click Stop watching in the HUD panel to close a PiP window, or click Stop watching on that share’s tile on the stage in the HakoSpace window (see §3.1).

    Click Share this game in the HUD panel’s control row, and HakoSpace directly shares the game window the HUD is currently attached to; at the same time, the panel closes and you go back to the game. Once sharing starts, Sharing briefly appears at the top of the screen, along with “Press Shift + ` to open the HUD panel and stop sharing” (it shows the HUD shortcut you’ve set). Other members see an ordinary screen share (see §3.4).

    If you open the HUD panel while you’re sharing, a red frame appears around the edge of the screen, the top of the panel shows Sharing (with a red dot in front of it) and a Stop Sharing button, and the button in the control row also changes to Stop Sharing. Click either Stop Sharing to stop sharing and go back to the game; Sharing stopped then appears at the top of the screen.

    If sharing doesn’t start, the reason appears at the top of the screen, for example “Something is already being shared”, “Can’t find the window for the current game”, or “Couldn’t start sharing. The HakoSpace window has the details.” If it shows “Didn’t get confirmation that sharing started”, it isn’t confirmed yet whether sharing has started. If it’s confirmed later, Sharing appears at the top of the screen again. You can also open the HUD panel and check for the red frame and Sharing with a red dot.

    To keep the HUD from appearing over a particular game or program:

    1. Open the HUD panel over that program, and click Disable HUD for this game in the top-right corner.
    2. The confirmation dialog, Disable HUD for this game?, shows the game’s window title. It explains that the game will be added to the disabled list and the HUD will hide right away, and that to undo this, you remove it under HUD → Disabled games in desktop settings.
    3. Click Disable: the panel closes, and the HUD hides from this program right away and won’t appear over it again. Click Cancel if you don’t want to add it. If the dialog shows “Couldn’t add it to the disabled list”, you can click Disable again.

    The Disabled games section in Desktop App Settings → HUD lists every disabled program. Each row shows the program’s file name on top and its full path below. Click the trash can icon on the right of a row (hovering over it shows Remove from the disabled list: {name}) to remove it immediately; after that, the HUD can appear over that program again. When the list is empty, it shows “Nothing is disabled.” The disabled list is stored in the desktop settings on this computer until you remove the entries.

    The same section also describes the HUD’s built-in list: “The HUD also stays off common desktop software by default — office suites, browsers, code editors, chat and meeting apps, video players, game-store launchers, remote desktop and the like. That list is built into the HUD and does not use up the disabled list below.” So not seeing the HUD over programs like these is the default behavior.

    The HUD shortcut section in Desktop App Settings → HUD reads: “Press this in-game to open the HUD panel; press it again, or Esc, to go back to the game.” The default is Shift + `. To change it:

    1. Click the button that shows the current key combination. The button changes to Press shortcut….
    2. Press the key combination you want, and the setting is saved right away. Pressing Esc at this point cancels instead.

    The combination must include one of Ctrl, Alt, Shift, or Win, or be a single F1–F24 function key. Otherwise, this message appears: “Combine it with Ctrl / Alt / Shift / Win, or use a function key (F1–F24). A bare key would be taken from the game everywhere, including while you play.”

    The HUD shortcut works only after the HUD has started (see “When the HUD Appears” above), and the HUD receives it when you press it. It’s set separately from the global shortcuts on the Desktop App Settings → Shortcuts tab (see §10.3).

    The remaining sections of Desktop App Settings → HUD adjust the HUD’s size, display, and appearance:

    • Overall content size: Size can be Small, Medium, or Large, and the default is Medium. It sets the size of the whole HUD, including the voice members, the text chat area, and the hints and buttons on the panel. The HUD also adjusts automatically to your screen resolution.
    • Voice widget: When Pin is checked, all members and their status are always shown in-game (unchecked by default). Show names sets whether member names are shown in-game (checked by default). Avatar size can be Large (default) or Small.
    • Text chat area: For Visibility, see “Text Chat and the Input Box” above. The three sliders, Content size, Width, and Maximum height, show their current values on the right. Content size applies only to the text chat area, and it scales the text chat area up or down further on top of Overall content size.
    • Opacity: Voice and Text chat each have two sliders, Background and Content, and both go from 0% to 100%. The section’s reminder reads “A widget with both its background and its content at 0% is not shown; turn either one back up and it reappears.”
    • Position: You set the positions of the two sections by dragging them in the HUD panel. Click Reset widget positions to return them to their default positions (voice members at the top left, text chat at the bottom left); other settings aren’t affected.
    • Privacy mode (unchecked by default): The description reads “Turns the text area off. When you share your entire screen or record with third-party software, everything the HUD shows — including other members’ messages — is captured.”
    • Picture-in-picture limit: See “Watching Shares and PiP Windows” above.
    • Show the startup hint (checked by default): See “When the HUD Appears” above.

    Some features of the game HUD require that the server you’re connected to also runs a new version (see the introduction to this chapter). If the server is running an older version, you may run into the following:

    • Voice members and text chat don’t appear over the game or in the HUD panel.
    • After you click Share this game, “Couldn’t start sharing. The HakoSpace window has the details.” appears.
    • When you paste an image into the input box, “The image wasn’t attached” appears.

    If you run into these, ask the server’s owner or an admin to update the server to the new version (see Admin Manual §11.5).