Pinephone struggles

(or trying to start a C project)

Now I know I can run example programs on the Pinephone, I want to see if I can start a new project in GNOME builder and try to make an adaptive program. The examples of the tutorial are all written in Python. I don't like Python: using tabs for curly brackets is just wrong. But that's just me: writing code in C for 25 years is hard to undo. Oh well, I am sure I could get used to it. But than there is the performance issue: compiled programs just run faster than interpreted ones. The Pinephone is not a speed monster, so C seems the obvious choice.

The technical stuff

The C example in the tutorial of Purism (https://developer.puri.sm/Librem5/Apps/Tutorials/GNOME_Builder_Flatpak/index.html)is a showcase of what the libhandy library can do. Very handy (no pun intended), but way to complicated for a noob like me.

"Libhandy?", you may ask. That's the library for making responsive applications. I want to use this library, so my programs can run on both large screens as well as small ones.

After a quick search, I found a small sample project using gtk and libhandy build with GNOME builder. Just what I needed. It is a framework for an organizer-app: https://github.com/nilanshu96/Simple-Organizer. No functionality at all, just a skeleton, ready to be sculptured into another form. By me, that is.

It depends on SDK and runtime 3.36. The GNOME builder was not able to download these automatically, so I had to do this by hand:

flatpak install org.gnome.Platform/aarch64//3.36

flatpak install org.gnome.Sdk/aarch64//3.36

I am aware that this is not the right command for downloading the version, but it does seem to work, as it asks me what version I want to download. It is a real pain to get good documentation. It is almost as they want you to struggle. And only when you figure it out by yourself you may enter their world. I now, I am exaggerating, but I think the best way to enter this world is by someone already familiar with the tools. Unfortunately, I don't now that someone, so I have to struggle a bit more. But I will get there in the end!

Solving the mushy keys

The working experience on the old Core2Duo is not very nice: the screen is small, the desk is not very ergonomic and the keyboard is awful. For me only the best is good enough: I use a buckling spring keyboard with my workstation. As I previously mentioned, X forwarding via ssh does not work for flatpak applications. So another approach is needed. Let's solve this by enabling vnc remote desktop. Therefore I had to install gnome-remote-desktop on the Debian computer:

sudo apt install gnome-remote-desktop

Now I could select share screen in the GNOME settings tool on the Debian machine. This enabled the VNC server.

When I tried to log in remotely (or locally by connecting to localhost) with the right credentials, the connection closed abruptly. No idea why, but a reboot helped.

The Debian machine can now sit headless under the bench and I can login via VNC and start the GNOME builder that way. My openSUSE workstation with two monitors can be used as the VNC client and I can comfortably type on my Model M.

Going from here

I still have a lot of reading to do, but finally I have a basic setup for developing software, in C, for the PinePhone. Maybe I now will get a promotion from noob to newbie.

Next: Bleutooth LE bonding