/adbtuifm

A TUI File Manager for ADB

Primary LanguageGoMIT LicenseMIT

Go Report Card

adbtuifm

demo

adbtuifm is a TUI-based file manager for the Android Debug Bridge, to make transfers between the device and client easier.

It has been tested only on Linux. Windows/Mac is currently not supported.

This is a work in progress.

Features

  • Multiselection support, with a selections editor

  • Transferring files/folders between the device and the local machine

  • Open files of any file type from the device or local machine

  • Copy, move, and delete operations on the device and the local machine
    separately

  • View file operations separately on a different screen, with ability to monitor
    progress and cancel operation

  • Execute commands on the device or local machine, with toggleable
    foreground/background execution modes

  • Filter entries in each directory

  • Rename files/folders or create directories

  • Switch between adbtuifm and shell easily

  • Change to any directory via an inputbox, with autocompletion support

Installation

go get -u github.com/darkhz/adbtuifm

Usage

adbtuifm [<flags>]

Flags:
  --remote=<path>     Specify the remote(ADB) path to start in
  --local=<path>      Specify the local path to start in

Keybindings

Main Page

Operation Key
Switch between panes Tab
Navigate between entries Up/Down
Change directory to highlighted entry Enter/Right
Change one directory back Backspace/Left
Switch to operations page o
Switch between ADB/Local (in each pane) s/<
Change to any directory g/>
Toggle hidden files h/.
Execute command !
Refresh r
Move m
Put/Paste (duplicate existing entry) p
Put/Paste (don't duplicate existing entry) P
Delete d
Open files Ctrl+o
Filter entries /
Toggle filtering modes (normal/regex) Ctrl+f
Sort entries ;
Clear filtered entries Ctrl+r
Select one item Space
Inverse selection a
Select all items A
Edit selection list S
Make directory M
Toggle top-down/right-left layout [
Swap panes ]
Rename files/folders R
Reset selections Esc
Suspend to shell Ctrl+z
Launch local/ADB shell Ctrl+d/Alt+d
Help ?
Quit q

Operations Page

Operation Key
Navigate between entries Up/Down
Cancel selected operation x
Cancel all operations X
Switch to main page o/Esc

Change Directory Selector

Operation Key
Navigate between entries Up/Down
Autocomplete Tab
Change directory to highlighted entry Enter
Move back a directory Ctrl+w
Switch to main page Esc

Selections Editor

Operation Key
Select one item Alt+Space
Inverse selection Alt+a
Select all items Alt+A
Save edited list Ctrl+s
Cancel editing list Esc

Execution mode

Operation Key
Switch between Local/Adb execution Ctrl+a
Switch between Foreground/Background execution Ctrl+q

Notes

  • As of v0.5.5, keybindings have been revised and the UI has been revamped.

  • More information about an entry will be shown only in the top-down layout.

  • Only Copy operations are cancellable. Move and Delete operations will persist.

  • The current method to open files is via xdg-open. In certain cases, after opening
    and modifying a file, the application may take time to exit, and as a result no operations
    can be performed on the currently edited file until the application exits. For example, after
    opening a zip file via file-roller, modifying it and closing the file-roller GUI, file-roller takes some
    time to fully exit, and since the UI is waiting for file-roller to exit, the user cannot perform operations
    on the currently modified file until file-roller exits.

Bugs

  • In directories with a huge amount of entries, autocompletion will lag. This happens only on the device side (i.e ADB mode), where there is significant latency in transferring and processing the directory listing to the client.