Skip to content

Add Better Friends Chat - #267

Open
Shellarena wants to merge 1 commit into
SteamClientHomebrew:mainfrom
Shellarena:add-better-friends-chat
Open

Shellarena wants to merge 1 commit into
SteamClientHomebrew:mainfrom
Shellarena:add-better-friends-chat

Conversation

@Shellarena

@Shellarena Shellarena commented Oct 9, 2026 •

Copy link
Copy Markdown

Better Friends Chat

Adds more settings to Steam's Friends & Chat (desktop client). Every feature can be switched on and off in Millennium → Plugins → Better Friends Chat:

  • Friends & Chat as a flyout: the friends list opens inside the Steam window, above the "Friends & Chat" button, instead of in a separate window. It stays on top of every page, including store and community pages. Clicking the button again, pressing Esc or clicking elsewhere closes it. Docked chats open to the left of the list. Width, chat width and height are adjustable.
  • New-message dot on the "Friends & Chat" button: a small yellow dot shows unread chat messages. Clicking the button then opens the chat with the newest message. Also works without the flyout.
  • Sort offline friends by last online: the "Offline" group starts sorted by last online instead of alphabetically. Steam's sort button still switches back.
  • Docked chat area only when a conversation is open: with "Dock chats to the friends list" enabled, the window/flyout stays as narrow as the list and only grows when a chat is opened.
  • Open-chats arrow only with three or more chats: the arrow next to the chat tabs only appears when more than two chats are open.

How it differs from existing plugins: the only other friends-related plugin in the database, recent-chats, adds a "Chats" tab that lists recent conversations. Better Friends Chat adds no list. It changes where and how Steam's own friends window is shown (flyout, sizing, sort order, unread indicator). The two do not overlap.

Repository: https://github.com/Shellarena/better-friends-chat
Version: 1.0.0

The plugin makes no network requests. The Lua backend only provides Millennium patches for Steam's friends UI bundle (backend/patches.lua) and an optional local debug log (off by default).

AI assistance:

<screenshots: drag images into the GitHub editor>

Task Checklist

Developer

  • My plugin complies with the plugin submission guidelines
  • I am the original author or an authorized maintainer of this plugin.
  • I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
  • My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.
  • Generative AI was used for most of the plugin's code.

Plugin Functionality

  • I have tested the plugin on both the Stable and Beta Steam update channels.
  • My plugin is unique, or provides additional or alternative functionality to plugins already on the store.

Backend Configuration

  • I use a standard Millennium Lua backend in my plugin.
  • I use custom binaries that or rely on other FOSS projects that aren't written directly using Millennium's Lua backend.

Community Contribution

  • I have tested and left feedback on two other plugin pull requests.
  • I have added links to those feedback comments in this PR.

Testing Instructions

  1. Clone the repository into the Millennium plugins folder and run npm install && npm run build.
  2. Enable Better Friends Chat under Millennium → Plugins and restart Steam.
  3. Enable the flyout in the plugin settings, then click the "Friends & Chat" button in the bottom bar. The friends list should open above the button inside the Steam window. Open a store page: the flyout should stay on top. Esc or a click outside closes it.
  4. Enable "Dock chats to the friends list" in Steam's friends settings plus the plugin's docked-chat option. The flyout should be as narrow as the list, grow to the left when a chat opens, and shrink back when the last chat closes.
  5. Have a friend send a message. A yellow dot should appear on the button, and clicking it should open that chat.
  6. The "Offline" group should be sorted by last online.
  7. With one or two chats open, no arrow should appear next to the chat tabs. With three, it should.
  • Verified by a third party on Steam Client Stable.
  • Verified by a third party on Steam Client Beta.

@ricewind012

Copy link
Copy Markdown
Collaborator

you forgot to fill in the template

@Shellarena

Copy link
Copy Markdown
Author

Thanks, filled in the template

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants