site  contact  subhomenews

ROX-Filer improve handling thumbnails

April 21, 2026 — BarryK

Forum member l0wt3ch is improving ROX-Filer, see recent blog post:

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

April 20, 2026 — BarryK

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

April 19, 2026 — BarryK

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

April 18, 2026 — BarryK

Previous blog post, l0wt3ch fixed a memory leak:

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:

img1

...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

April 18, 2026 — BarryK

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

April 17, 2026 — BarryK

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:

img1

Currently not cloning anything else under /files   

Tags: easy

Getting USB4 hotplug to work

April 17, 2026 — BarryK

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:

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

April 16, 2026 — BarryK

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:

img1

...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