Skip to content

Conversation

@Doekeb
Copy link

@Doekeb Doekeb commented Dec 21, 2025

Description

This PR adds sources for tmux entities.

  • Sessions (preview shows selected session windows)
  • Windows (preview shows selected window panes)
  • Panes (preview shows a preview of the selected pane)
  • Clients (preview shows a preview of the client's focused pane)
  • Tree
    • Shows the session > window > pane hierarchy
    • Preview shows the preview for the selected entity

The default select for all of the sources is to focus the selected entity (for a client, focus the client's currently active pane).

Of course, users can define and keymap whatever other actions they wish. Some possible examples (not included in this PR):

  • tmux/nvim interactions (more interesting)
    • yank the visible contents of the selected pane to a register
    • send the contents of a register to the selected pane
  • pure tmux operations (less interesting)
    • kill the selected pane/window/session
    • detach the selected client

The motivating example which I use for my own workflow (also not included in this PR) is to select a tmux pane as a target for slime:

opts = {
  picker = {
    actions = {
      slime_select = function(picker, item)
        if item.pane_id then
          picker:close() -- Close the picker first so buffer options apply to the buffer we opened the picker from
          vim.g.slime_default_config = { socket_name = "default", target_pane = item.pane_id }
          vim.b.slime_config = { socket_name = "default", target_pane = item.pane_id }
        end
      end,
    },
  },
}

Screenshots

Panes:
image

Windows:
image

Sessions:
image

Clients:
image

Tree (Sessions > Windows > Panes):
image

@github-actions github-actions bot added docs picker size/xl Extra large PR (100+ lines changed) labels Dec 21, 2025
@Doekeb Doekeb changed the title Tmux Pickers great(Tmux Pickers Dec 21, 2025
@Doekeb Doekeb changed the title great(Tmux Pickers feat(picker): Add tmux pickers Dec 21, 2025
@Doekeb Doekeb changed the title feat(picker): Add tmux pickers feat(picker): add tmux pickers Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs picker size/xl Extra large PR (100+ lines changed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant