diff --git a/os/mac/karabiner-elements/karabiner.json b/os/mac/karabiner-elements/karabiner.json index 520d04c..56b9f65 100644 --- a/os/mac/karabiner-elements/karabiner.json +++ b/os/mac/karabiner-elements/karabiner.json @@ -457,6 +457,20 @@ } ], "type" : "basic" } ] + }, { + "description" : "[script] Open common folders", + "manipulators" : [ { + "from" : { + "key_code" : "grave_accent_and_tilde", + "modifiers" : { + "mandatory" : [ "left_command", "left_control" ] + } + }, + "to" : [ { + "shell_command" : "$HOME/.dotfiles/bin/sdot utils open_common_folder" + } ], + "type" : "basic" + } ] }, { "description" : "[chrome] Show recent tabs", "manipulators" : [ { diff --git a/os/mac/karabiner-goku/karabiner.edn b/os/mac/karabiner-goku/karabiner.edn index 1134f61..9acb0b8 100644 --- a/os/mac/karabiner-goku/karabiner.edn +++ b/os/mac/karabiner-goku/karabiner.edn @@ -111,6 +111,9 @@ {:des "[script] Show desktop folder" :rules [[:!CTOd "open \"$HOME/Desktop\""]]} + {:des "[script] Open common folders" + :rules [[:!CTgrave_accent_and_tilde "$HOME/.dotfiles/bin/sdot utils open_common_folder"]]} + ;; ------------ Application specific ------------ {:des "[chrome] Show recent tabs" :rules [:Chrome [:show-recent :!CTO1]]} diff --git a/scripts/utils/open_common_folder b/scripts/utils/open_common_folder new file mode 100755 index 0000000..733074a --- /dev/null +++ b/scripts/utils/open_common_folder @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source "$DOTLY_PATH/scripts/core/_main.sh" + +##? Open one common folder +#?? 1.0.0 +##? +##? Usage: +##? open_common_folder +docs::parse "$@" + +declare -A folders + +folders=( + ["⬇️ Downloads"]="$HOME/Downloads" + ["🌅 Thumbnails"]="$GOOGLE_DRIVE_PATH/Shared drives/👑 Contents/🔖 Pro/Design/Thumbnails Cursos" +) + +folder=$(printf "%s\n" "${!folders[@]}" | choose) + +if [[ -n ${folders[$folder]} ]]; then + # Remove the emoji and space only when needed + folder_action=${folder#*" "} + open "${folders[$folder]}" +else + echo "No folder selected" +fi diff --git a/shell/exports.sh b/shell/exports.sh index 7f5d411..d3d3512 100644 --- a/shell/exports.sh +++ b/shell/exports.sh @@ -1,3 +1,8 @@ +# ------------------------------------------------------------------------------ +# Private exports +# ------------------------------------------------------------------------------ +. "$DOTFILES_PATH/modules/private/shell/exports.sh" + # ------------------------------------------------------------------------------ # Codely theme config # ------------------------------------------------------------------------------