<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Dilip's Log</title><link>http://idlip.in/</link><description>Dilip's Log</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2023-2026, Dilip | Zororg; All rights reserved.</copyright><lastBuildDate>Sat, 16 Dec 2023 00:00:00 +0000</lastBuildDate><atom:link href="http://idlip.in/tags/android/rss.xml" rel="self" type="application/rss+xml"/><ttl>1440</ttl><item><title>Emacs on Droid</title><link>http://idlip.in/posts/emacs-droid/</link><pubDate>Sat, 16 Dec 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/emacs-droid/</guid><category>emacs</category><category>android</category><description>&lt;p&gt;
Emacs is a definite Greatest editor of all time, the extensibility power is unmatched with any other software. Users of Emacs can only know what it is, one who has not used it may not really understand the principles and power it gives us, the users.&lt;/p&gt;
&lt;p&gt;
Once settled with it on PC, its not late to think of something similar for our handy pocket phones, at least support for &lt;strong&gt;org-mode&lt;/strong&gt; so we organize our life. The research leads us to find apps, and its unfortunate that market has lots of apps supporting markdown, just for its markup. Even org-mode is good for markup only, Karl voit&amp;#39;s &lt;a href="https://karl-voit.at/2017/09/23/orgmode-as-markup-only/"&gt;post&lt;/a&gt; explains it very well.&lt;/p&gt;
&lt;p&gt;
Finally we have some apps for org-mode, namely on Android &lt;a href="https://github.com/orgzly/orgzly-android"&gt;Orgzly&lt;/a&gt; (maintained: &lt;a href="https://github.com/orgzly-revived/orgzly-android-revived"&gt;orgzly-revived&lt;/a&gt;), Orgro (read-only app) and there is &lt;a href="https://organice.200ok.ch/"&gt;Organice&lt;/a&gt; (PWA site, unique, supports desktop).
Surprisingly IOS has many apps for org-mode, namely &lt;a href="https://beorgapp.com/"&gt;beorg&lt;/a&gt; and &lt;a href="https://plainorg.com/"&gt;plain org&lt;/a&gt; (I dont use IOS, so please search app store).&lt;/p&gt;
&lt;p&gt;
New project under development &lt;a href="https://github.com/Artawower/orgnote-client"&gt;OrgNote&lt;/a&gt; also looks promising.&lt;/p&gt;
&lt;p&gt;
But it was near February, 2023, that Po Lu, one of the Emacs developer, started and released support for touch-screen devices (including Android) and to our surprise it was &lt;strong&gt;the graphical Emacs&lt;/strong&gt;, available now on Android. But before trying the first doubts and cons expected was that it does not work well with virtual keyboard, so only good option is to carry physical keyboard everywhere?
That could be solved by getting adjusted to keyboard app called &amp;#34;Hackers Keyboard&amp;#34; (TODO link).&lt;/p&gt;
&lt;p&gt;
But as I dug deep, the developer Po Lu, was on telegram channel in disguise, as I pointed that emacs android needed android&amp;#39;s share feature (like open-with) to other people, he had seen it and implemented is very quickly. It shows how much of an interesting take-up it is.&lt;/p&gt;
&lt;p&gt;
Orgzly actually satisfied org-mode and agenda things with help of syncthing over org directory. But the next bummer came when I fell in love with &lt;a href="https://github.com/skeeto/elfeed"&gt;Elfeed&lt;/a&gt; (RSS reader) and badly wanted to read feeds in sync with my phone. Since Emacs officially made its way for Android, so why not open some doors, indeed it did gave the power of emacs-lisp!&lt;/p&gt;
&lt;p&gt;
Initially I started with bare-bone config, and later tried to incorporate my PC config with android, and it was easy, without much hassle. Just had to define a constant to check if system is on Linux or Android, and use the keyword in condition statements and &lt;code class="verbatim"&gt;use-package&lt;/code&gt;. Next thought would be to use Unix tools/commands, so it only leads to Termux, and after few days, the developer released Termux signed apk to use in conjunction with emacs, so as to leverage the command line utilities in Android emacs too, namely &lt;code&gt;ripgrep&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt;. I have not tried &lt;code&gt;image-magick&lt;/code&gt;, &lt;code&gt;mupdf&lt;/code&gt; for &lt;code class="verbatim"&gt;pdf-tools&lt;/code&gt;. But frankly &lt;a href="https://github.com/foobnix/LibreraReader"&gt;Librera reader&lt;/a&gt; is good enough.&lt;/p&gt;
&lt;p&gt;
Here is a &lt;a href="https://marek-g.github.io/posts/tips_and_tricks/emacs_on_android/"&gt;blog post&lt;/a&gt; by marek-g explaining how termux is modified to use with Emacs&lt;/p&gt;
&lt;p&gt;
Note: Fdroid emacs apk lacks some support like GnuTLS (so won&amp;#39;t be able to install package or use eww), thus the only source to get emacs builds for Android is &lt;a href="https://sourceforge.net/projects/android-ports-for-gnu-emacs"&gt;https://sourceforge.net/projects/android-ports-for-gnu-emacs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
For anyone trying it out again or newly, please make sure you go through &lt;code class="verbatim"&gt;C-h R android&lt;/code&gt; or &lt;code class="verbatim"&gt;C-h r m android&lt;/code&gt; for frequent issues or things to know for Android build. For any queries to me, please feel free to open up an issue over this &lt;a href="https://github.com/idlip/d-nix"&gt;repo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Overall with setting only few variables for android specifically, I replicated almost same emacs config on Android. The definite org-mode reader, read Elfeed feeds in sync with PC, whatever emacs packages you use.&lt;/p&gt;
&lt;p&gt;
Config just for android exclusively:&lt;/p&gt;
&lt;div class="src src-emacs-lisp"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-emacs-lisp" data-lang="emacs-lisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; define constant to check if system is android&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defconst&lt;/span&gt; &lt;span class="nv"&gt;d/on-droid&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;eq&lt;/span&gt; &lt;span class="nv"&gt;system-type&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;android&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; if system is android, executes following code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;when&lt;/span&gt; &lt;span class="nv"&gt;d/on-droid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;custom-set-variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;touch-screen-precision-scroll&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;;; smooth scrolling&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;touch-screen-display-keyboard&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;;; ^ display virtual keyboard when touch on phone screen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;;; does not work on read-only buffer (dashboard, startup..)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;browse-url-android-share&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;;; open links/urls with android&amp;#39;s open-with or share kinda popup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;d/key-droid&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;&amp;#34;To enable touch screen keyboard&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;interactive&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;frame-toggle-on-screen-keyboard&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;selected-frame&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
I&amp;#39;m not sure how suitable it is for coding environment (with lsp and complexities), but it behaves as expected for reading purpose and for quick note taking. I should probably say, it excels in that segment.&lt;/p&gt;</description></item><item><title>FOSS : On Droid</title><link>http://idlip.in/posts/foss-droid/</link><pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/foss-droid/</guid><category>fossdroid</category><category>android</category><description>&lt;p&gt;
As we know, Android is widely popular OS for many phone. But these days its all filled with junks and bloated apps, these are to say so called &lt;strong&gt;&amp;#34;Popular Android Apps&amp;#34;&lt;/strong&gt; or &lt;strong&gt;&amp;#34;Trending Apps&amp;#34;&lt;/strong&gt;. The reason simply would be &amp;#34;everyone in my circle uses it&amp;#34; or &amp;#34;I use it because &lt;span style="text-decoration: underline;"&gt;they&lt;/span&gt; use it&amp;#34;.&lt;/p&gt;
&lt;p&gt;
But surely you are not giving yourself some privacy or &lt;strong&gt;space&lt;/strong&gt; that you need for your own &lt;strong&gt;personal phone&lt;/strong&gt;.
I&amp;#39;m talking about using Free/Libre and Open Source (FOSS) Apps. Free doesn&amp;#39;t mean by price, Free means &lt;strong&gt;Freedom&lt;/strong&gt;. Freedom that comes with :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No Trackers.&lt;/li&gt;
&lt;li&gt;No Ads.&lt;/li&gt;
&lt;li&gt;Minimal permission.&lt;/li&gt;
&lt;li&gt;Has customization to users need.&lt;/li&gt;
&lt;li&gt;No Restrictions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These can be achieved in this modern time, by Discovering and using FOSS Apps, the best place being &lt;a href="https://f-droid.org"&gt;F-droid&lt;/a&gt; or &lt;a href="https://libreddit.kavin.rocks/r/fossdroid"&gt;r/fossdroid&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
There are pretty much all apps under FOSS area for every purpose, they are good looking with &lt;strong&gt;Modern UI&lt;/strong&gt;, &lt;strong&gt;Lots of Customizations&lt;/strong&gt; and &lt;strong&gt;friendly with Battery&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;
I happened to search for book and novel reader and found very good apps there, like QuickNovel.
There is a Manga reader and lots more for every purpose.&lt;/p&gt;
&lt;p&gt;
I exclusively use every apps from F-droid, because they are great.
You should also use it, as you might find something interesting and surely, gets Surprised; and say in your head, &lt;strong&gt;&lt;em&gt;Gosh I should have known this before&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;
Some of the cool apps I use everyday :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Class&lt;/th&gt;
&lt;th&gt;Apps&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Launcher&lt;/td&gt;
&lt;td&gt;Kvæsitso (&lt;a href="https://apt.izzysoft.de/fdroid/index/apk/de.mm20.launcher2.release"&gt;izzydroid&lt;/a&gt;, &lt;a href="https://github.com/MM2-0/Kvaesitso"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F-droid Client&lt;/td&gt;
&lt;td&gt;Neo Store (&lt;a href="https://f-droid.org/en/packages/com.machiav3lli.fdroid/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/NeoApplications/Neo-Store"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser&lt;/td&gt;
&lt;td&gt;Mull (&lt;a href="https://f-droid.org/en/packages/us.spotco.fennec_dos/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://gitlab.com/divested-mobile/mull-fenix"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rss Reader&lt;/td&gt;
&lt;td&gt;Read You (&lt;a href="https://f-droid.org/en/packages/me.ash.reader/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/Ashinch/ReadYou"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;YouTube&lt;/td&gt;
&lt;td&gt;LibreTube (&lt;a href="https://f-droid.org/en/packages/com.github.libretube/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/libre-tube/LibreTube"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PDF/Ebook Reader&lt;/td&gt;
&lt;td&gt;Librera Reader (&lt;a href="https://f-droid.org/en/packages/com.foobnix.pro.pdf.reader/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/foobnix/LibreraReader"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manga Reader&lt;/td&gt;
&lt;td&gt;Tachiyomi (&lt;a href="https://f-droid.org/en/packages/eu.kanade.tachiyomi/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/tachiyomiorg/tachiyomi"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Password Manager&lt;/td&gt;
&lt;td&gt;KeePassDX (&lt;a href="https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/Kunzisoft/KeePassDX"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Novel Reader&lt;/td&gt;
&lt;td&gt;QuickNovel (&lt;a href="https://apt.izzysoft.de/fdroid/index/apk/com.lagradost.quicknovel"&gt;izzydroid&lt;/a&gt;, &lt;a href="https://github.com/LagradOst/QuickNovel"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keyboard&lt;/td&gt;
&lt;td&gt;Unexpected Keyboard (&lt;a href="https://f-droid.org/en/packages/juloo.keyboard2/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/Julow/Unexpected-Keyboard"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Media Player&lt;/td&gt;
&lt;td&gt;VLC (&lt;a href="https://f-droid.org/en/packages/org.videolan.vlc/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://code.videolan.org/videolan/vlc-android"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gallery + Calendar (many more)&lt;/td&gt;
&lt;td&gt;Simple Tools Suite (&lt;a href="https://search.f-droid.org/?lang=en&amp;amp;q=simple+tools"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/SimpleMobileTools"&gt;git&lt;/a&gt;, &lt;a href="https://simplemobiletools.com"&gt;site&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Note Taking&lt;/td&gt;
&lt;td&gt;Orgzly (&lt;a href="https://f-droid.org/en/packages/com.orgzly/"&gt;fdroid&lt;/a&gt;, &lt;a href="https://github.com/orgzly/orgzly-android"&gt;git&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;div class="center-block" style="text-align: center; margin-left: auto; margin-right: auto;"&gt;
&lt;p&gt;With that fossed, I hope your phone gets a new life and finally breathes alive!&lt;/p&gt;
&lt;/div&gt;</description></item></channel></rss>