From f8cb6877ed457512413aa8071ec2cae3109b22fe Mon Sep 17 00:00:00 2001 From: "Mariano Z." Date: Mon, 10 Nov 2025 10:53:27 -0300 Subject: [PATCH] dev: automated commit - 2025-11-10 10:53:27 --- local-bin/.local/bin/dev-launcher | 3 ++- local-bin/.local/bin/launch-or-focus | 7 ++++++- sway/.config/sway/config.d/window-rules | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/local-bin/.local/bin/dev-launcher b/local-bin/.local/bin/dev-launcher index 82fba9f..68def29 100755 --- a/local-bin/.local/bin/dev-launcher +++ b/local-bin/.local/bin/dev-launcher @@ -152,11 +152,12 @@ update_mru "$SELECTED_DISPLAY_CLEAN" PROJECT_NAME=$(get_project_name "$SELECTED") SESSION_NAME="dev-${PROJECT_NAME}" +CLASS_NAME="com.mzunino.dev.${PROJECT_NAME}" launch-or-focus ghostty \ --working-directory="$SELECTED" \ --title="$PROJECT_NAME" \ - --class="$PROJECT_NAME" \ + --class="$CLASS_NAME" \ -e bash -c "if tmux has-session -t '$SESSION_NAME' 2>/dev/null; then \ tmux attach -t '$SESSION_NAME'; \ else \ diff --git a/local-bin/.local/bin/launch-or-focus b/local-bin/.local/bin/launch-or-focus index 6956f30..aeb0560 100755 --- a/local-bin/.local/bin/launch-or-focus +++ b/local-bin/.local/bin/launch-or-focus @@ -16,11 +16,16 @@ ARGS=("$@") APP_NAME=$(basename "$COMMAND") # Extract --class and --title values from args if present +# Handle both --class VALUE and --class=VALUE formats CLASS_NAME="" TITLE_NAME="" for i in "${!ARGS[@]}"; do - if [ "${ARGS[$i]}" = "--class" ] && [ $((i+1)) -lt ${#ARGS[@]} ]; then + if [[ "${ARGS[$i]}" =~ ^--class=(.+)$ ]]; then + CLASS_NAME="${BASH_REMATCH[1]}" + elif [ "${ARGS[$i]}" = "--class" ] && [ $((i+1)) -lt ${#ARGS[@]} ]; then CLASS_NAME="${ARGS[$((i+1))]}" + elif [[ "${ARGS[$i]}" =~ ^--title=(.+)$ ]]; then + TITLE_NAME="${BASH_REMATCH[1]}" elif [ "${ARGS[$i]}" = "--title" ] && [ $((i+1)) -lt ${#ARGS[@]} ]; then TITLE_NAME="${ARGS[$((i+1))]}" fi diff --git a/sway/.config/sway/config.d/window-rules b/sway/.config/sway/config.d/window-rules index 025a08d..0c659f7 100644 --- a/sway/.config/sway/config.d/window-rules +++ b/sway/.config/sway/config.d/window-rules @@ -38,3 +38,7 @@ for_window [class=".*"] border pixel 0 # Workspace Specific Rules for_window [app_id="sm"] move to workspace 4, workspace --no-auto-back-and-forth 4 for_window [app_id="Spotify"] move to workspace 5, workspace --no-auto-back-and-forth 5 + +# Dev Launcher Project Windows +# All dev-launcher projects use class="com.mzunino.dev.{project-name}" pattern +for_window [app_id="^com.mzunino.dev."] move to workspace 3, workspace --no-auto-back-and-forth 3