Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/snototter/remass

Text-based user interface to interact with rM e-ink tablets.
https://github.com/snototter/remass

Last synced: 16 days ago
JSON representation

Text-based user interface to interact with rM e-ink tablets.

Awesome Lists containing this project

README

        

**This text-based UI was developed for rM software version 2.X -- it hasn't been tested or adapted to rM software 3.X!**

# reMass
TUI (text-based UI) for Unix-like systems which simplifies customizing reMarkable® e-ink tablets (screens & templates) and provides basic PDF & PNG export functionality.

Why yet another rM assistant? - because I needed a quick solution to export my notes & drawings without internet connection (and I wanted to learn more about the tablet).
If you're unexperienced at using the command line or are afraid of breaking something, you should likely prefer [RCU](http://www.davisr.me/projects/rcu/).

## Disclaimer
This is not an official reMarkable® product, and I am not affiliated with reMarkable AS in any way.

This utility is offered without any warranty.
It is released in the hope that it might be helpful to others, but I can make no guarantee that it works as intended.
There might be bugs, you may lose data, your device may crash, etc.

## TUI Demo
After [setup](#setup), you can run `reMass` via `python -m remass`. The following screenshots show its basic functionalities:
#### Start-up Screen
Connection Dialog

#### Main Application Screen
Main Screen

#### PDF/PNG Export
PDF/PNG Export

#### Template Up-/Download
PDF/PNG Export

#### Template Removal
PDF/PNG Export

#### Customizing Splash Screens
Screen Customization

#### Device Settings
Screen Customization

## Setup
#### System Prerequisites & Caveats:
* `reMass` requires `curses` and thus, should work on any Unix-like platform. It's been tested, however, only on Linux (Ubuntu 18.04 & 20.04 LTS).
* `reMass` uses a [fork](https://github.com/snototter/rmrl) of [`rmrl`](https://github.com/rschroll/rmrl) to export PDFs. `rmrl` requires Python 3.7 or later.
* On Ubuntu 20.04, Python 3.8 is the default version (at the time of writing).
* On Ubuntu 18.04, Python 3.6 is the default version, thus you have to install a newer version, e.g.
`sudo apt install python3.8 python3.8-venv`
* `reMass` uses [`pdf2image`](https://pypi.org/project/pdf2image/) for PNG export which requires [`poppler`](https://poppler.freedesktop.org/). On most Linux distributions, you just need to:
`sudo apt install poppler-utils`
* **Limitations:** Currently, `rmrl` doesn't support fine-grained textures for pencils and paintbrushes (all other pen styles render nicely).

#### Install reMass
* The easiest way is to install `reMass` directly from github into a `virtualenv`:
```bash
# Set up & activate a virtual environment (requires python >= 3.7)
python3 -m venv venv
source venv/bin/activate

# Update pip & setuptools
python -m pip install -U pip setuptools

# Install reMass
python -m pip install git+https://github.com/snototter/remass.git
# or
python -m pip install https://github.com/snototter/remass/tarball/master

# Now use it
python -m remass
```
* Optionally, adjust and install the application launcher provided at `./standalone/remass.desktop`:
```bash
# Verify .desktop file before installation:
desktop-file-validate standalone/remass.desktop

# Install for current user only:
desktop-file-install standalone/remass.desktop --dir ~/.local/share/applications/
```

#### First Steps
* **Paths:** by default, `reMass` uses `$XDG_CONFIG_HOME/remass/` (standard Unix path, refer to the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html) for more details) to store its configuration and `$XDG_DATA_HOME/remass` to store data.
You can change these paths via command line arguments, see the provided help:
```bash
python -m remass -h
```
* **Configuration:** The starting screen offers all connection options. If you adjust these, you can save this configuration to disk (as TOML) to avoid re-configuration upon the next program start.
Available options:
```toml
[connection]
# Default hostname/IP
host = "10.11.99.1"

# If connection to 'host' cannot be established, reMass tries the fallback:
host_fallback = ""

# If you have set up authentication via your private key, specify
keyfile = "~/.ssh/my_private_key"

# If keyfile is set, this password will be used to unlock the key. Otherwise,
# reMass assumes it is the tablet's root password.
password = "password"

# SSH connection timeout in seconds
timeout = 1
```
* **Templates:** Notebook templates can optionally be used as background when rendering PDFs from notebooks. You have to check first if you are allowed to copy them from your reMarkable device to your computer for personal use. If this is legal in your jurisdiction, you may `Download Templates From Tablet` within the template section of `reMass`.
To get started, you can also try [these custom templates](https://github.com/snototter/retweaks/tree/master/templates).
* **Screens:** For ease of use, copy your custom splash screens to `XDG_DATA_HOME/remass/screens`. Refer to the [reMarkableWiki](https://remarkablewiki.com/tips/splashscreens) on how to make your own.
To get started, you can also try [these custom screens](https://github.com/snototter/retweaks/tree/master/splash-screens).

#### Miscellaneous (Linux)
* To change the system-wide default applications to open PDF files/directories, you can use `xdg`:
```bash
# Show known MIME associations
cat ~/.config/mimeapps.list

# Change via xdg-mime, e.g. use 'nemo' as default file browser
xdg-mime default nemo.desktop inode/directory
```