changkun / occamy

🖥️ a modern remote desktop proxy written in Go
https://github.com/changkun/occamy
MIT License
313 stars 54 forks source link

Change to a GIO client #47

Open gedw99 opened 3 years ago

gedw99 commented 3 years ago

Is your feature request related to a problem? Please describe.

The nature of maintaining a html5 canvas can be easily done using gio because of the nature of how gio works. The advantage is that then Clients work in Browsers, Desktop and Mobile from the exact same code base.

Describe the solution you'd like

Write a GIO based client for Occamy.

Describe alternatives you've considered

https://github.com/deluan/bring also uses a canvas, but is not as performant or portable as using gio.

Additional context

Making a client with GIO that can quickly swap in images and also sense the mouse, touch and key presses is easy with gio because its inherently synergistic with how GIO is designed.

Here are the links. I would be happy to collaborate on this. Been using gio for a while now and its really getting better and better.

https://gioui.org/

Code: https://github.com/gioui/gio OR https://git.sr.ht/~eliasnaur/gio

GIO works using only a GPU accelerated canvas and is 100% golang. You can compile the same code for web ( wasm), desktop or Mobile.

Examples: https://github.com/gioui/gio-example/

Extension components: https://github.com/gioui/gio-x


Ironically, GIo makes it easy to share an App over VNC also. For example see this example of a headless rendering example. https://github.com/gioui/gio-example/tree/main/opengl

gedw99 commented 3 years ago

also the youtube community meetup videos are a good resource

https://www.youtube.com/channel/UCzuKUnKK5gAFJKNyA1imIHw

changkun commented 3 years ago

That's also a good suggestion. Using Gio would be great too (as a Gio user)

gedw99 commented 3 years ago

Hey @changkun

I am really amazed how good GIo has become now.

Its a joy to develop on and debug on. On Desktop you just go run . and your debugging the golang client and your golang server.

Good example btw:

https://github.com/gioverse/chat

gedw99 commented 2 years ago

Regarding issue and the need for hotkeys

your hotkey is one way.

https://github.com/jkvatne/gio-v also has all focus between fields working to esc and tab. I dont knwo if it can do custom key combinations. Hotkeys seems to be key combinations ?