Feature-a-day week? Systemctl and partition apps, Checkbox UI element

A project log for pyLCI - Linux Control Interface

Makes Raspberry Pi accessible, portable and easily configurable.

ArsenijsArsenijs 05/18/2016 at 07:050 Comments

So, I'm in a hospital. Long story short, I have 2 pyLCI-enabled devices with me and I'm coding whatever is on the roadmap. Just right now I was disappointed by the news that I'm not going to be let out today. Well, this is very disappointing, but in the end it's not like I don't have enough things to implement =)

Systemctl app is one of the most important apps I had to write. Now, you can restart stuck services, as well as start/stop/enable/disable/reload them. It also has a filter-by-type feature because systemd has just enough units to make you sick of scrolling. For that, I had to implement checkboxes, so the app wasn't there until Checkbox UI element appeared, otherwise this app would simply be a "checkbox app" - "See! We have a systemctl app! Not saying it's easy to use...". I could limit loading to services, but I can easily imagine me needing to restart once again to restart X. But then, I can't really see the status of services... Guess that's a fix incoming soon.

Partition app was quite an important app, too. Unmounting a drive is one of the things you often could do either much easier or even automatically, though it's hard for me to imagine the latter. So, you can use pyLCI to scroll through your mounted partitions and unmount any partitions!

Naturally, any, even your /. (The first thing I did after I finished the app. mount -a doesn't quite help when there's no mount executable available, it seems. ) I'll add a dialog box for that one - as soon as I have dialog boxes.

Partition mount support is not there and I wonder if it will actually be. I've written a partition automount daemon before. Shit's complicated. However, currently the app supports lazy unmounting, ejects and even has timeouts on calling external command so that you're not stuck with screen saying "Unmounting" for 120 seconds or whatever the timeout was, or even longer in case of a hangup =) This feature will definitely need to be transferred into "Scripts" app. Also, I need to add viewing of current pending (and stuck) unmount process statuses, should be easy.

Now, I'm waiting until I get an Arduino shield like this one:

I've got one waiting at my post office but I'm in a hospital and can't collect shipments. Fortunately, I've arranged a local purchase - so I'll have one for the hospital stay, and one more just in case =)

My hospital stay in one picture

What now? I'm looking to collaborate with @Craig Hissett on his #Handheld Programmer this week, so today I'll probably write a file browser UI element. I'll look into integrating it into Scripts application. I'll probably write an app today, but I'm not sure. Maybe a sample Twitter app - but unfortunately, you need to get all those API keys nowadays just to view tweets in your software. Sucks for me, and for users. Also, there still aren't input UI elements. =( I'll look into tackling this issue this weekend. There's a day to be spent on #ICeeData, too, and I have paid projects to do. Time is an issue, indeed.