diff --git a/gh-notify b/gh-notify index 086bda4..0eb38c4 100755 --- a/gh-notify +++ b/gh-notify @@ -28,17 +28,17 @@ export GH_NOTIFY_PER_PAGE_LIMIT=50 export GH_NOTIFY_DEBUG_MODE=${GH_NOTIFY_DEBUG_MODE:-false} # Customize the fzf keys using environment variables -export GH_NOTIFY_RESIZE_PREVIEW_KEY="${GH_NOTIFY_RESIZE_PREVIEW_KEY:-"btab"}" -export GH_NOTIFY_TOGGLE_PREVIEW_KEY="${GH_NOTIFY_TOGGLE_PREVIEW_KEY:-"tab"}" -export GH_NOTIFY_VIEW_KEY="${GH_NOTIFY_VIEW_KEY:-"enter"}" -export GH_NOTIFY_TOGGLE_HELP_KEY="${GH_NOTIFY_TOGGLE_HELP_KEY:-"?"}" -export GH_NOTIFY_VIEW_DIFF_KEY="${GH_NOTIFY_VIEW_DIFF_KEY:-"ctrl-d"}" -export GH_NOTIFY_VIEW_PATCH_KEY="${GH_NOTIFY_VIEW_PATCH_KEY:-"ctrl-p"}" -export GH_NOTIFY_MARK_READ_KEY="${GH_NOTIFY_MARK_READ_KEY:-"ctrl-t"}" -export GH_NOTIFY_MARK_ALL_READ_KEY="${GH_NOTIFY_MARK_ALL_READ_KEY:-"ctrl-a"}" -export GH_NOTIFY_OPEN_BROWSER_KEY="${GH_NOTIFY_OPEN_BROWSER_KEY:-"ctrl-b"}" -export GH_NOTIFY_RELOAD_KEY="${GH_NOTIFY_RELOAD_KEY:-"ctrl-r"}" -export GH_NOTIFY_COMMENT_KEY="${GH_NOTIFY_COMMENT_KEY:-"ctrl-x"}" +: "${GH_NOTIFY_MARK_ALL_READ_KEY:=ctrl-a}" +: "${GH_NOTIFY_OPEN_BROWSER_KEY:=ctrl-b}" +: "${GH_NOTIFY_VIEW_DIFF_KEY:=ctrl-d}" +: "${GH_NOTIFY_VIEW_PATCH_KEY:=ctrl-p}" +: "${GH_NOTIFY_RELOAD_KEY:=ctrl-r}" +: "${GH_NOTIFY_MARK_READ_KEY:=ctrl-t}" +: "${GH_NOTIFY_COMMENT_KEY:=ctrl-x}" +: "${GH_NOTIFY_RESIZE_PREVIEW_KEY:=btab}" +: "${GH_NOTIFY_VIEW_KEY:=enter}" +: "${GH_NOTIFY_TOGGLE_PREVIEW_KEY:=tab}" +: "${GH_NOTIFY_TOGGLE_HELP_KEY:=?}" if $GH_NOTIFY_DEBUG_MODE; then export gh_notify_debug_log="${BASH_SOURCE%/*}/gh_notify_debug.log" diff --git a/readme.md b/readme.md index 1b15e58..679424c 100644 --- a/readme.md +++ b/readme.md @@ -48,21 +48,21 @@ gh notify [Flags] ### Key Bindings fzf -| Keys | Description | Customization Environment Variable | -| ------------------------------ | --------------------------------------------------- | --------------------------------------- | -| ? | toggle help | GH_NOTIFY_TOGGLE_HELP_KEY | -| enter | view the selected notification in the 'less' pager | GH_NOTIFY_VIEW_KEY | -| tab | toggle notification preview | GH_NOTIFY_TOGGLE_PREVIEW_KEY | -| shifttab | resize the preview window | GH_NOTIFY_RESIZE_PREVIEW_KEY | -| shift↑↓ | scroll the preview up/ down | | -| ctrla | mark all displayed notifications as read and reload | GH_NOTIFY_MARK_ALL_READ_KEY | -| ctrlb | browser | GH_NOTIFY_OPEN_BROWSER_KEY | -| ctrld | view diff | GH_NOTIFY_VIEW_DIFF_KEY | -| ctrlp | view diff in patch format | GH_NOTIFY_VIEW_PATCH_KEY | -| ctrlr | reload | GH_NOTIFY_RELOAD_KEY | -| ctrlt | mark the selected notification as read and reload | GH_NOTIFY_MARK_READ_KEY | -| ctrlx | write a comment with the editor and quit | GH_NOTIFY_COMMENT_KEY | -| esc | quit | | +| Keys | Description | Customization Environment Variable | +| ------------------------------ | --------------------------------------------------- | ---------------------------------- | +| ? | toggle help | `GH_NOTIFY_TOGGLE_HELP_KEY` | +| enter | view the selected notification in the 'less' pager | `GH_NOTIFY_VIEW_KEY` | +| tab | toggle notification preview | `GH_NOTIFY_TOGGLE_PREVIEW_KEY` | +| shifttab | resize the preview window | `GH_NOTIFY_RESIZE_PREVIEW_KEY` | +| shift↑↓ | scroll the preview up/ down | | +| ctrla | mark all displayed notifications as read and reload | `GH_NOTIFY_MARK_ALL_READ_KEY` | +| ctrlb | browser | `GH_NOTIFY_OPEN_BROWSER_KEY` | +| ctrld | view diff | `GH_NOTIFY_VIEW_DIFF_KEY` | +| ctrlp | view diff in patch format | `GH_NOTIFY_VIEW_PATCH_KEY` | +| ctrlr | reload | `GH_NOTIFY_RELOAD_KEY` | +| ctrlt | mark the selected notification as read and reload | `GH_NOTIFY_MARK_READ_KEY` | +| ctrlx | write a comment with the editor and quit | `GH_NOTIFY_COMMENT_KEY` | +| esc | quit | | ### Table Format @@ -100,6 +100,19 @@ export FZF_DEFAULT_OPTS=" --bind 'ctrl-w:preview-half-page-up,ctrl-s:preview-half-page-down'" ``` +You can also customize the keybindings created by this extension to avoid conflicts with +the ones defined by `fzf`. For example, change `ctrl-p` to `ctrl-u`: + +```sh +GH_NOTIFY_VIEW_PATCH_KEY="ctrl-u" gh notify +``` + +**NOTE:** The assigned key must be a valid key listed in the `fzf` man page: + +```sh +man --pager='less -p "^\s+AVAILABLE_KEYS"' fzf +``` + ### GitHub Command Line Tool (gh) In the `gh` tool's config file, you can specify your preferred editor. This is particularly useful when you use the ctrlx hotkey to comment on a notification.