yarc - for the laziness in you
So, the other day I sat down watching The Matrix. It’s comfortable and relaxing; everything’s going great.
The universal law of Conservation of Coziness comes to bite you!
If you are a realist, you can relate. Being comfortable for long is not possible. The longer you remain relaxed, the more you’ll have to work your ass off later.
Okay, now going back to the story. I was relaxing and enjoying the great movie. And then I had sudden urge to drink (water; better be explicit!).
Meh, what’s a big deal in that. Well, there is (and you will understand why) if you see my room setup.
Now imagine you are lying on bed, feeling thirsty but then there is this important scene coming up
Yeah.
Is everything in place?
You weren’t supposed to relieve me.
I know, but I felt like taking a shift.
What will you do? 😕
Well, I would get up from my bed, go to my table, pause the movie, drink water, play it again and then come back to bed. I would also ensure to rewind it a few seconds, so that by the time I’ll reach the bed, it would play the same scene where I left. During this process, you will end up losing your comfortable position.
Chapter 2 of the same story. I sat down thinking… why not do something about this. That way I can continue to be lazy and watch my favourite shows, and also do the side-interrupting-chores at the same time. That’s what yarc is all about. It’s short for “Yet Another Remote Control”. So basically it’s the same boring, old age remote control; but for your computer.
Features
yarc has two components - client and server. The server runs on your computer whereas the client is the actual remote. The client runs on your mobile phone and is as simple as a HTML page. Each remote comes with a few specialised sub-remotes. Let’s take a look into these specialised remotes:
-
Multimedia control: The MVP of yarc (remember the story!) This remote has everything you need to relax and watch your favourite movie / TV show.
-
Keyboard: Oh yeah, that’s true. You can press (almost) every keyboard key from your yarc remote, without reaching out to your physical keyboard.
-
Mouse control: yarc comes with a touchpad similar to what laptops in general have. Well, it has left and right mouse buttons and a dedicated vertical scrolling ability!
In action
Try it out!
To try yarc, you would first need to install the yarc server on your PC.
If you are on Linux:
-
Open terminal (Ctrl+Alt+T)
-
On the terminal screen, run the following command:
$ sudo pip3 install yarc-server==0.1.1
If you are on Windows:
-
Open command prompt
-
On the terminal screen, run the following command:
$ pip3 install yarc-server==0.1.1
This would install yarc-server on your machine. To launch yarc, run the following command:
$ yarc
That’s it! Scan the QR code from your mobile phone’s camera or type the address in your mobile’s browser (which would be printed on your screen). And voila! Here is your yarc remote. 😃
Scope of improvement
The project is in alpha right now, so a lot of advanced features might be missing. A few features might not work as well 😿. But, all it would take is some more time to finish up the current issues and then take up the advanced features.
Current issues:
- Volume buttons don’t work in Linux. 🔇
- The QR code is not rendered when launched from Windows.
- Caps lock and shift key don’t work as expected.
- I haven’t tested it under MacOS 😛. So, all the best!
Advanced features:
-
Ability to add shortcuts. Each shortcut will be a combination of an atomic step. Following are defined as atomic steps:
keyDown
keyUp
keyPress
type
click
An example of a shortcut is “Open Netflix”. It can be defined with the help of following atomic steps:
keyPress("windows_left") -> type("Netflix") -> keyPress("enter")
-
Gaming remote - A dedicated remote for gaming 🎮
-
Switching between open windows. Right now, the only way is to use mouse; this feature would show/list down all the open applications of your PC and switching between apps will be a click away!
-
Screencast from mobile to laptop
-
User customizable theme for remote 💥
-
And so on… (mentioned in the project README)
Contribute
The project is at its growing phase; so there’s a lot to be done. You can find the source code of the project at https://github.com/return007/yarc.
Who all can contribute:
- If you are interested in the idea and would like to contribute to open-source.
- If you are a newbie and want to make your first PR to an open-source project.
- If you are taking part in Hacktoberfest, I’ve labelled some easy issues with hacktoberfest
- If you want to report bugs 🐛, thou art kind buddy.
Extras
- This is my first open source project (and published in PyPi). 🚧
- This is my first medium article. 📕
- I published my first YouTube video for this. 📹
That’s it for now. Until next time 🙇!
This article was originally published on Medium