Giter VIP home page Giter VIP logo

pipes-and-paper-enhanced's People

Contributors

afandian avatar mjburling avatar pyrrhu5 avatar redtartan04 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pipes-and-paper-enhanced's Issues

macOS: exception on startup

Hi, great project!
On my Mac I get an exception as soon as I open http://localhost:8001 in Safari or immediately if I run_debug() instead of run_server() in main.

./run.sh
Serving http server on http://localhost:8001
Websocket ready and running on http://localhost:6789
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/js/remarkable.js HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/js/menu.js HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/js/handler.js HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/img/pen-solid.svg HTTP/1.1" 200 -
connection handler failed
Traceback (most recent call last):
  File "..../pipes-and-paper-enhanced/.venv/lib/python3.9/site-packages/websockets/legacy/server.py", line 236, in handler
    await self.ws_handler(self)
  File "..../pipes-and-paper-enhanced/.venv/lib/python3.9/site-packages/websockets/legacy/server.py", line 1175, in _ws_handler
    return await cast(
  File "..../Develop/pipes-and-paper-enhanced/src/server.py", line 73, in handler
    screen_input = await get_screen_input(listener)
  File "..../Develop/pipes-and-paper-enhanced/src/screen_api.py", line 92, in get_screen_input
    raise ValueError(f"Buffer is not 16 bits: {len(buffer)=} {buffer=}")
ValueError: Buffer is not 16 bits: len(buffer)=0 buffer=b''
./run.sh   
Listening on /dev/input/event1
Traceback (most recent call last):
  File "..../pipes-and-paper-enhanced/./main.py", line 32, in <module>
    run_debug()
  File "..../pipes-and-paper-enhanced/./main.py", line 18, in run_debug
    screen_input = loop.run_until_complete(get_screen_input(listener))
  File "..../3.9/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "..../pipes-and-paper-enhanced/src/screen_api.py", line 92, in get_screen_input
    raise ValueError(f"Buffer is not 16 bits: {len(buffer)=} {buffer=}")
ValueError: Buffer is not 16 bits: len(buffer)=0 buffer=b''

I had .venv set up and ssh access was already configured. I changed the hostname in main.py to match mine (rm2usb for USB connection). Checked rM was connected.

[suggestion] initialize screen with screenshot

Hi! noticed this as a recent addition to awesome-reMarkable.

This is just an open suggestion as I've also myself forked pipes-and-paper years ago.
My take on "erase" was to take a new screenshot to refresh the screen after eraser was lifted up, effectively acting as an eraser. the screenshot mechanism itself is quite horrible and dependent on another project, but I found taking screenshots to be useful to stream an existing presentation/book and annotate over it, instead of just scribbling on a blank canevas.

For reference: https://github.com/martinetd/pipes-and-paper

feel free to close this immediately if the idea isn't tempting -- I might switch over if you do it better than me, which might not be difficult :) But have no use for the project right now, so won't spend time trying to rebase on top of your improvements.

[enhancement] pause mode

I have a use case in mind, where I would interact (invisibly) with my rM2 during a 'whiteboard' session. While using the pen, for example to copy/paste/move something, I wouldn't want to leave traces on the whiteboard.
So I have implemented a "pause mode", i.e. the 'P' key toggles a state, where no lines are drawn, even with pen down. In this mode the pen/eraser icon is grey and the overlay green to indicate this mode. The green dot can also be used as a pointer, whitout taking care to hover. TIP would draw a smaller overlay dot, while ERASER has a bigger one.
If you like, I could provide the simple changes as PR - once I know how to do this right in github... ☺️ (see my other comment)

convenient startup script

Hi, I wrote a little zsh script to start the application in a convenient way on a mac, but could be used on other platforms with small modifications, too. If interested I could push a feature branch?

  • It's a zsh script with .command extension, which can be double clicked on a Mac like any other application.
  • It looks for two different rM hostnames. I have ssh confi'g one for WiFi and one for USB. The script will ping first hostname and if timed out try the other one. So I can connect either way without having to choose one explicitly. I use this pattern in my rM rsync backup script and others, too.

TypeError: 'type' object is not subscriptable

Hi. I can't run your file, any idea what I'm doing wrong?

$ ./run.sh Traceback (most recent call last): File "./main.py", line 4, in <module> from src.connection import (SCREEN_DEVICE_PER_MODEL, get_remarkable_model, File "/home/charles/Téléchargements/pipes-and-paper-enhanced-stable/src/connection.py", line 17, in <module> SCREEN_DEVICE_PER_MODEL: dict[RemarkableModels, str] = { TypeError: 'type' object is not subscriptable

Allow for packaging

Are there any plans to allow for this to be packaged? This would entail creating a setup.py / pyproject.toml file and possibly tagging releases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.