-
Tiling Window Managers
09/09/2020 at 12:27 • 0 commentsI've flip-flopped again on the software design, and decided to go for a more hacker-ey approach that uses a tiling window manager + terminal window instead of a browser in kiosk mode. I'm using the following software:
- Xubuntu 18.04
- Xmonad window manager
- XFCE4 terminal
- Vim/Nano text editors
- Feh image browser
- Zathura PDF viewer
- W3M browser
- Ranger/NNN file managers
- HTOP system viewer
- NCDU disk space viewer
I discovered it's pretty easy to hack together a menu-based interface with Fish shell script, though it's a bit janky. Better options are wiretail (easier, more portable)/dialog (more verbose, more flexible) which allow for decent-looking GUIs in shell scripts.
Off-topic, I also learned about Zenity which is the GTK equivalent. It has Python bindings and seems like a nicer alternative to PyQT (pretty but tedious to code up) and PySimpleGUI (fast to code but hideous as the library tries to look like a 90s WinForms enterprise app). -
Notes Software
09/07/2020 at 14:38 • 0 commentsAfter a bit of research, there really isn't much in the way of distraction-free writing apps that work in a browser. The most popular (Typora, commercial and FocusWriter, FOSS) are native. Probably this is an entirely reasonable thing. Currently I'm looking at notes apps. Standard Notes seems nicest, but it's a bit of a pain to get running. Reasonable alternatives are Trillium, Wiki.js, BookStack, WriteFreely and the various NextCloud notes add-ons.
-
First Prototype
09/06/2020 at 14:27 • 0 commentsCurrently the project is based on an i3 Intel NUC running Xubuntu + FocusWriter. I have a couple of decisions to make:
1. Should I stick with Intel, go to ARM or stay processor-agnostic?
2. Should I use native fullscreen applications or web-based ones running in FIrefox in kiosk mode?
3. How to Sync? Should I support cloud/network storage, USB drives or adding hardware to emulate a keyboard like the AlphaSmart?
Currently (1) doesn't seem to be too important. There are pros and cons either way. Staying on Intel means better availability of pre-prackaged software and the ability to use the majority of Chromebooks. Going to ARM means the ability to use Pis, Pi0's and PineBooks, and is probably a better choice for a hacker project. A cyberdeck version would be pretty sweet.
With (2) the majority of writing applications are written natively so I haven't found any self-hosted browser-based solutions for writing other than https://github.com/writeas/writefreely. However, a Firefox kiosk-based solution means a couple other benefits: I can limit internet access by whitelisting sites rather than removing or disabling networking hardware. This means that I'm not limited to self-hosted solutions and can use ones that are fully or partly cloud-based like https://www.calmlywriter.com/. This also makes it easy to add local web-based capabilities like SageMath/Falstad, or other cloud-based ones like Cocalc/Repl.it/Overleaf. Honestly, having calculator functionality is more interesting to me than just a writing tool (I'm an engineer and frankly not much of a writer).
With (3) supporting cloud/network storage is easiest from the user-interface perspective. Using USB drives means the need to give the user access into the filesystem, complicating UI. And much as I like my AlphaSmart, emulating a keyboard is a slow unreliable and pretty rubbish way of transferring data.