Skip to content

SL-RU/mmtui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mmtui

TUI disk mount manager for TUI file managers for Linux

Dependencies

  • udisks2

Binaries

Latest prebuilt static binary you can find here: https://github.com/SL-RU/mmtui/releases

Build

cargo build --release

Binary will be in target/release/mmtui

AUR

On Archlinux you can install from AUR, package is named mmtui-bin: https://aur.archlinux.org/packages/mmtui-bin

Configuration

mmtui supports an optional configuration file located at:

$XDG_CONFIG_HOME/mmtui/mmtui.toml

Given a relative path, mmtui searches XDG_CONFIG_HOME first and then XDG_CONFIG_DIRS, using the first existing configuration file found. If no configuration file found, built-in defaults are used. If a configuration file exists, it fully overrides the default configuration. The lookup is based on freedesktop.org XDG Base Directory Specification.

The following shows the built-in default configuration used when no configuration file is present:

fstype_ignore = [
        "tmpfs",
        "ramfs",
        "swap",
        "devtmpfs",
        "devpts",
        "hugetlbfs",
        "mqueue",
        "fuse.portal",
        "fuse.gvfsd-fuse",

]
path_ignore =  [
        "/tmp",
        "/sys",
        "/proc",
]

Options

All options must be present in the configuration file. Options cannot be omitted; use an empty list if no entries are desired.

  • fstype_ignore List of filesystem types to ignore. Any mount whose filesystem type matches an entry in this list will be excluded.

  • path_ignore List of absolute paths to ignore. Any mount point or path matching an entry in this list will be excluded.

Integrations

Yazi - mount.yazi

Plugin for yazi file manager: https://github.com/SL-RU/mount.yazi

Ranger file manager

https://github.com/SL-RU/ranger_udisk_menu is deprecated, now you can use this application instead. Download or build mmtui and add it location to $PATH environment variable or substitute location in the variable MMTUI_PATH in the script below.

Add this to ranger config/commands.py:

class mount(Command):
    """:mount.

    Show menu to mount and unmount.
    """

    MMTUI_PATH = "mmtui"

    def execute(self):
        """Show menu to mount and unmount."""
        import os
        import tempfile
        (f, p) = tempfile.mkstemp()
        os.close(f)
        self.fm.execute_console(
            f'shell bash -c "{self.MMTUI_PATH} 1> {p}"'
        )
        with open(p, 'r') as f:
            d = f.readline().strip()
            if os.path.exists(d):
                self.fm.cd(d)
        os.remove(p)

release-please

Release-please is used in this repository. Because of that there are rules for commit names:

How should I write my commits?

Release Please assumes you are using Conventional Commit messages.

The most important prefixes you should have in mind are:

  • fix: which represents bug fixes, and correlates to a SemVer patch.
  • feat: which represents a new feature, and correlates to a SemVer minor.
  • feat!:, or fix!:, refactor!:, etc., which represent a breaking change (indicated by the !) and will result in a SemVer major.