github timmo001/system-bridge 5.22.0

latest release: 5.22.1
2 hours ago

Covers the rest of what agents use hyprctl for on Hyprland, gives every MCP tool a typed result so Code Mode clients can chain them in a script, and fills in CPU, Intel GPU and system power on Linux.

Hyprland

  • Read any config option with HYPRLAND_GET_OPTION: its type, its value, and whether the config sets it. Names take dots or colons, such as general.col.active_border or general:layout (#4510)
  • Let HYPRLAND_SET_OPTION set any option by its type, including floats, text, vec2, css and gradients, on Lua and classic configs. The options in hyprland.options still only take a number of 0 or more (#4510)
  • Read and move the cursor with HYPRLAND_GET_CURSOR_POSITION and HYPRLAND_MOVE_CURSOR, read the end of Hyprland's log with HYPRLAND_GET_LOG, and send custom events with HYPRLAND_SEND_EVENT (#4510)
  • Run a command, any dispatch or a line of Lua with HYPRLAND_EXEC, HYPRLAND_DISPATCH_RAW and HYPRLAND_EVAL. These can do anything you can, so they only run with the new desktop.hyprlandCode setting on, which is off by default. See running code (#4510)

MCP

  • Return typed structured output from every tool, with an output schema, alongside the same JSON as text. Actions return { "success": true, "message": "..." }, and system_bridge_list_commands and system_bridge_list_command_prefabs now wrap their lists as commands and prefabs
  • Clients with a Code Mode, such as OpenCode, type each tool from those schemas, so an agent can read data and act on it in one script rather than one tool call at a time. See results and Code Mode
  • Add system_bridge_hyprland_get_option, system_bridge_hyprland_get_cursor_position, system_bridge_hyprland_move_cursor, system_bridge_hyprland_get_log, system_bridge_hyprland_send_event, system_bridge_hyprland_exec, system_bridge_hyprland_dispatch_raw and system_bridge_hyprland_eval, and let system_bridge_hyprland_set_option take any option (#4510)

Linux

  • Ship a udev rule, 60-system-bridge-rapl.rules, in the Arch, .deb and .rpm packages, which makes the RAPL energy counters readable, so CPU power is no longer empty without root (#4503). It has a trade-off; see power readings on Linux to opt out or add it yourself with mise, the archive or Flatpak
  • Count each RAPL package once, so CPU power isn't doubled where intel-rapl and intel-rapl-mmio both report it (#4503)
  • Read integrated Intel GPU power from RAPL (#4502)
  • Fall back to RAPL's platform zone, then to the battery's drain while unplugged, for system power on laptops and machines without a Corsair PSU (#4504)

CLI

  • Add hyprland option to print any option as well as set it, hyprland cursor, log, event, exec, raw and eval (#4510)

Web client

  • Add a Tools card to the Hyprland section, to read and set options, read and move the cursor, read the log, send events and run code (#4510)
  • Add a switch for Hyprland code on the Desktop settings page (#4510)

Connector

  • Add the new Hyprland actions and replies, and the hyprlandCode setting, to the Python and TypeScript connectors (#4510)

Docs

  • Document the new Hyprland actions, options, the RAPL udev rule, and MCP structured results and Code Mode

Moved

  • system_bridge_list_commands and system_bridge_list_command_prefabs return an object, with the list as commands or prefabs, rather than a bare list

Maintenance

  • Attest the Home Assistant dashboard on its releases, and publish its files from dev when mirroring a release by hand

Full Changelog: 5.21.1...5.22.0

Don't miss a new system-bridge release

NewReleases is sending notifications on new releases.