Skip to content

v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Oct 12:16
· 33 commits to main since this release

Breaking

  • The touch toolbar and the mobile profile left the built-in defaults for
    a plugin, mobile.ranma,
    which also switches to the profile while a phone drives, so the
    driver_change hook you pasted for it can go. The default hako setup
    installs it. If your init.lua calls require("hako").setup itself, add
    { "masshirodev/mobile.ranma", install = true } to its specs (or a file in
    lua/plugins/); with plugin_manager = "none", clone it into
    pack/plugins/start/. Without one of those, a hook that switches to
    "mobile" finds no such profile. To not have it, x on its row in hako's
    screen (installed once, it does not come back), or { "masshirodev/mobile.ranma", enabled = false } in a spec file.

Added

  • ranma dump-layout [NAME]: prints the workspace it runs in, or a declared
    or saved layout, as the ranma.layout(...) call that declares it, to paste
    into init.lua instead of retyping a saved layout (CONFIG.md, "From a
    workspace to init.lua"). ranma.LayoutNode in --dump-types gains
    scroll and width.
  • The keyboard action opens the phone's on-screen keyboard: Termux opens it
    for a tap only while nothing tracks the mouse, so it turns mouse reporting
    off for 1.5 s or until a key arrives. The touch toolbar's ⌨ button runs
    it, in the slot that was send esc (Termux's extra-keys row has Esc).
  • ranma.has("action.keyboard"): the keyboard action, for a plugin that
    must also load into a ranma without it.
  • module_click <module>: clicks a bar module by name, from a bind or a
    script, as a click on it does.
  • The pointer moving over a menu or picker row selects it, as a desktop
    menu's hover does, in every picker; choose_theme previews the theme
    under the pointer. A pointer at rest moves nothing, so a row chosen with
    the arrows stays chosen.

Changed

  • resize <dir> moves the border the way the arrow points, as tmux's
    resize-pane and dragging with the mouse do. On the right-most and bottom
    panes it ran backwards (right pulled the border left); panes with a
    neighbour after them, floating panes and strip columns behave as before.
  • A profile in use that sets layout wins over a workspace's own
    (workspace_layout), so a workspace pinned to master at the desk is not
    three columns on a phone. The pin is kept and returns when the profile
    goes; ranma.state().own_layout is false while it is outranked.
  • A click on a bar module that shows the value of a ranma inside the focused
    pane (followed, nested = "follow") runs that ranma's on_click, so the
    docker and ports screens it opens are the far machine's. It is sent as
    one bracketed paste carrying a token from the inner's report, taken
    before anything open there, so nothing is typed into a modal. An "own"
    module, one the inner does not click, and an inner older than 0.4.0 keep
    this ranma's on_click. Update the inner ranma too.

Fixed

  • install.sh warns when another ranma comes before the one it installed
    in PATH (a release tarball in ~/.local/bin). Servers started from that
    one re-exec it on every upgrade, so the new build never ran, while the
    install said they had moved to it.
  • In a pane that holds a ranma (over ssh), Ctrl/Alt+click, hover and
    @pane mouse binds are the inner ranma's, as keys are. The outer's
    click hook took them, so openpath on the outer looked for the inner
    machine's path on its own and the click did nothing. Only the outer needs
    this build.
  • In a user mode the focused pane's cursor is shown, so a mode that moves
    it (vi.lua's NORMAL, hjkl as arrows) is not moving it blind. Plain WM
    mode still hides it.
  • In a user mode the outer leader opens WM mode, as the leader does. It was
    sent to the program instead, and the mode dropped, so clicking this
    ranma's workspace in an outer ranma's bar typed the workspace's digit
    into the program.