Skip to content

Conversation

@ibetitsmike
Copy link
Contributor

Summary

Adds OS-native app-icon quick actions so users can right-click the macOS Dock icon, Windows taskbar icon, or Linux launcher/taskbar and quickly:

  • Open Mux
  • Start a New Agent
  • Quit

Background

This makes common entrypoints faster (especially for starting a new agent) without needing to open the full UI first.

Implementation

  • Added stable desktop-action flags:
    • --open
    • --new-agent
    • --quit
  • Main process (src/desktop/main.ts):
    • Parses the flags from process.argv and the second-instance commandLine.
    • Dispatches actions in the already-running instance (single-instance-safe).
    • Registers:
      • macOS Dock menu (app.dock.setMenu)
      • Windows JumpList tasks (app.setUserTasks, packaged builds only)
  • New main→renderer event (oRPC subscription) to trigger the existing workspace/agent creation flow:
    • menu.onStartNewAgent
  • Linux Desktop Actions via electron-builder config (build.linux.desktop) so the generated .desktop includes actions for:
    • Start New Agent (mux --new-agent)
    • Quit (mux --quit)

Validation

  • make static-check

Risks

  • Linux Exec=mux ... assumes the installed launcher command is mux (may differ for AppImage-style installs).
  • Windows JumpList tasks need verification on a packaged Windows build.

Generated with mux • Model: openai:gpt-5.2 • Thinking: xhigh • Cost: $12.04

Add Linux .desktop actions for launching a new agent window and quitting the app via CLI flags.\n\n---\n\n_Generated with `mux` • Model: `openai:gpt-5.2` • Thinking: `xhigh` • Cost: `/A`_\n\n<!-- mux-attribution: model=openai:gpt-5.2 thinking=xhigh costs=N/A -->
@github-actions github-actions bot added the enhancement New feature or functionality label Jan 30, 2026
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f2a6ef9c18

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ibetitsmike
Copy link
Contributor Author

@codex review

Addressed the cold-start race where Start New Agent could fire before projects finished loading by buffering the request until ProjectContext loading completes.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 747575dfa9

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ibetitsmike ibetitsmike force-pushed the mike/desktop-quick-actions branch from 747575d to 998ca8f Compare January 30, 2026 17:09
@ibetitsmike
Copy link
Contributor Author

@codex review

Updated Start New Agent menu handler to buffer whenever projectsLoading is true (even if a selected workspace provides a non-null projectPath), then flush once loading completes.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 998ca8febe

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Buffer menu-triggered Start New Agent events as a count while projects are still loading,
then drain them once projects are available.

Also route start-workspace-creation to createWorkspaceDraft so repeated invocations are
safe.

---

_Generated with `mux` • Model: `openai:gpt-5.2` • Thinking: `xhigh` • Cost: `$N/A`_

<!-- mux-attribution: model=openai:gpt-5.2 thinking=xhigh costs=N/A -->
@ibetitsmike
Copy link
Contributor Author

@codex review

Fixed: buffer menu-triggered Start New Agent events as a count while projects are loading, then drain once loading completes.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 753207b772

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@ibetitsmike
Copy link
Contributor Author

@codex review

Fixed workspace creation prefill loss when startWorkspaceCreation creates/reuses a draft:

  • createWorkspaceDraft now returns the chosen draftId
  • persistWorkspaceCreationPrefill can target a draft scope
  • useStartWorkspaceCreation persists startMessage into that draft scope
  • added unit coverage for the draft-scoped key

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9322dadbb2

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +95 to +96
const draftId = createWorkspaceDraft(resolvedProjectPath);
persistWorkspaceCreationPrefill(resolvedProjectPath, detail, { draftId });

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Skip Mux system project when starting new agent

When useStartWorkspaceCreation is invoked while the user is on the Chat with Mux workspace (or a desktop “Start New Agent” action uses the current selection), resolvedProjectPath can be the built‑in Mux system project because it exists in projects. This now creates a draft in that project, but the backend explicitly rejects workspace creation for that path (workspaceService.create returns “Cannot create workspaces in the Chat with Mux system project”), so the user lands in a draft flow that can never succeed and will error on create. Consider filtering out the system project or falling back to the first non‑system project before calling createWorkspaceDraft.

Useful? React with 👍 / 👎.

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

Labels

enhancement New feature or functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant