Skip to content

Commit

Permalink
First prototype
Browse files Browse the repository at this point in the history
  • Loading branch information
bordaigorl committed May 1, 2020
0 parents commit 743008f
Show file tree
Hide file tree
Showing 15 changed files with 1,688 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
svg/
src/resources.py

###Python###

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# pyenv
.python-version

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

67 changes: 67 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# rMview: a fast live viewer for reMarkable

## Instructions

To run the program you need python with pyqt5 installed.
Before running the program the first time, generate the resource file with

pyrcc5 -o src/resources.py resources.qrc

Then you can invoke the program with

python src/rmview.py [config]

the optional `config` parameter is the filename of a json configuration file.
If the parameter is not found, the program will look for a `rmview.json` file in the current directory, or, if not found, for the path stored in the environment variable `RMVIEW_CONF`.
If none are found, or if the configuration is underspecified, the tool is going to prompt for address/password.

The supported configuration settings are:

```json
{ // all settings are optional, comments not allowed
"ssh": {
"address": "10.11.99.1", // works over WiFi too!
"username": "root",
"key": "~/.ssh/id_rsa_remarkable",
// alternatively to key, "password": "****" is supported
"timeout": 1 // in seconds
},
"orientation": "portrait", // default: landscape
"pen_size": 10,
"pen_color": "red",
"fetch_frame_delay": 0.03 // sleep 0.03s on remarkable before fetching new frame (default is no delay)
}
```

## Requirements

- Python 3
- PyQt5
- Paramiko
- lz4framed

They can be installed via `pip install pyqt5 paramiko lz4framed`.

## To Do

- [ ] Settings dialog
- [ ] About dialog
- [ ] Pause stream of screen/pen
- [ ] Action to spawn a static viewer on a frame
- [ ] Build system
- [ ] Bundle


## Credits

I took inspiration from the following projects:

- [QtImageViewer](https://github.com/marcel-goldschen-ohm/PyQtImageViewer/)
- [remarkable_mouse](https://github.com/Evidlo/remarkable_mouse/)
- [reStream](https://github.com/rien/reStream)

Icons adapted from designs by Freepik, xnimrodx from [www.flaticon.com][]

## Licence

GPLv3
228 changes: 228 additions & 0 deletions assets/dead.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/rmview.icns
Binary file not shown.
25 changes: 25 additions & 0 deletions assets/rmview.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 743008f

Please sign in to comment.