site  contact  history  index

YouTubeDL downloader fixed

June 21, 2026 — BarryK

This is in the "Internet" menu category. It works in Easy 7.4, not in 7.4.1.

There is a missing package in 7.4.1; 'python3-certifi', but it is a mystery why it was installed in 7.4, not in 7.4.1.

'python3-certifi' is a dependency of 'python3-requests', which is installed in 7.4, not in 7.4.1.

Looking at the installed packages in 7.4, 'python3-requests' is not a dependency of anything. So why did APT install it in 7.4?

Puzzled. Anyway, have added 'python3-certifi' explicitly to the build list in woofQ2.    

Tags: easy

YouTube EasyOS-series second video created

June 21, 2026 — BarryK

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

June 21, 2026 — BarryK

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:

img1

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

img2

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:

img3

...click on the red ball, stops recording, and there is a completion message:

img4

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

June 20, 2026 — BarryK

Newcomers, please read the 7.4 announcement, it has a lot more information:

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:

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

June 19, 2026 — BarryK

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:

img1

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

June 19, 2026 — BarryK

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

June 18, 2026 — BarryK

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:

https://chiselapp.com/user/bacon/repository/bacon/doc/tip/bacon_trunk/documentation/documentation.html

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

June 18, 2026 — BarryK

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:

img1

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

img2

A small thing, but helpful for a newcomer who might otherwise become confused with setting up a printer.    

Tags: easy