Skip to main content
File        : README.md
Maintainer  : Felix C. Stegerman <flx@obfusk.net>
Date        : 2018-09-16

Copyright   : Copyright (C) 2018  Felix C. Stegerman
Version     : v0.1.1
License     : GPLv3+

PyPI Version Build Status GPLv3+

Description

m - minimalistic media manager - GUI

A minimalistic GUI for m.

Examples

$ m-gui --stay-fullscreen --scale 2.0

Help

$ m-gui --help          # show options
$ m-gui --show-config   # show configuration

Requirements

Python >= 3.5, PyGObject, GTK+ 3, VTE; and m of course.

Installing

You can just put m-gui.py somewhere on your $PATH (in e.g. ~/bin; I suggest calling it m-gui, but you’re free to choose another name).

You may want to clone the repository instead of just downloading m-gui.py to be able to get new versions easily.

Alternatively, you can install mmm-gui using pip (the Python package manager) or build and install a Debian package.

NB: the pip and Debian packages are called mmm-gui instead of m-gui.

Using git

$ cd /some/convenient/dir
$ git clone https://github.com/obfusk/m-gui.git obfusk-m-gui
$ cd ~/bin                  # or some other dir on your $PATH
$ ln -s /some/convenient/dir/obfusk-m-gui/m-gui.py m-gui

Updating:

$ cd /some/convenient/dir/obfusk-m-gui
$ git pull

Using pip

$ pip3 install --user mmm-gui # for Debian; on other OS's you may need
                              # pip instead of pip3 and/or no --user

Building a Debian package

$ sudo apt install debhelper dh-python pandoc # install build dependencies
$ sudo apt install python3-gi libgtk-3-0 libvte-2.91-0  # run dependencies
$ cd /some/convenient/dir
$ git clone https://github.com/obfusk/m-gui.git obfusk-m-gui
$ cd obfusk-m-gui
$ dpkg-buildpackage
$ sudo dpkg -i ../mmm-gui_*_all.deb

Configuration File

You can configure some settings in ~/.obfusk-m/gui.json. To see the current configuration, run:

$ m-gui --show-config

Bookmarks

NB: since bookmarks are saved in gui.json, adding a bookmark from the GUI will open and re-save this file. Formatting is thus not preserved, data should be (unless you happen to trigger a race condition by writing to this file in between loading and saving by the GUI).

{
  "bookmarks": [
    "/some/media/dir",
    "/some/other/media/dir"
  ]
}

Defaults

{
  "scale": 2.0,
  "stay_fullscreen": true
}

Adding commands

{
  "add_commands": [
    [
      "mark-and-next space _Mark Playing and Play Next"
    ]
  ],
  "scripts": {
    "mark-and-next": "#{M} mark playing && #{M} next"
  }
}

m options

{
  "m_options": {
    "colour": true,
    "ignorecase": true,
    "numeric-sort": true,
    "show-hidden": true
  }
}

m command

{
  "m_command": "mmm"
}

NB: the command is passed to the shell, so you’ll need to escape/quote special characters (including spaces) appropriately; be careful!

TODO

  • update README + version (4x + dch) + package (deb + pip)!

  • ack TODO

  • also allow setting –numeric-sort etc. on the fly

    • checkboxes in gui?

    • –options passed through to m?

  • handle exceptions better.

  • document, test!?; screenshot?

  • use shell “m …” only if no need to quote?!

  • running w/ python3 -Wd results in DeprecationWarnings

    • Vte.Terminal.spawn_async not yet available

License

GPLv3+

Metadata

Release files for mmm-gui 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mmm-gui 0.1.1
File Size Uploaded
mmm-gui-0.1.1.tar.gz 27.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mmm-gui 0.1.1
File Interpreter ABI Platform
mmm_gui-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 41.0 kB

Release files / mmm-gui-0.1.1.tar.gz

Download URL mmm-gui-0.1.1.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6b08bad249df0bad04eb8fc27cfb6ba7f16de0da833e412ce25e94ffdc001b29
BLAKE2b-256 checksum
How to use checksums
6dab38fd2658e3c0035d03dd054e0418eb83380df6a325bba8a99700720709e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6+

Release files / mmm_gui-0.1.1-py3-none-any.whl

Download URL mmm_gui-0.1.1-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df72bfc5ad8cb79586e803a6c578b7ff5a3b8c49d87a93f5273e7ee74f4b4a02
BLAKE2b-256 checksum
How to use checksums
218d4146cda98cd7e96de680bb417878b137880228d84fde7c412dfe5fefac20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6+

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page