Skip to main content

minimalistic media manager - gui

Project description

File        :
Maintainer  : Felix C. Stegerman <>
Date        : 2018-09-16

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

PyPI Version Build Status GPLv3+


m - minimalistic media manager - GUI

A minimalistic GUI for m.


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


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


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


You can just put 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 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 obfusk-m-gui
$ cd ~/bin                  # or some other dir on your $PATH
$ ln -s /some/convenient/dir/obfusk-m-gui/ m-gui


$ 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 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


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": [


  "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!


  • 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



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mmm-gui, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size mmm_gui-0.1.1-py3-none-any.whl (13.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size mmm-gui-0.1.1.tar.gz (27.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page