site  contact  history  index

Mapping all download folders to one folder

December 04, 2021 — BarryK

With the introduction of non-root client applications, there are multiple download folders. For example, firefox runs as user 'firefox', with home folder 'home/firefox', and default download path /home/firefox/Downloads'.

OK, but if we have more non-root client apps, each with its own Download folder, it is starting to become inconvenient. Perhaps. Forum member hundido was showing a grandma how to use EasyOS, and she liked it, except for all these different download paths:

I have fixed the YouTube downloader, it now defaults to /files/downloads. Here is a photo showing the current situation:


Clicking on "files" icon at top-left of screen, opens ROX-Filer at /files. This is where you expect to find all of your personal files. Quite reasonable for grandma to expect downloaded files to be in /files/downloads.

However, firefox defaults to downloading to /home/firefox/Downloads. Yes, I could change the default download path, however, many apps default to saving at ~/Downloads, so rather than try and fix every future non-root client app, I thought of a different solution.

I don't really know if this is a good solution. Perhaps it would be better to try and set all non-root apps to download to /files/downloads. I know there are XDG path variables, but don't know of one that would just affect download and file-save paths.

So, this is what I have done. In /etc/rc.d/rc.sysinit have inserted this code:

#20211204 map all download folders to /files/download
# all the non-root clients belong to group fscryptgrp...
chgrp fscryptgrp /files/downloads
# allow clients to write to this folder...
chmod 775 /files/downloads
for aDL in `ls -1 -d /home/*/Downloads 2>/dev/null`
if [ -d "${aDL}" ];then
busybox mount --rbind /files/downloads ${aDL}

The effect of this will be that if, while running firefox, a file is downloaded to /home/firefox/Downloads, it will also appear in /files/downloads. Ha ha, but it will also appear in /home/chromium/Downloads

One detail, it will not be necessary to set group and permissions of /files/downloads at every bootup.

I might have to rethink this, but will go with this solution for now. Now, grandma can click on "files" and immediately see downloaded files.

Of course, another solution is symlinks, for example symlink /home/firefox/Downloads to /files/downloads. Yet another possibility is to have subfolders /files/downloads/firefox, etc., and either bind-mount or symlink from /home/firefox/Downloads etc.

EDIT 2021-12-05:
Wasn't happy with the above solution. A train of thought was set in process, that has resulted in significant changes. Have opted for the symlink solution.
Furthermore, /files is no longer a symlink to /mnt/wkg/files. Instead, /mnt/wkg/files is bind-mounted on /files. /files exists without the bind-mount, which simplifies things in containers.
A bit complicated to explain, but the end result should be good, simpler.

Tags: easy

JWM menu button text is broken

December 04, 2021 — BarryK

I recently posted about upgrading JWM from 1685 to 2.4.0:

This is in EasyOS 3.1.11, but oh dear, look at the menu button:


I have reported it to the JWM github project:

I want to bring out a new release of EasyOS in a couple of days, so if the problem isn't resolved quickly, I will roll back to 1685. Actually, 1685 works fine, I have had no issues with it, so really why upgrade just because there is a later version?   

Tags: easy

Kernel 5.10.83 compiled

December 04, 2021 — BarryK

I recently compiled the 5.10.81 kernel:

I have received a request to bring back the Broadcom STA wifi 'wl.ko' moldule. It was announced back in December 2020:

It was compiled with the 5.10.39 kernel, but was removed afterward.

OK, it has returned. It must be understood of course, that the wl.ko module conflicts with others, hence has to be a separate PET. It means that every time you upgrade to a later version of EasyOS that has a later kernel, you will have to un-install the PET and install the one that matches the new kernel.

Kernel source, with patches and build scripts, is here:      

Tags: easy

Balsa email client

December 03, 2021 — BarryK

I have posted recently about retiring SeaMonkey, instead have separate applications for browsing, HTML editing and email client. The browser is now Firefox. For now, unless decide to change, the HTML editor is BlueGriffon, see post:

That leaves an email client. Some of the pups have used Claws or Sylpheed, but I decided to go for Balsa. Balsa home:


I have chosen an older gtk2 version, 2.4.7, as it has configure choices that suit EasyOS. For example:

It integrates with Osmo personal information manager. I haven't tested this, so don't know how it works.

It uses the libgtkhtml v2 library to render HTML emails. This is great, as libgtkhtml v2 is already in EasyOS, used by helpsurfer local document viewer, and Osmo.

It has been a very long time since I used an email client app. I access gmail via the web interface, and keep all my emails online, going back years. Sometimes this bothers me. I am wondering if should use Balsa to pop all the emails off and archive them somewhere. In an encrypted folder -- we already have ext4 folder encryption support, so that will be easy to do.

All that I have done so far is start Balsa, and confirm that it doesn't crash at startup. Maybe one of you guys familiar with email pop and imap could test it. Balsa will be in the next Easy, coming soon.  

Tags: easy

Mercurial source control manager now in devx

December 02, 2021 — BarryK

I wanted to clone mozilla-central, which is a mercurial repository, requiring the 'hg' executable to clone it.

So, I have compiled it, version 5.2, in OpenEmbedded and added it to the package list for inclusion in the devx SFS.

Here is the mercurial homepage:    

Tags: easy

Ancient BlueGriffon version 1.0 PET created

December 02, 2021 — BarryK

I posted recently about compiling, and attempting to run, BlueGriffon version 3.2pre:

There has been recent discussion of WYSIWYG HTML editors on the Puppy Forum:

...mikewalsh has created some packages. There is a link with old versions, going right back to version 1.0, and as I reported in the forum thread, that ancient version works.

In EasyOS I only need a very basic HTML editor, for maintaining the local documentation files. I also need it for shellCMS, my static site creation tool. Note that shellCMS is introduced online, at, and is also in EasyOS at /usr/local/shellcms.

Up until now, EasyOS has the SeaMonkey suite, however, as it seems moving to Firefox for browsing, a simple WYSIWYG HTML editor is required, and BlueGriffon will fill that niche. It only has to be HTML4, so BlueGriffon 1.0 will be fine.

Well, no, I probably only need HTML 2.0. Differences are shown here:

Here is BlueGriffon 1.0 running in EasyOS:


The PET is 16.6MB and is here:

Or, if you want a later version, see Mike's packages in the forum thread.

My PET has updating disabled, and the browser for previewing is set to "defaultbrowser", which will work in all the pups.

Haven't decided whether will use this BlueGriffon PET in the next release of EasyOS. It depends on outcome of compiling attempts.     

Tags: easy

Firefox version 94.0.2

December 01, 2021 — BarryK

WoofQ has a script that downloads the latest version of Firefox. I wrote how easy it is to do that:

Have just downloaded English, French and German Firefox 94.0.2 tarballs, and it will be in the next release of EasyOS.

I also modified the popup message, the first time that Firefox is run. It is now:

Hardware acceleration has been disabled for stability. To enable, edit /usr/lib/firefox/distribution/policies.js, then start Firefox and enable in Settings.

And the message is translated for the French and German builds.

Though, don't know why "hardware acceleration" has to be enabled, as Firefox is plenty fast enough. For me, plays 1080p videos without stuttering, even on older hardware.   

Tags: easy

YouTube downloader fixes

December 01, 2021 — BarryK

The guys are helping me test EasyOS 3.1.11:

Forum member hundido reported that the YouTube GUI app (in Internet menu) downloaded to /root.

I would like all apps to default to download to /files/download, so I fixed the YouTube downloader package.

The YouTube downloader GUI is a frontend for /usr/bin/youtube-dl, which is a python script. A problem is that YouTube move the goal posts, in an attempt to stop these downloaders from working. The youtube-dl developers respond by changing their script so that it works again.

The GUI has an "Update" button, however, I have modified the build in woofQ so that the latest youtube-dl script will be downloaded and used every time that I release a new version of EasyOS.  

Tags: easy