YouTube EasyOS-series second video created
After creating the first video, there was a need for improvement. The second video shows the tweaks to improve the recording:
"EasyOS Part2: Recording tweaks"
https://www.youtube.com/watch?v=kW8T_VQfsS8
As I was up all night creating this app, "EasySR", going to take
the day off, have a nice meal in the city for lunch, visit a
library.
Tags: easy
EasySR screen recorder
I used EasyCast to record the first video in the EasyOS series on YouTube. I managed to get away with it in the first video; however, tried another recording and it is awful. EasyCast leaves artifacts all over the screen, and incomplete rendering of windows.
Here are blog posts about EasyCast:
"EasyCast screen recorder fixed"
https://bkhome.org/news/202606/easycast-screen-recorder-fixed.html
"EasyCast 2.0 screen recorder"
https://bkhome.org/news/202203/easycast-20-screen-recording.html
It uses the 'recordmydesktop' CLI utility, which is just not good enough. However, there is an alternative method of screen recording that works remarkably well; ffmpeg's "x11grab" feature.
Getting on to 3.30am, but got it done; have written a new screen recorder app called EasySR. It is in the "Multimedia" menu:

I have kept the options very simple, with the intention of making recordings suitable for uploading to YouTube:

Decided not to manipulate the video proportions; ffmpeg will record at the native screen resolution, and scale so as to keep the video proportions. YouTube will accept this.
In the above snapshot, "1680x1050" is the native resolution of my
Zenbook screen, and this is automatically selected as the default.
So, if that is selected, ffmpeg will not have to scale the video.
After clicking the "START" button, recording begins and there is a flashing red ball in the tray:
![]()
...click on the red ball, stops recording, and there is a completion message:
![]()
A great thing is that there is no post-processing; ffmpeg
generates the MP4 video on-the-fly, so as soon as click the red
ball, the completion message appears. I have only tested on my
Zenbook laptop; don't know how well on-the-fly processing will
work with an older CPU. Probably the frames per second will drop.
Tags: easy
EasyOS Excalibur-series version 7.4.1 released
Newcomers, please read the 7.4 announcement, it has a lot more information:
- EasyOS Excalibur-series version 7.4 released — June 15, 2026
Release notes for 7.4.1 and earlier:
https://distro.ibiblio.org/easyos/amd64/releases/excalibur/2026/7.4.1/release-notes.htm
Release notes since 7.4, to 7.4.1:
- Improved dvd movie navigation in mpv — June 19, 2026
- Fix blurry JWM wallpaper — June 19, 2026
- BaCon compiler in devx — June 18, 2026
- CUPS new printer popup help — June 18, 2026
- Fix Chromium warning message at startup — June 17, 2026
- Getting rid of gimp and mpv warning messages — June 17, 2026
- Set Chromium colour theme to match system — June 17, 2026
- New easy-to-see mouse cursors — June 16, 2026
- Gajim jabber-client must run non-root — June 16, 2026
- Chromium 149.0.7827.155
- SolveSpace startup crash fixed.
- Removed SMPlayer and Symphytum, MPV now default player
Download:
https://distro.ibiblio.org/easyos/amd64/releases/excalibur/2026/7.4.1/
Feedback welcome at the forum:
https://forum.puppylinux.com/viewtopic.php?p=172572#p172572
Have fun!
Tags: easy
Improved dvd movie navigation in mpv
I posted in the forum that intend to throw out SMPlayer and only keep mpv and DVDplay. The only reservation I had with mpv is that is doesn't properly recognise the segments of the dvd and immediately plays the main feature, skipping the introductory section.
Forum member ozsouth discovered a solution:
https://forum.puppylinux.com/viewtopic.php?p=172516#p172516
Yes, some lua scripts, but it was unclear where to place them. I found that they needed to be here:
/root/.config/mpv/script-modules/dvd-browser.lua
/root/.config/mpv/script-modules/scroll-list.lua
/root/.config/mpv/script-modules/dvd_browser.conf
They need to be activated when play a dvd, so /usr/bin/mpvshell has this:
#!/bin/sh
#turn off screensaver...
TURNONAFTER=0
if [ -e /root/.xset.sh ];then
if [ "$(grep "^xset .* s off" /root/.xset.sh)" = "" ];then
xset s off -dpms
TURNONAFTER=1
fi
else
xset s off -dpms
TURNONAFTER=1
fi
#20260619 have scripts in /root/.config/mpv/script-modules, for dvd playing...
# ref: https://github.com/CogentRedTester/mpv-dvd-browser
echo -n "$@" | grep -qF 'dvd://'
if [ $? -eq 0 ];then
mpv --script=~~/script-modules/dvd-browser.lua dvd:// ###RUN IT###
else
mpv --player-operation-mode=pseudo-gui "$@" ###RUN IT###
fi
[ $TURNONAFTER -eq 1 ] && xset s on
...that "~~" actually means path /root/.config/mpv
The script /usr/local/bin/defaultmediaplayer will have:
#!/bin/sh
exec mpvshell "$@"
Just click on the dvd icon on the desktop will cause "defaultmediaplayer dvd://" to run (see /usr/local/bin/drive_all), which will run mpvshell.
Snapshot:

...the lua scripts have added enhanced information in the menu,
and the left and right arrow keys; you can see the "[1/3]" and a
title for the first segment. The second segment is the main
feature, the third is an epilogue.
Tags: easy
Fix blurry JWM wallpaper
It might seem a little bit odd, but there are two layers of wallpapers in EasyOS. The JWM window manager loads a wallpaper, then when ROX-Filer starts it loads a wallpaper and desktop icons. So normally you only see the ROX wallpaper.
However, at shutdown, ROX gets killed and immediately after, there is a dialog asking if you want to save the session. At that point of time, you will be seeing the JWM wallpaper.
In the normal "rox-mode", it is the rox wallpaper that you see. Then there is the mode of no icons on the desktop, that we call "jwm-mode". In that mode, it is the JWM wallpaper that displays.
Here are some blog posts about the icon-free desktop mode:
"Experimental icon-free desktop"
https://bkhome.org/news/202202/experimental-icon-free-desktop.html
"Revisiting icon-free desktop mode"
https://bkhome.org/news/202408/revisiting-icon-free-desktop-mode.html
"Retain icons when switch rox to jwm"
https://bkhome.org/news/202409/retain-icons-when-switch-rox-to-jwm.html
"Icon free desktop tray icon fix"
https://bkhome.org/news/202409/icon-free-desktop-tray-icon-fix.html
The JWM wallpaper is specified in /root/.jwm/jwmrc-personal:
<Desktops width="3" height="1">
<Background type="image">/usr/share/backgrounds/default.jpg</Background>
</Desktops>
The problem is, if the image is bigger than the screen resolution, JWM will shrink it to fit, but in doing so the image will become blurry. This was reported, but has not been fixed:
https://github.com/joewing/jwm/issues/647
There is a partial fix in Easy; /usr/sbin/background_reshape is
called from /root/.xinitrc when X is started, and this cuts the
image vertically or horizontally to have the same proportions as
the screen. So, there will be an image at
/usr/share/backgrounds/160/default.jpg, where that "160" is the
horizontal/vertical screen ratio, calculated in
'background_reshape'. This is in my Zenbook laptop, running at
1680x1050, so compute (1680/1050)*100 gives 160.
It is only a partial fix, because 'background_reshape' doesn't reduce the image to actual screen dimensions, only adjusts the proportions.
I found one problem, 'background_reshape' needs to test if file 'jwmrc-personal' is accessing the correctly-proportioned image. Inserted this at comment "#20260618":
if [ "$UI_DESK_MANAGER" == "rox" ];then
grep -q "<backdrop.*/${ASPECTRATIO}/" /root/Choices/ROX-Filer/PuppyPin
if [ $? -ne 0 ];then
exit 11 #see /root/.xinitrc, will update /root/Choices/ROX-Filer/PuppyPin
fi
#20260618 although jwm wallpaper not used, it will show during shutdown after rox killed...
grep -q "<Background.*/${ASPECTRATIO}/" /root/.jwm/jwmrc-personal
if [ $? -ne 0 ];then
exit 11 #see /root/.xinitrc, will update /root/.jwm/jwmrc-personal
fi
fi
.../root/.xinitrc will detect the exit 11 and will fix 'jwmrc-personal'. However, if the image is bigger than the screen dimensions, it is still going to be blurry when JWM is rendering the wallpaper. The solution is to scale the image, and this is now done in 'background_reshape', using pamscale:
#20260618 scale image to exact screen dimensions (using pamscale)...
$IMAGEPNM "/usr/share/backgrounds/$IMAGEBASE" | \
$PAMCUT -left=0 -top=$(( $CUTVERT / 2 )) -height=$NEWVERT | pamscale -width ${ROOTHORIZ} | \
$PNMIMAGE > /usr/share/backgrounds/${ASPECTRATIO}/${IMAGEBASE}
Haven't tested it yet, but theoretically looks
good.
Tags: easy
BaCon compiler in devx
Forum member Lobster requested it, so now done. I compiled version 5.0.3.
In the devx, the compiler will be /usr/bin/bacon, and
documentation at /usr/share/doc/BaCon
Project homepage:
https://chiselapp.com/user/bacon/repository/bacon/home
Forum:
https://basic-converter.proboards.com/
Online documentation:
I wrote some documentation, but it is very old and out-of-date:
"My first GTK application"
https://easyos.org/dev/bacon/my-1st-gtk-app/index.html
"Internationalization"
https://easyos.org/dev/bacon/international/international.htm
"Window layout"
https://easyos.org/dev/bacon/hug/layout.htm
If you want to use HUG, it will have to be downloaded from the
project homepage. EasyOS has some CLI utilities written in
BaCon.
Tags: easy
CUPS new printer popup help
There is a bug in the version of CUPS in Debian Trixie, as reported last year:
https://bkhome.org/news/202511/workaround-to-fix-printer-setup.html
When someone chooses from the menu "Setup -> CUPS Printer Setup", they might not have seen that blog post, well, highly likely they wouldn't have seen it, so when they see this:

...the natural thing will be to click on the "Add Printer" button. Which is not good; instead, they must first click on "Find New Printers".
Consequently, I have edited /usr/sbin/cups_shell to put up a message at the top-centre of the screen. The code is:
case "${LANG/_*/}" in
da) M1='For at konfigurere en printer skal du klikke på knappen <b>Find nye printere</b>' ;;
de) M1='Um einen Drucker einzurichten, klicken Sie bitte auf die Schaltfläche <b>Neue Drucker suchen</b>' ;;
es) M1='Para configurar una impresora, haga clic en el botón <b>Encontrar nuevas impresora</b>' ;;
fr) M1='Pour configurer une imprimante, veuillez cliquer sur le bouton <b>Trouver de nouvelles imprimantes</b>' ;;
ja) M1='プリンターを設定するには、<b>新しいプリンターの検索</b>ボタンをクリックしてください。' ;;
pt) M1='Para configurar uma impressora, clique no botão <b>Encontrar novas impressoras</b>' ;;
ru) M1='Для настройки принтера нажмите кнопку <b>Найти новый принтер</b>' ;;
*) M1='To setup a printer, please click on <b>Find New Printers</b> button' ;;
esac
popup "background=#ffa0ff level=top name=cupsui placement=top-middle terminate=12 timecount=dn|<big>${M1} </big>"
...the CUPS web interface only supports those languages, and I found the exact name of the "Find New Printers" button for each language. This is what it looks like:
![]()
A small thing, but helpful for a newcomer who might otherwise
become confused with setting up a printer.
Tags: easy
Fix Chromium warning message at startup
Forum member Miminou has reported the warning message when start chromium in a terminal, missing 'upower' package, now fixed:
https://forum.puppylinux.com/viewtopic.php?p=172410#p172410
Tags: easy