c6c062bc50fc179d26b386348e1a9f8d3f93c496
Replaces the single-select tag QComboBox with a TagsButton + TagsPopup mirroring the friends pattern: a combo-styled button labelled "Tags (N) ▾" opens a borderless popup containing a search input and a checkable list of tags. Selecting multiple tags AND-filters games — a game must carry every selected tag to survive — which makes it easy to narrow large libraries to specific intersections (e.g. Roguelike + Co-op). The search input is auto-focused on popup open and filters the list as the user types, with a status line showing "N of M tag(s)". Selection state survives search filtering and popup close/reopen. The popup style and button style are renamed from FRIENDS_*_STYLE to MULTISELECT_*_STYLE and reused by both FriendsPopup and TagsPopup; the popup objectName moves from "FriendsPopup" to "MultiSelectPopup". The TagsPopup adds a QLineEdit selector to the shared style. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…
Steam Dice
A small desktop app that picks a random game from your Steam library and lets you launch it directly. Stop staring at your backlog — let the dice decide.
Features
- Rolls a random game from your Steam library and displays its header art
- Installed / Not installed / All filter so you can limit rolls to games you can actually play right now
- Play button launches the selected game immediately via Steam
- Settings dialog for your API key and Steam ID, persisted across sessions
- Refresh button with a 60-second cooldown to avoid hammering the Steam API
- Clean Steam-themed dark UI built with PyQt6
- Wayland-native with X11 fallback
Requirements
Install dependencies with pip:
pip install PyQt6 requests
Or with your distro's package manager, e.g. on Void Linux:
xbps-install python3-PyQt6 python3-requests
Setup
1. Steam API Key
You need a free Steam Web API key to fetch your library.
- Go to steamcommunity.com/dev/apikey and log in.
- Enter any domain name (e.g.
localhost) and click Register. - Copy the 32-character key shown on the page.
2. Steam ID (64-bit)
Your Steam ID is the 17-digit number in your profile URL:
steamcommunity.com/profiles/76561198000000000
^^^^^^^^^^^^^^^^^
this is your ID
If you use a custom profile URL (e.g. steamcommunity.com/id/yourname), look up your numeric ID at steamid.io.
Usage
python steam_dice.py
On first launch the settings dialog will open automatically. Enter your API key and Steam ID, then click Save. Your library loads in the background.
Once loaded:
- Click the dice button to roll a random game
- Use the filter dropdown to restrict rolls to installed or uninstalled games
- Click Play to launch the rolled game via Steam
- Click the refresh button (⟳) to re-fetch your library (60s cooldown applies)
- Click the settings button (⚙) to update your credentials at any time
License
Steam Dice is free software released under the GNU General Public License v2.0.
Languages
Python
98.2%
Shell
1.8%
