ROX-Filer improve handling thumbnails
Forum member l0wt3ch is improving ROX-Filer, see recent blog post:
- ROX-Filer back and forward buttons — April 18, 2026
- ROX-Filer copy leak fixed — April 18, 2026
Now, improvements for thumbnails:
https://forum.puppylinux.com/viewtopic.php?p=168683#p168683
I have applied the 'rox-thumbnails-easy.patch' and recompiled
ROX. It is now
'rox-filer-20260421-excalibur.pet'.
Tags: easy
Less cryptic choose console keyboard layout
At very first bootup, a list of console keyboard layouts is
displayed in the initrd, and the user is asked to choose one.
However, they are very cryptic, so I have replaced with more
meaningful country names.
The code is in /inc/00functions in the initrd. I have left in the previous display, commented out:
KEYMAP=us
#now ask for KEYMAP... 20260421 less cryptic...
#echo -e '\e[1;;45m 1 azerty 2 be-latin1 3 br-abnt2 4 br-abnt 5 br-latin1-abnt2 6 br-latin1-us
#7 by 8 cf 9 croat 10 cz 11 de 12 de-latin1
#13 dk 14 dvorak 15 dvorak-l 16 dvorak-r 17 es 18 et
#19 fi 20 fr 21 gb 22 gr 23 hu101 24 hu
#25 il 26 it 27 jp106 28 la-latin1 29 lt 30 mk
#31 nl 32 no 33 pl 34 pt-latin1 35 ro 36 ru
#37 se 38 sg 39 sk-qwerty 40 sk-qwertz 41 slovene 42 srp
#43 sv-latin1 44 tr 45 us 46 wangbe \e[0;;m'
echo -e '\e[1;;45m 1 Azerty 2 Belgian-latin1 3 Brazilian-abnt2
4 Brazilian-abnt 5 Brazilian-latin1-abnt2 6 Brazilian-latin1-us
7 Belarus 8 Central African Republic 9 Croatian
10 Czechia 11 Deutsch 12 Deutsch-latin1
13 Denmark 14 Dvorak 15 Dvorak-l
16 Dvorak-r 17 Español 18 Eesti-keel
19 Suomalainen 20 Français 21 Great Britain
22 Ελλάδα 23 Mađarski-101 24 Mađarski
25 Israel 26 Italiano 27 Japanese-106
28 Latin-American-latin1 29 Lietuvių 30 македонски
31 Nederlands 32 Norsk 33 Polski
34 Português-latin1 35 Română 36 Русский
37 Sverige 38 Singapore 39 Slovenský-qwerty
40 Slovenský-qwertz 41 Slovene 42 srp
43 Svenska-latin1 44 Türkçe 45 USA 46 Wangbe \e[0;;m'
echo -n -e '\033[1;;44m'
while read aLINE
do
echo -n ' '
echo -n -e '\033[1G' #move cursor back to col 1.
echo " ${aLINE}"
done << EOT
$(echo " ${S015:-Please enter the number corresponding to your keyboard layout.}")
$(echo "${S016:-Choose the closest match, there will be an opportunity to fine-tune the layout after the desktop has loaded. Press ENTER only for US.}" | fold -s -w 70)
EOT
This cryptic display was criticised in the last review of EasyOS
in Distrowatch. I could make it into a bit more GUI-like with the
'dialog' utility; maybe in the future.
Tags: easy
Limine Installer bug fix
Forum member peasthope discovered a bug with Limine Installer:
https://forum.puppylinux.com/viewtopic.php?t=16680
Looking at the posts in that thread and in the Limine Installer code, I found a potential bug. I'm not 100% sure that it is the specific bug that peasthope has encountered, but it is a bug.
The fix is to check the mounted status of partitions in the
/usr/local/easy-installer/easy-installer script, in two places.
For example, at line 392:
. /tmp/limine-installer/lsblk-${ESPdest}
#20260419 check if MOUNTPOINT still valid...
realMP="$(lsblk --pairs -o MOUNTPOINT /dev/${ESPdest} | cut -f 2 -d '"')"
if [ "$realMP" != "$MOUNTPOINT" ];then
sed -i -e "s%^MOUNTPOINT=.*%MOUNTPOINT=\"${realMP}\"%" /tmp/limine-installer/lsblk-${ESPdest}
MOUNTPOINT="${realMP}"
fi
#mount the partition...
if [ -n "$MOUNTPOINT" ];then
The problem potentially happens as 'limine-installer' calls
'find-installations' which records the mounted status of
partitions, then a GUI window is displayed with checkboxes to
choose the found OS installations. The window has a "GENERATE"
button; however if the person clicks on partitions to look inside
them, before clicking "GENERATE", that will change the mounted
status, which will cause an error later in the script. The above
code check fixes that.
Tags: easy
ROX-Filer back and forward buttons
Previous blog post, l0wt3ch fixed a memory leak:
- ROX-Filer copy leak fixed — April 18, 2026
I applied the patch, which is great, but what I didn't realise is that the patch also includes this:
https://forum.puppylinux.com/viewtopic.php?t=16611
So we now also have back and forward buttons:

...mouse-over, there is popup text. The buttons also remember history, so wherever you go in the folder hierarchy, you can back-track, and go forward again.
This is a really nice new feature for
ROX!
Tags: easy
ROX-Filer copy leak fixed
Forum member l0wt3ch has done some superb detective work, discovering and fixing a leak:
https://forum.puppylinux.com/viewtopic.php?p=168494#p168494
Quoting:
Dragging a couple of isos and a big folder full of files from a usb stick to an internal drive was causing ROX to eat all of my RAM, so I took a gdb dump and got the bot to examine it. Said there was at least one real memory leak in ROX-Filer, caused by a bug in filer.c/filer.h. So I asked if this bug was already present in the original woof-CE code (after uploading the files), and yes it was, the bug is in the woof-CE source. So I uploaded the files, and all of the patches, from EasyOS, and asked if the bug was there also. Answer was yes it is, but half of the problem is fixed in Easy.
I have applied the patch in woofQ2 and compiled ROX. The pet is
now 'rox-filer-20260418-excalibur.pet', which will be in the next
release of Easy.
Tags: easy
EasyClone support portable apps
Tutorial on EasyClone here:
https://easyos.org/install/how-to-clone-a-easyos-installation.html
We have been discussing EasyClone here:
https://forum.puppylinux.com/viewtopic.php?t=16721
Forum member pp4mnklinux has Mike's portable apps in /files/portable, which is a folder that I originally created thinking that portable apps can be there. Though, portable apps can really be anywhere.
If they are in /files/portable, have added a checkbox to EasyClone:

Currently not cloning anything else under
/files
Tags: easy
Getting USB4 hotplug to work
This is being discussed here:
"How to hot plug an external USB-C hard drive in a Thunderbolt
port?"
https://forum.puppylinux.com/viewtopic.php?t=16711
I configured the 6.12.81 kernel with CONFIG_USB4:
- Kernel 6.12.81 with CONFIG_USB4 — April 12, 2026
Arch Linux has, as usual, great documentation:
https://wiki.archlinux.org/title/Thunderbolt
Forum member rockedge reminded me, also need a udev rule. So have created /etc/udev/rules.d/99-thunderbolt.rules:
#20260417 ref: https://wiki.archlinux.org/title/Thunderbolt
# ref: https://forum.puppylinux.com/viewtopic.php?p=168112#p168112
ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"
Hopefully getting there!
EDIT:
After further reading of the Arch documentation, have renamed to
/etc/udev/rules.d/97-thunderbolt.rules, with this content:
#20260417 ref: https://wiki.archlinux.org/title/Thunderbolt
# ref: https://forum.puppylinux.com/viewtopic.php?p=168112#p168112
ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"
ACTION=="change", SUBSYSTEM=="thunderbolt", RUN+="/usr/local/pup_event/thunderbolt-rescan.sh"
And /usr/local/pup_event/thunderbolt-rescan.sh has this content:
#!/bin/ash
echo 1 > /sys/bus/pci/rescan
This will be in the next release.
Tags: easy
Border line-characters in text-mode dialog utility
Forum member szept reminded me of this problem. Running 'xorgwizard' from a terminal, X not running, the text-mode dialog boxes are supposed to have line-characters to draw the borders, but instead have weird characters. See the photos here:
https://forum.puppylinux.com/viewtopic.php?p=168389#p168389
Yes, you can see this for yourself, go to the menu "Shutdown --> Rectify --> Exit to commandline" then run this:
# dialog --msgbox "this is a message using the text-mode dialog utility" 0 0
This is what it is supposed to look like:

...and yes, you will get those correct border lines if do it in a
terminal window when Xorg is running.
If you check the TERM variable:
# echo $TERM
xterm
Changing TERM to "linux" does fix the border lines. I don't recall why I chose TERM=xterm, or maybe I didn't, maybe that is Devuan's default? Don't recall, too long ago. Ah, just remembered, TERM is set in file /etc/profile:
TERM="xterm"
I will leave it at "xterm", because there is another fix. Created /etc/profile.d/ncurses, with this content:
export NCURSES_NO_UTF8_ACS=1
There is information online about "NCURSES_NO_UTF8_ACS", for example:
https://stackoverflow.com/questions/12089306/strange-extended-characters-in-ncurses
https://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_NO_UTF8_ACS
I asked Google AI "what are acs characters in a linux terminal":
ACS (Alternate Character Set) characters in the Linux terminal
are a specialized set of graphical symbols used to draw lines,
boxes, and other interface elements (like diamonds or
checkerboards) in text-based applications. They are derived from
the VT100 terminal standard and allow tools like top, vim, nano,
and iftop to create a graphical user interface (GUI) appearance
within a terminal emulator.
Super User
Super User
Key Aspects of ACS
Purpose: To draw boxes and lines (┌, ─, ┐, └, ┘, │) that form
menus, panels, and borders.
Mechanism: When an application (like ncurses) wants to draw a
box, it sends an escape sequence to the terminal to switch from
normal ASCII text mode to the "alternate character set" mode. In
this mode, standard keyboard characters (like q, x, l, k) are
rendered as graphics (like lines or corners).
Terminfo (acsc): The capability of a terminal to support these
characters is defined in its terminfo entry, often denoted by
the acsc string.
ACS vs. Unicode: While modern terminals often use UTF-8
box-drawing characters, ACS is a legacy technology that predates
wide UTF-8 adoption, enabling line-drawing on older or
restricted terminal emulators.
Whatever, setting NCURSES_NO_UTF8_ACS=1 works.
I asked Google AI "what is the term variable set to in most linux distributions":
In most Linux distributions, the $TERM environment variable is
automatically set to xterm-256color in modern terminal emulators
(like GNOME Terminal, Konsole, or Terminal.app).
However, the value can change based on how you are logged in:
🖥️ Inside a Terminal Emulator (GUI): xterm-256color (Default
for modern GNOME, Ubuntu, Arch)
💻 Physical/Virtual Console (tty1-6): linux
📡 Remote Session (SSH): Inherits from the local machine
(usually xterm-256color or xterm)
⚠️ Older Systems/Basic Emulators: xterm or vt100
As I recall, TERM=xterm supports only 16 colours. I am happy with
that.
EDIT:
I recall, years ago, getting these line-characters right was
complicated. Testing now, problems with 'mp' console text
editor. Here is a table of what works, first in a terminal when
X running:
| TERM |
NCURSES_NO_UTF8_ACS |
|
| dialog |
xterm or linux |
set or unset |
| mp |
xterm |
unset |
Now exit from X:
| TERM |
NCURSES_NO_UTF8_ACS |
|
| dialog |
xterm |
set |
| dialog |
linux |
unset |
| mp |
linux |
unset Also
need LANG=C |
I'm still figuring out how to handle this.
EDIT:
'mp' is very old code, not UTF8-aware. So treating it as a
special case. It is in PET package 'mped', that I have modified,
changed the executable 'mp' to 'mp.real' and created a 'mp'
script:
#!/bin/ash
export LANG=C
export TERM=linux
exec mp.real $@
...and doesn't matter whether
NCURSES_NO_UTF8_ACS set or unset. Now, looks like dialog and mp
borders will draw properly when X running or not.
Tags: easy