diff --git a/src/Moltbot.Shared/MoltbotGatewayClient.cs b/src/Moltbot.Shared/MoltbotGatewayClient.cs index 2e470e7..47b1bcb 100644 --- a/src/Moltbot.Shared/MoltbotGatewayClient.cs +++ b/src/Moltbot.Shared/MoltbotGatewayClient.cs @@ -202,7 +202,7 @@ public class MoltbotGatewayClient : IDisposable version = "1.0.0", platform = "windows", mode = "cli", - displayName = "Clawdbot Windows Tray" + displayName = "Moltbot Windows Tray" }, role = "operator", scopes = new[] { "operator.admin", "operator.approvals", "operator.pairing" }, @@ -211,7 +211,7 @@ public class MoltbotGatewayClient : IDisposable permissions = new { }, auth = new { token = _token }, locale = "en-US", - userAgent = "clawdbot-windows-tray/1.0.0" + userAgent = "moltbot-windows-tray/1.0.0" } }; await SendRawAsync(JsonSerializer.Serialize(msg)); @@ -811,7 +811,7 @@ public class MoltbotGatewayClient : IDisposable if (lower.Contains("build") || lower.Contains("ci ") || lower.Contains("deploy")) return ("🔨 Build", "build"); - return ("🤖 Clawdbot", "info"); + return ("🤖 Moltbot", "info"); } // --- Utility --- diff --git a/src/Moltbot.Tray/DeepLinkHandler.cs b/src/Moltbot.Tray/DeepLinkHandler.cs index 76c07c0..4e54f85 100644 --- a/src/Moltbot.Tray/DeepLinkHandler.cs +++ b/src/Moltbot.Tray/DeepLinkHandler.cs @@ -9,16 +9,16 @@ using System.Windows.Forms; namespace MoltbotTray; /// -/// Handles clawdbot:// URI scheme registration and processing. -/// Matches macOS deep link support (clawdbot://agent?message=...) +/// Handles moltbot:// URI scheme registration and processing. +/// Matches macOS deep link support (moltbot://agent?message=...) /// public static class DeepLinkHandler { private const string UriScheme = "Moltbot"; - private const string FriendlyName = "Clawdbot Agent Command"; + private const string FriendlyName = "Moltbot Agent Command"; /// - /// Registers the clawdbot:// URI scheme in the Windows registry. + /// Registers the moltbot:// URI scheme in the Windows registry. /// Requires elevation for HKCR, falls back to HKCU. /// public static void RegisterUriScheme() @@ -72,8 +72,8 @@ public static class DeepLinkHandler } /// - /// Processes a clawdbot:// deep link. - /// Supports: clawdbot://agent?message=...&sessionKey=...&channel=... + /// Processes a moltbot:// deep link. + /// Supports: moltbot://agent?message=...&sessionKey=...&channel=... /// public static async Task ProcessDeepLinkAsync(Uri uri, MoltbotGatewayClient client) { @@ -110,8 +110,8 @@ public static class DeepLinkHandler { var preview = message.Length > 100 ? message[..100] + "…" : message; var result = MessageBox.Show( - $"A deep link wants to send this message to Clawdbot:\n\n\"{preview}\"\n\nAllow?", - "Clawdbot Deep Link", + $"A deep link wants to send this message to Moltbot:\n\n\"{preview}\"\n\nAllow?", + "Moltbot Deep Link", MessageBoxButtons.YesNo, MessageBoxIcon.Question); diff --git a/src/Moltbot.Tray/GlobalHotkey.cs b/src/Moltbot.Tray/GlobalHotkey.cs index 7375411..ad2e5e7 100644 --- a/src/Moltbot.Tray/GlobalHotkey.cs +++ b/src/Moltbot.Tray/GlobalHotkey.cs @@ -6,7 +6,7 @@ namespace MoltbotTray; /// /// Registers a system-wide hotkey that works even when the app is not focused. -/// Default: Ctrl+Shift+Space to open Quick Send. +/// Default: Ctrl+Alt+Shift+C to open Quick Send. /// public class GlobalHotkey : IDisposable { @@ -17,9 +17,10 @@ public class GlobalHotkey : IDisposable private static extern bool UnregisterHotKey(IntPtr hWnd, int id); private const int HotkeyId = 9001; + private const uint MOD_ALT = 0x0001; private const uint MOD_CONTROL = 0x0002; private const uint MOD_SHIFT = 0x0004; - private const uint VK_SPACE = 0x20; + private const uint VK_C = 0x43; private readonly HotkeyWindow _window; private bool _registered; @@ -35,9 +36,9 @@ public class GlobalHotkey : IDisposable { try { - _registered = RegisterHotKey(_window.Handle, HotkeyId, MOD_CONTROL | MOD_SHIFT, VK_SPACE); + _registered = RegisterHotKey(_window.Handle, HotkeyId, MOD_CONTROL | MOD_ALT | MOD_SHIFT, VK_C); if (_registered) - Logger.Info("Global hotkey registered: Ctrl+Shift+Space"); + Logger.Info("Global hotkey registered: Ctrl+Alt+Shift+C"); else Logger.Warn("Failed to register global hotkey (may be in use by another app)"); return _registered; diff --git a/src/Moltbot.Tray/ISSUE_TEMPLATE/bug_report.md b/src/Moltbot.Tray/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index dadc328..0000000 --- a/src/Moltbot.Tray/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: bug -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**System Information:** -- Windows version: [e.g. Windows 10 21H2, Windows 11 22H2] -- .NET version (if known): [e.g. .NET 10.0.1] -- Clawdbot version: [e.g. 1.2.3] -- Gateway URL: [e.g. ws://localhost:18789 or remote] - -**Gateway Information:** -- Is Clawdbot gateway running? [Yes/No] -- Gateway location: [WSL2, remote server, etc.] -- Can you connect to gateway from browser? [Yes/No] -- Gateway logs (if available): [paste relevant logs] - -**Additional context** -Add any other context about the problem here. - -**Configuration** -- Auto-start enabled: [Yes/No] -- Notifications enabled: [Yes/No] -- First time setup: [Yes/No] -- Custom gateway URL: [Yes/No] \ No newline at end of file diff --git a/src/Moltbot.Tray/ISSUE_TEMPLATE/feature_request.md b/src/Moltbot.Tray/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 1b5557e..0000000 --- a/src/Moltbot.Tray/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: enhancement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Use case** -Describe how this feature would be used and who would benefit from it. - -**Implementation ideas** -If you have ideas about how this could be implemented, please share them. - -**Additional context** -Add any other context or screenshots about the feature request here. - -**Priority** -How important is this feature to you? -- [ ] Nice to have -- [ ] Would be very useful -- [ ] Critical for my workflow \ No newline at end of file diff --git a/src/Moltbot.Tray/QuickSendDialog.cs b/src/Moltbot.Tray/QuickSendDialog.cs index 7658bb5..efc8ae7 100644 --- a/src/Moltbot.Tray/QuickSendDialog.cs +++ b/src/Moltbot.Tray/QuickSendDialog.cs @@ -21,7 +21,7 @@ public partial class QuickSendDialog : Form private void InitializeComponent() { // Form properties - Text = "Quick Send — Clawdbot"; + Text = "Quick Send — Moltbot"; Size = new Size(500, 220); StartPosition = FormStartPosition.CenterScreen; FormBorderStyle = FormBorderStyle.FixedDialog; @@ -34,7 +34,7 @@ public partial class QuickSendDialog : Form // Label var label = new Label { - Text = "Send a message to Clawdbot:", + Text = "Send a message to Moltbot:", Location = new Point(12, 12), Size = new Size(460, 20), Font = new Font("Segoe UI", 9.5F, FontStyle.Regular) diff --git a/src/Moltbot.Tray/StatusDetailForm.cs b/src/Moltbot.Tray/StatusDetailForm.cs index 3887200..7a5c07a 100644 --- a/src/Moltbot.Tray/StatusDetailForm.cs +++ b/src/Moltbot.Tray/StatusDetailForm.cs @@ -44,7 +44,7 @@ public class StatusDetailForm : Form private void InitializeComponent() { - Text = "Clawdbot Status"; + Text = "Moltbot Status"; Size = new Size(520, 500); MinimumSize = new Size(400, 350); StartPosition = FormStartPosition.CenterScreen; diff --git a/src/Moltbot.Tray/TrayApplication.cs b/src/Moltbot.Tray/TrayApplication.cs index 4caa166..0c0f7cd 100644 --- a/src/Moltbot.Tray/TrayApplication.cs +++ b/src/Moltbot.Tray/TrayApplication.cs @@ -209,8 +209,8 @@ public class TrayApplication : ApplicationContext SafeDestroyIcon(oldIcon); var tooltip = _currentActivity?.Kind != ActivityKind.Idle && !string.IsNullOrEmpty(_currentActivity?.DisplayText) - ? $"Clawdbot — {_currentActivity.DisplayText}" - : $"Clawdbot — {status}"; + ? $"Moltbot — {_currentActivity.DisplayText}" + : $"Moltbot — {status}"; _notifyIcon.Text = tooltip.Length > 63 ? tooltip[..63] : tooltip; } diff --git a/src/Moltbot.Tray/WebChatForm.cs b/src/Moltbot.Tray/WebChatForm.cs index df1add5..3d438c2 100644 --- a/src/Moltbot.Tray/WebChatForm.cs +++ b/src/Moltbot.Tray/WebChatForm.cs @@ -9,7 +9,7 @@ using System.Windows.Forms; namespace MoltbotTray; /// -/// Embeds the Clawdbot WebChat UI via WebView2, matching the macOS native chat panel. +/// Embeds the Moltbot WebChat UI via WebView2, matching the macOS native chat panel. /// public class WebChatForm : Form { @@ -47,7 +47,7 @@ public class WebChatForm : Form private void InitializeComponent() { - Text = "Clawdbot Chat"; + Text = "Moltbot Chat"; Size = new Size(520, 750); MinimumSize = new Size(380, 450); StartPosition = FormStartPosition.CenterScreen; diff --git a/src/Moltbot.Tray/build.bat b/src/Moltbot.Tray/build.bat deleted file mode 100644 index 3ba6118..0000000 --- a/src/Moltbot.Tray/build.bat +++ /dev/null @@ -1,49 +0,0 @@ -@echo off -setlocal - -echo =================================== -echo Clawdbot Windows Tray - Build -echo =================================== -echo. - -:: Detect architecture -if "%PROCESSOR_ARCHITECTURE%"=="ARM64" ( - set RID=win-arm64 -) else ( - set RID=win-x64 -) - -echo Architecture: %RID% -echo. - -:: Build -echo [1/3] Building Debug... -dotnet build -c Debug -r %RID% -if errorlevel 1 goto :error - -echo. -echo [2/3] Building Release... -dotnet build -c Release -r %RID% -if errorlevel 1 goto :error - -echo. -echo [3/3] Publishing self-contained... -dotnet publish -c Release -r %RID% --self-contained -p:PublishSingleFile=true -o publish -if errorlevel 1 goto :error - -echo. -echo =================================== -echo Build complete! -echo Output: publish\MoltbotTray.exe -echo Architecture: %RID% -echo =================================== -goto :end - -:error -echo. -echo BUILD FAILED -exit /b 1 - -:end -endlocal - diff --git a/src/Moltbot.Tray/workflows/build.yml b/src/Moltbot.Tray/workflows/build.yml deleted file mode 100644 index fa4df43..0000000 --- a/src/Moltbot.Tray/workflows/build.yml +++ /dev/null @@ -1,87 +0,0 @@ -name: Build and Release - -on: - push: - branches: [ main ] - tags: [ 'v*' ] - pull_request: - branches: [ main ] - -jobs: - build: - runs-on: windows-latest - strategy: - matrix: - rid: [win-x64, win-arm64] - - steps: - - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 9.0.x - - - name: Restore dependencies - run: dotnet restore -r ${{ matrix.rid }} - - - name: Build Debug - run: dotnet build --no-restore -c Debug -r ${{ matrix.rid }} - - - name: Build Release - run: dotnet build --no-restore -c Release -r ${{ matrix.rid }} - - - name: Publish Self-Contained - run: dotnet publish -c Release -r ${{ matrix.rid }} --self-contained -p:PublishSingleFile=true -o publish-${{ matrix.rid }} - - - name: Upload Build Artifacts - uses: actions/upload-artifact@v4 - with: - name: clawdbot-windows-tray-${{ matrix.rid }} - path: publish-${{ matrix.rid }}/ - - release: - needs: build - if: startsWith(github.ref, 'refs/tags/v') - runs-on: ubuntu-latest - permissions: - contents: write - - steps: - - name: Download x64 artifact - uses: actions/download-artifact@v4 - with: - name: clawdbot-windows-tray-win-x64 - path: artifacts/win-x64 - - - name: Download arm64 artifact - uses: actions/download-artifact@v4 - with: - name: clawdbot-windows-tray-win-arm64 - path: artifacts/win-arm64 - - - name: Create Release - uses: softprops/action-gh-release@v2 - with: - generate_release_notes: true - files: | - artifacts/win-x64/MoltbotTray.exe - artifacts/win-arm64/MoltbotTray.exe - body: | - ## Clawdbot Windows Tray ${{ github.ref_name }} - - ### Downloads - - **x64**: `MoltbotTray.exe` (Intel/AMD 64-bit) - - **arm64**: `MoltbotTray.exe` (ARM64 — Windows on ARM) - - ### Requirements - - Windows 10 version 1903 or later - - [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) (for embedded chat) - - Clawdbot gateway running on your network - - ### Quick Start - 1. Download the executable for your architecture - 2. Run `MoltbotTray.exe` - 3. Right-click tray icon → Settings - 4. Enter your gateway URL and token -