Back to plugins
Steam Overlay (Hyprland)

Steam Overlay (Hyprland)

Steam overlay with automatic window management for Hyprland. Automatically moves all Steam windows (except fullscreen games) to overlay workspace as floating windows. Main 3 windows (Friends, Client, Chat) are positioned in a row. Additional windows are brought to top. If new windows don't appear on top, toggle overlay off/on (Super+S twice). Fully responsive with percentage-based layout. Requires Hyprland window manager.

v2.1.2 blacku MIT Mar 29, 2026

About

Steam Overlay for Noctalia

Steam overlay plugin for Noctalia/Quickshell with automatic window management using Hyprland special workspace.

Features

  • šŸŽ® Automatic Steam window detection and positioning
  • šŸ–„ļø Multi-monitor support with automatic resolution detection
  • šŸ“ Responsive layout: 10% / 60% / 25% split (Friends / Main / Chat)
  • šŸŽÆ Centered overlay with 95% screen height
  • šŸ”” Chat notifications indicator
  • āŒØļø Keyboard shortcut support via IPC
  • šŸŽØ Bar widget with Steam status indicator

Installation

  1. Copy the plugin to your Noctalia plugins directory:
cp -r steam-overlay ~/.config/noctalia/plugins/
  1. Restart Quickshell:
pkill -f "qs.*noctalia" && qs -c noctalia-shell &

Usage

Via Bar Widget

Click the gamepad icon in your top bar to toggle the Steam overlay.

Via Keyboard Shortcut

Add to your Hyprland config (~/.config/hypr/hyprland.conf):

bind = SUPER, G, exec, qs -c noctalia-shell ipc call plugin:steam-overlay toggle

Via IPC Command

qs -c noctalia-shell ipc call plugin:steam-overlay toggle

How It Works

  1. Detection: Automatically detects Steam windows by class and title
  2. Workspace: Moves all Steam windows to Hyprland special workspace special:steam
  3. Positioning: Arranges windows in a centered layout:
    • Friends List: 10% width (left)
    • Main Steam: 60% width (center)
    • Chat: 25% width (right)
  4. Toggle: Shows/hides the special workspace as an overlay

Layout

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  [Friends]   [   Main Steam   ]  [Chat] │ 95% height
│    10%              60%            25%   │ Centered
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

Configuration

Default settings in settings.json:

{
  "autoLaunchSteam": true,
  "hasNewMessages": false
}

Requirements

  • Noctalia/Quickshell 3.6.0+
  • Hyprland compositor
  • Steam
  • jq for JSON parsing
  • hyprctl for window management

Files

  • Main.qml - Core plugin logic
  • BarWidget.qml - Top bar widget with icon
  • Panel.qml - Overlay panel (optional)
  • manifest.json - Plugin metadata
  • settings.json - Plugin settings

Author

Created with ā¤ļø using Claude Code

License

MIT