aboutsummaryrefslogtreecommitdiffstats
path: root/docs/lowbat.org
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-11-13 16:33:24 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-11-13 16:33:24 +0100
commit30228e1c4c0abe713382e24ecb4ecdf5f00ea9e4 (patch)
treef231cde6830e5c1d4bc32340bd1b245f625b570f /docs/lowbat.org
parentNew theme (diff)
downloadjoe-www-30228e1c4c0abe713382e24ecb4ecdf5f00ea9e4.tar.gz
joe-www-30228e1c4c0abe713382e24ecb4ecdf5f00ea9e4.tar.bz2
joe-www-30228e1c4c0abe713382e24ecb4ecdf5f00ea9e4.tar.xz
joe-www-30228e1c4c0abe713382e24ecb4ecdf5f00ea9e4.tar.zst
joe-www-30228e1c4c0abe713382e24ecb4ecdf5f00ea9e4.zip
Changed org to docs dir
Diffstat (limited to 'docs/lowbat.org')
-rw-r--r--docs/lowbat.org62
1 files changed, 62 insertions, 0 deletions
diff --git a/docs/lowbat.org b/docs/lowbat.org
new file mode 100644
index 0000000..a2fc8a5
--- /dev/null
+++ b/docs/lowbat.org
@@ -0,0 +1,62 @@
+#+TITLE: lowbat - lightweight low battery notifier
+
+* Why lowbat?
+ I've been using minimalist OS installations for work, personnal computing
+and playing video games for a while now. I used [[https://www.archlinux.org/][Arch Linux]], I still use
+[[https://gentoo.org/][Gentoo Linux]] - which is by far my favorite Linux distribution - as a desktop
+OS, and now I am using [[https://www.freebsd.org/][FreeBSD]] on my workstation.
+
+Those operating systems and distributions basically come with a kernel,
+coreutils, a shell and that's pretty much it. Everything else has to be
+installed manually. I love this philosophy, the simplicity behind it and the
+fact that you know exactly what's on your system at any moment.
+
+As window managers, I used [[http://dwm.suckless.org/][dwm]] for a while, and I am now using [[https://github.com/baskerville/bspwm][bspwm]]. They
+are ultra-fast, very lightweight and do not bring extra bloatware to my systems.
+I do not use a status bar as well, I like my applications to use the full screen
+space available.
+
+A big problem for me with this setup for me was that they do not come with some
+kind of warning or notification system, like fancier desktop environments would,
+when my laptop battery is low. That also was before I started using *Emacs*,
+discovering the battery level indicator in the modeline. Ultimatly the
+frustration was too important when the computer kept shutting down in
+the middle of important work too many time. Then I decided to create *lowbat*
+to cure this issue.
+
+* History of lowbat
+ It started as a very short ~dash~ shell (get [[https://github.com/tklauser/dash][dash]] here) script that was
+working fine but I wanted to experiment a little bit with this. It turned into
+a ~C++~ program, which is still the case for the GNU/Linux version.
+Switching to FreeBSD, I exerimented again by turning it into an
+~x64 assembly~ program, following the *Intel* syntax. In that way *lowbat* is
+even more lightweight and consumes less battery power.
+These days, I am rewriting it in the *AT&T* syntax.
+
+* How it works
+** libnotify lowbat
+ The principle of *lowbat* is rather simple. When it's running in the
+background, it checks every 4 minutes whether your battery is above 15%.
+If that is the case, it sleeps for another 4 minutes. When your battery runs
+bellow 15%, *lowbat* checks your battery level every 20 seconds as well as
+sending you a *notification* using ~libnotify~. You can display live
+notifications on your desktop using ~dunst~ for example, as well as many
+other I'm sure.
+
+#+CAPTION: A notification generated by lowbat, displayed by dunst
+#+NAME: fig:lowbat-example
+[[../img/lowbat-01.jpg]]
+
+** espeak lowbat
+ *lowbat* also has an option to send a custom voice message to the use
+using ~espeak~. Very handy if you are not in front of your computer or
+if you want to bring joy to this dramatic event.
+
+** unknown lowbat
+ Sadly, I wasn't able to test lowbat on machines with more that one
+battery. My call is that it will only warn you for the /first/ battery,
+but I can't be sure. Try it and tell me!
+
+* Links to lowbat
+ - GNU/Linux: [[https://github.com/JozanLeClerc/lowbat][lowbat's GitHub GNU/Linux repository]]
+ - BSD: [[https://github.com/JozanLeClerc/lowbat-bsd][lowbat's GitHub BSD repository]]