Conversation
- Added omni-menu source code from more_rust branch to src/omni_menu/ - Updated Cargo.toml with gtk4, fuzzy-matcher, dirs, regex dependencies - Added omni-menu as second binary target alongside owl - Updated menu setup to link binary instead of cloning external repo - Updated i3 config keybindings to use new command names - Removed external repo install script Features included: - Main menu with keyboard shortcuts - Search menu (Google, ChatGPT, Notes) - Projects menu (local/remote dev projects) - Scripts menu (owl scripts) - Launch tool menu - Switch bench menu (yard integration) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
- Created desk_menu module that integrates with owl's desk system - Detects Sway vs i3 environment (via SWAYSOCK env var) - Lists desk scripts from ~/.config/desks-sway/ or ~/.config/desks-i3/ - Provides GTK4 UI with search/filter and keyboard navigation - Created emoji_menu module that launches rofi emoji picker - Simple wrapper around rofi -modi emoji -show emoji - Updated main menu to include desk (d key) and emoji (e key) options - Updated main.rs to support 'desk' and 'emoji' subcommands All features from the original omni-menu bash script are now in Rust. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
- Added comprehensive omni-menu section documenting: - Module architecture and organization - Usage commands for all submenus - Integration points with owl (desk system, scripts) - Build and linking process - Design patterns (self-contained modules, spawning pattern) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Data Model Changes: - Added 'only_own_menu_scripts' boolean field to setup.json schema - When set to true on a nest/setup, only its own menu scripts are linked - Dependencies' menu scripts are skipped during linking - This allows nests to have curated menu script lists without inheritance Framework-Sway Updates: - Changed display scale from 1.4 to 1.5 - Reduced keyboard repeat rate from 40 to 25 (delay 200→300ms) - Created background picker script using swww - Lists all images from $WALL_DIR in rofi - Sets selected image as wallpaper with fade transition - Enabled only_own_menu_scripts to hide inherited scripts - Added Background Picker as the only menu script Implementation: - Modified Setup struct to store only_own_menu_scripts flag - Updated apply_operation_once to accept skip_menu_scripts parameter - Modified run_op to pass flag down to dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
- Update scripts_menu.rs to read from ~/.config/owl/menu-scripts/ instead of ~/owl/common/scripts/ - Change menu setup to use release binary instead of debug 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
|
@copilot fix the build issues |
|
@tylerthecoder I've opened a new pull request, #5, to work on those changes. Once the pull request is ready, I'll request review from you. |
| println!("App activated"); | ||
| let no_args: [&str; 0] = []; | ||
| app.run_with_args(&no_args); | ||
| glib::ExitCode::SUCCESS |
There was a problem hiding this comment.
Exit code from GTK app silently discarded
The run_app() function discards the return value from app.run_with_args(&no_args) by using a semicolon instead of returning it directly. It then unconditionally returns glib::ExitCode::SUCCESS, ignoring any errors the GTK application may have encountered. All other menu modules (desk_menu, launch_tool_menu, main_menu, projects_menu, scripts_menu, switch_bench_menu) correctly return the result of app.run_with_args() directly.
| let app = Application::builder().application_id(APP_ID).build(); | ||
| println!("App built"); | ||
| app.connect_activate(build_ui); | ||
| println!("App activated"); |
There was a problem hiding this comment.
Debug println statements left in production code
The run_app() function contains step-by-step debugging statements ("Running app", "App built", "App activated") and build_ui() has "Building UI". No other menu module has these statements in their equivalent functions. These appear to be development debugging traces that were not removed before committing.
Note
Integrates a new GTK4-based launcher and associated tooling, plus selective menu-script behavior.
omni-menubinary (src/omni_menu/*) with submenus: main, search, projects, scripts, launch_tool, switch_bench, desk, emojiCargo.tomlwith second binary and new deps (gtk4,fuzzy-matcher,dirs,regex)setups/menu/setup.jsonlinkstarget/release/omni-menuto~/.local/bin/omni-menu; remove old install scriptomni-menu(launch_tool, main) androfi -show windowframework-sway: addbg-picker.shand menu entry; setonly_own_menu_scripts: trueonly_own_menu_scriptsinsetup.jsonand skip linking inherited menu scripts in dependency traversalCLAUDE.mdwith repo guidance and omni-menu architectureWritten by Cursor Bugbot for commit d4e2b9f. This will update automatically on new commits. Configure here.