Picochess v4.3.0 out for beta testing

610 views
Skip to first unread message

Johan Sjöblom

unread,
Apr 26, 2026, 8:33:17 AMApr 26
to PicoChess
Hi.

The brave testers who upgrade will now get a totally new web client experience. The settings menu opening from the cogwheel icon on the lower right side. With this menu there is no longer any practical need to edit the picochess.ini file.
Example of one of the settings: You can make your mobile phone work as a speaker if you have a headless Pi without speakers. You can switch engines, playing mode, activate the tutor, change board colours and pieces etc... And yet another new piece set Neo.

It also contains a new playing mode called "Brain and hand" where you can team up with the Pico Coach and either be the brain, or hand.

Thanx to everyone that has contributed by testing or coding... Now please report problems you find, either by commenting here or by opening an issue on https://github.com/JohanSjoblom/picochess/issues.

-- Johan

Here is a complete change log since v4.2.3 which was 8th of March. Its quite a long list since there has been an astonishing 201 commits since 8.3. I believe DJ Dekker made more than half of them :-)

5d119c98  2026-04-26  Version 4.3.0 (not tagged yet)
851b3f03  2026-04-09  Restore Position Setup functionality
b0025df2  2026-04-09  Fix smaller bugs
b492a95c  2026-04-10  Add "neo" chess piece set
cf5153aa  2026-04-26  Small fix
2a22b468  2026-04-26  Add Hand&Brain translations
9cecc1d8  2026-04-26  Merge branch '367-modernized-webclient' (SEE DETAILS BELOW)
f0c17b2a  2026-04-25  Hotfix SoX voice playback blocking after a hung play process
57e8f87e  2026-04-20  Treat start-position reset as new game
2303682f  2026-04-20  Fix timeout reset start-position routing
89a9718d  2026-03-29  Don't cache web page
d4d406bf  2026-03-22  Avoid new game after queen mode selection
0f443e35  2026-03-22  Avoid new game when taking back all moves
a634054b  2026-03-21  Clear stale web analysis display at Event.NEW_GAME
0fa1845d  2026-03-22  Wait briefly before analysis refresh after engine switch
4ab31b8c  2026-03-22  First version of a definition file for AI assisted coding
21710646  2026-03-19  Clear stale analysis and refresh ponder after engine switch
3f74b60c  2026-03-19  Disable tutor analysis in ponder mode
a5cae04d  2026-03-15  eboard: allow window switch after set pieces
98d6796f  2026-03-15  docs: mention standalone ydotool installer
97657f09  2026-03-15  use custom ydotool socket if YDOTOOL_SOCKET exists
27e8fd43  2026-03-15  install: add standalone ydotool installer
c916fd3c  2026-03-15  install: detect existing ydotool binaries
4643d5e5  2026-03-15  install: configure ydotool user service and input group
164e8567  2026-03-15  switch mame artwork on piece lift and return before set pieces announcements
60c7e2e2  2026-03-14  wayland: add configurable window-control backend and fix DGT restore switch
5d18f0bf  2026-03-12  eboard: switch windows after non-king set-pieces fix
922e67ed  2026-03-04  wayland: add experimental window-control backend
6e44b493  2026-03-12  Harden playing forced-stop handling
b243e802  2026-03-11  Update bQ.svg
26528622  2026-03-11  Update bQ.svg
dfeae19a  2026-03-11  Update bQ.svg
cae52da9  2026-03-11  Piece sets documentation
cecff695  2026-03-11  Add 'uscf' chess piece set
b4a1189e  2026-03-10  Fix user clock running during opening display
4d514430  2026-03-11  Extra check for (non-)variant headers
12629332  2026-03-11  Skip Variant tag for normal chess
00940aad  2026-03-14  No prompts during installation
63e26e0a  2026-03-11  Stop live continuous analysis immediately
0d47039a  2026-03-11  Guard analysis during engine switching
ba5c7f41  2026-03-11  Fix analyser recovery and stale depth cache
0129264d  2026-03-08  hotfix: support xfce4-terminal for update window
ae641e4d  2026-03-08  Split audio defaults for dgt3000 installs
955d5aec  2026-03-08  Ignore invalid startup engine level
dcbe06c8  2026-03-08  Handle missing startup engine with fallback
181d8e4c  2026-03-08  Fix white rook shaft transparency by using trapezoid instead of rectangle
7e617f27  2026-03-08  Transparency fix

And the commits in the new modernized web client interface and the "brain and hand":
3446078c  2026-04-25  Add a Mode menu item to quickly enter Hand or Brain
61163357  2026-04-25  Restore keyboard moves and same-square Hand input
b0db1924  2026-04-25  Clarify the Tutor menu Coach item text
dd18b98e  2026-04-25  Update info for AI use
08baaddf  2026-04-25  Fix web and king handling for Brain Hand coach
ca63a641  2026-04-25  Clarify web analysis sources with Pico E/T badge
7158a9e8  2026-04-25  Improve UX on the Mode menu by clearly showing what modes are playing/analysis. No functional changes.
b65a26e7  2026-04-25  Hide the Ponder on Mode.BRAIN from the new menu as that choice does not impact the uci chess engine anyway. Its same as normal mode.
6fc82fc2  2026-04-25  Updated AI document to avoid confusion on the Mode.ANALYSIS which is actually move hint, not analysis mode
cf8b5107  2026-04-24  Restore brain and hand tutor coach
6864c48a  2026-04-24  Align web mode menu with playing modes
a793a708  2026-04-24  Clear ponder clock on analysis reset
eaebb39a  2026-04-24  Use ponder mode for web analysis clock
d78d482e  2026-04-24  Keep analyser from changing engine UCI options
a6afda1b  2026-04-24  Keep arbitrary position setup in ponder mode
1e2548a2  2026-04-23  Analysis mode: fix for move takeback
bbbca141  2026-04-23  Always analyse legal board position
1dd5861b  2026-04-23  Fix clock display
1c5fe03c  2026-04-23  Webclient: improving Analysis mode
82cdba7d  2026-04-23  Restore Analysis mode
cc738cfe  2026-04-23  Restore eval/hint controls and limit localhost web Stockfish
bbcc08fc  2026-04-21  The AI era is here. I will start to add agents files to suppor that.
532f2b7b  2026-04-21  Add audio backend system setting
2e35a20d  2026-04-21  Add phone speaker stream toggle
89d2f680  2026-04-20  Remove unused start-position routing state
2297e952  2026-04-20  Treat eboard start-position reset as new game
94e261ce  2026-04-19  Fix tutor menu status display
107a2b68  2026-04-19  Ignore .codex files
0ca3a2e7  2026-04-19  Refine web tutor settings menu
e0f583ad  2026-04-18  Fix new game reset after timeout
67af1d85  2026-04-18  Track started game state for web menu
41ca81b8  2026-04-18  Show alternative move state in web clock control
d4abe438  2026-04-18  Sync replay autoplay with web pause control
a2b43088  2026-04-18  Restore remote audio and PGN controls
23fb2478  2026-04-18  Fix web new game first engine move
95b2da14  2026-04-18  Update web clock state on stop
9666d296  2026-04-18  Stabilize web clock quick controls
b56982b9  2026-04-18  Add quick clock controls to web client
0d15f164  2026-04-10  Clear cached web analysis on null payloads
0584b312  2026-04-10  Clarify engine book overlay naming
a1b41a57  2026-04-10  Split engine book selection from web explorer
6e22b580  2026-04-10  Fix web book explorer list serialization
0d5a47b6  2026-04-10  Require auth for disruptive remote channel actions
85ff7bd6  2026-04-10  Sync web engine level through canonical event flow
0ea177c5  2026-04-10  Keep web book selection separate from engine book
cce9ca45  2026-04-10  Fix typed web mode and time display payloads
e1d81a70  2026-03-29  Don't cache web page
426364eb  2026-04-09  Merge remote-tracking branch 'djdekker/modernize-weblayout' into 367-modernized-webclient
d9db7b7f  2026-04-06  Resolve conflicts in picochess.py and app.js
7ecfdd8f  2026-04-06  Make sure PicoWatcher state is correct at startup
f0af91ec  2026-04-06  Correct badge: engine or tutor
67427188  2026-04-06  SF18 color fix
99f27649  2026-04-06  SF18 color and spacing fixes
c1ac57c3  2026-04-06  SF18 inherit color
8b86cab2  2026-04-06  Final fix SF18 for line height
c0a5eb31  2026-04-06  Don't span SF18 output across two lines
bb2d156a  2026-04-06  Layout fix
a00e9cfe  2026-04-06  New try for 2nd SF18 line
fd3c66ad  2026-04-06  Fix more SF18 display bugs
41e5069a  2026-04-06  Fix small SF18 display bugs
d0109755  2026-04-06  Smart + and - buttons for SF18 js engine
b1921d53  2026-04-06  Fix eval pill size and show ± buttons on all displays
993c58b1  2026-04-06  Fix ANALYSES panel bugs
a82fbc85  2026-04-06  Redesign ANALYSES panel: unified SHOW/HIDE layout per section
c0f4f830  2026-04-06  Three Analysis tab tweaks
c62993dd  2026-04-06  Require confirmation before Shutdown or Reboot
ccb9826c  2026-04-06  Fix 6 analysis panel issues
c03073ce  2026-04-06  Redesign Analysis tab: fix UI inconsistency, two-row PV layout
7aa8ada7  2026-04-06  Figurinize moves in the PicoWatcher mistake list
a8df1be9  2026-04-05  Fix PicoWatcher mistakes list: clear on new game, autoscroll to latest
b3deb69b  2026-04-03  Set font for analysis line
30497b8a  2026-04-03  Fix for Bluetooth connection at startup
79108ad4  2026-04-03  Keep header after (re)boot
b4ba37fd  2026-04-03  Keep the header when clearing move list
3246b061  2026-04-03  Little more space after figurine
b277147d  2026-04-03  Return diagram to startpos when clicking New game
ebf2a95e  2026-04-03  Clear move list for new game
d809cb26  2026-04-03  Enable Bluetooth reconnect script
5a179076  2026-04-03  Communicate success message
42c0c488  2026-04-03  Add "Bluetooth reconnect" item
ee21180b  2026-04-03  Make figurines slightly larger
bee4a05d  2026-04-03  Fix the "Fix BT" function
ea7980ab  2026-04-03  Figurines must use same font
51fc4f78  2026-04-03  Append final engine move to pgn
74d950bd  2026-04-03  Fix display bug with second webclient
58ed6888  2026-04-03  Fix Elo display
83198235  2026-04-01  Show PicoExplorer in web client
40aa83b4  2026-04-01  Input validation for Elo field
135409c3  2026-03-28  Add 'move now' & flip on side switching
c178d4df  2026-03-28  Allow input in Player fields
d5c4465c  2026-03-28  Mark active values with tick symbol
51728301  2026-03-28  Move WiFi/BT info to System info
0401f130  2026-03-28  Show 'Game in progress' during game
cecd46a5  2026-03-28  (Un)mute web audio
ab1c640d  2026-03-28  (Un)muting web audio
dd340623  2026-03-28  Show IP and battery level
c9b2e65f  2026-03-28  Make scrollbars wider
8bf075e8  2026-03-28  Add PicoChess updater to System menu
05e11f4f  2026-03-27  Game header: show Elo or level
56e88d6e  2026-03-27  Small display fix
ae418693  2026-03-26  Make black badge lighter
c52d5677  2026-03-26  Show counters at game start
a00d76e7  2026-03-26  Fix check counters
600b5e55  2026-03-26  Reinstate 3check counters
468f9364  2026-03-26  Fix for disappearing footer
7acb2a75  2026-03-26  Make footer updatable
0adbc66e  2026-03-26  Do not hardcode version number
2ed45ef0  2026-03-26  Screen size fixes
92b10242  2026-03-26  Small UI improvements
0b403b88  2026-03-26  Player name
6fe94599  2026-03-25  Append game result to move list
b5cf9400  2026-03-25  Fix for Elo in header
b3d06cb3  2026-03-25  Show correct engine Elo in header
e1fac763  2026-03-25  Solve stale data upon starting new game
39db6177  2026-03-25  Show analysis placeholder
eb78c11f  2026-03-25  Clear stale game result
8ee7043b  2026-03-25  Further fix for fast thinking engine
54a94f33  2026-03-25  Fix analysis line for fast engines
9df2967e  2026-03-25  Show correct values on overlay
d3fe6bc1  2026-03-25  Display up-to-date info on overlay buttons
36faaf6b  2026-03-25  Last commit was too aggressive
28f0f58f  2026-03-25  Clear stale FENs
8302d160  2026-03-25  Web: analysis display fixes
0eeb9b28  2026-03-25  More engine/analysis display fixes
19ef13e6  2026-03-25  Fix for engine/tutor display
185fe777  2026-03-25  Revert previous fix
a2d561c9  2026-03-25  Prevent engine crash
353d0586  2026-03-25  Display engine/tutor analysis line
c55c496f  2026-03-25  Reboot when changing EBoard type
dc4b119b  2026-03-25  Fix for analysis display in web client
afd254f9  2026-03-24  Fix actions in overlay menu items
dfba7dcf  2026-03-24  Fix for remote play
92521a37  2026-03-24  Web client: diagram is read-only
40692c53  2026-03-24  Re-use existing code
3cfd0e23  2026-03-24  Fix 4 overlay actions to reuse DGT clockbutton code paths
da659951  2026-03-23  Fix clock display not updating after pre-game time control change
4b91d702  2026-03-23  Add all 9 DGT modes and Switch Sides to overlay
1d56b052  2026-03-23  Fix remaining overlay actions: save/load slots, game_end, display close
9923d3eb  2026-03-23  Fix overlay System actions: power, display, eboard, wifi/bt
ac9a1b3d  2026-03-23  Fix 5 overlay/server bugs (sync, web mute, voice, book, altmove)
a78e06be  2026-03-23  Fix overlay: all settings now auto-close after selection
cc1d21fe  2026-03-23  Fix page scrollability: scope desktop row selectors under .scroll-portrait
035e4430  2026-03-23  Fix dark mode: add data-theme attribute and dark CSS overrides
1011401b  2026-03-22  Fix language (and beep) changes from overlay having no effect
aa9d8976  2026-03-22  Enlarge board: fix column-width formula overhead (80px → 48px)
72e2824d  2026-03-22  Overlay tiles: remove icons, enlarge label and sub text for touch readability
ce8acd67  2026-03-22  Fix overlay settings not updating: add missing POST handlers in ChannelHandler
7dd12c7b  2026-03-22  fix: restore continuous engine analysis display
be94a8d9  2026-03-22  fix: board height, gear overlap, and light-theme overlay legibility
ab857728  2026-03-22  fix: make nav-pills tabs fill available width so they don't overflow
09023029  2026-03-22  fix: redraw Chessground after theme CSS swap to fix displaced pieces
727514e9  2026-03-22  fix: constrain board column width to break flex circular dependency
e86ad5a0  2026-03-22  fix: restore board square aspect ratio broken by flex eval bar wrapper
7f998edf  2026-03-22  Test new web layout

Johan Sjöblom

unread,
Apr 26, 2026, 9:55:29 AMApr 26
to PicoChess
And a note on AI-assisted coding. This is indeed the way to develop code nowadays but in order for everyone to get as much help as possible from their own AI it needs instructions and design decisions documented in the source code.
The way to document these depends on what AI you use. If you use Claude Code, Cursor, Codex, Windsurf, or Github Copilot, or something else. For instance, Codex that I use does not read any instruction files, while copilot does read. So anyone who uses copilot github or an AI that can use instructions please add those instruction md files to the source code in the relevant location when you can.

In the source code in github:
I have started now to document my design as AGENTS.md and I have now added the first versions to the source code. Mainly I have designed the new UciEngine so there is now one AGENTS.in the uci folder. I also tried to document the new modernized web client, and that AGENTS.md is in the web folder. In the main folder I have documented the principles for running UciEngine and the changes I have made to Picotutor. The vast logic of the picochess.py made by Dirk and others in V3 does not yet have any AI documentation in this format. The AI can of course simply reverse engineer the code and write those if requested to do so.

Outside the source code in github issue handling:
There are also documents that AI needs that are outside of the source code. Namely specification.md and plan.md. If you want new features or bug fixes you should focus on how you want it to work. If we get really AI-mature we start using in addition to the above-mentioned instruction and AGENTS.md files: We should strive for  specification.md and plan.md files when we implement new features or fix bugs. You can create these also by prompting the AI. For those who are already use AI assisted coding, please try to make a specification.md file for each new feature or bugfix. You can also make a plan.md if your AI can plan the implementation of that specification. These should be stored in the issue in github for later reference. There will come one day when an AI agent then simply implements them for you. For now, I am still the human in the loop


-- Johan, yes human :-)

RandyR

unread,
Apr 26, 2026, 4:37:55 PMApr 26
to PicoChess
Nice work Johan and DJ!

I'm seeing the following server.py error in the log but it isn't affecting game play as far as I can see:

2026-04-26 15:01:17.089   ERROR     server - message_consumer: WebDisplay: unhandled exception processing MSG_SYSTEM_INFO
Traceback (most recent call last):
  File "/opt/picochess/server.py", line 3002, in message_consumer
    await self.task(message)
  File "/opt/picochess/server.py", line 2504, in task
    ModeInfo.get_eboard_type() != EBoard.NOEBOARD
                                  ^^^^^^^^^^^^^^^
AttributeError: type object 'EBoard' has no attribute 'NOEBOARD'

Randy

Luigi Vogliobene

unread,
Apr 27, 2026, 5:56:17 AM (13 days ago) Apr 27
to PicoChess
Hi,
if I play black, whatever chess engine I play, if I select the Chessnut eboard (maybe whatever chess ebord you use) the engine do not play the first move. If I select NO eboard all is fine.
Thank you.
Luigi

Dirk

unread,
Apr 27, 2026, 7:17:13 AM (13 days ago) Apr 27
to PicoChess

First of all, a big thank you to Johann and DJ Decker for the amazing work on the new GUI!


It’s obvious how much thought and effort went into this redesign, and overall I really like the new direction. The new menu system in particular is a huge step forward — being able to see many settings at once instead of clicking through endless clock-button sequences feels much more modern and efficient.


That said, I wanted to share a small observation from the perspective of someone who mainly uses PicoChess with a touchscreen — especially on smaller displays like 1024×600.


One of the things I always loved about PicoChess was its simplicity. The old clock-style interface had only a few large buttons, and that made it extremely touch-friendly. You could operate it almost blindly, even on small screens, and it always felt very natural — more like using a chess clock than a computer program.

With the new GUI, I sometimes feel that we might be drifting a bit toward a more “desktop-style” interface. Some of the buttons — especially important ones like the settings button — have become quite small and are now harder to hit reliably with a finger. On a mouse-controlled system this is perfectly fine, but on smaller touchscreens it can be a bit tricky.


IMG_1402.jpeg

IMG_1403.jpeg

From a touchscreen perspective, some of the UI is slowly entering the dangerous “fat finger zone” — where my index finger suddenly feels like a wrecking ball instead of a pointing device 😄


I fully understand that moving away from the simulated clock display was an important and probably necessary step. The new GUI opens many new possibilities, and overall I think it’s a great improvement.


Still, I would love if we could keep one of PicoChess’ greatest strengths in mind:
simplicity, accessibility, and touch-friendly usability — even on small screens (for comparison reason here V3 on my screen)


IMG_8060.jpeg


PicoChess has always felt special to me because it was not trying to become a full-blown chess GUI like Fritz or others. It felt more like a dedicated chess device — simple, focused, and enjoyable to use.

So maybe this is just a gentle reminder from the “small touchscreen users club” 😊


If we keep that in mind I think the he project is moving in a really exciting direction!




Another thing what bothers me as a touch screen user is probably OS (wayland?) dependent: I can't move directly the content of a window with my touch finger like it was under X11 I think - only by moving the tiny scrollbars which can also be quite a challenge for fat fingers like mine ;-)



Dirk

Henri

unread,
Apr 27, 2026, 7:32:03 AM (13 days ago) Apr 27
to PicoChess
Being a person with bad eyesight and using a small touchscreen for picochess, I totally agree with Dirk!

Henri


Op maandag 27 april 2026 om 13:17:13 UTC+2 schreef dirk.m...@googlemail.com:

mhbe...@home.nl

unread,
Apr 27, 2026, 8:00:12 AM (13 days ago) Apr 27
to PicoChess
Hello all,

I have upgraded to picochess version 4.3.0.
When I want to change sides the move now option is grey.
How can I force picochess to move?

Menno

MartinP

unread,
Apr 27, 2026, 8:10:24 AM (13 days ago) Apr 27
to PicoChess
Hello! In Picochess version 4.3.0, there's a bug affecting the Millenium Supreme T2 board (Chesslink eBoard).

When switching to the black pieces (for the player), Picochess doesn't move a white piece (even after pressing the Play button); only the timer counts down. This behavior doesn't occur with a DGT board.

My system: Raspberry Pi 5; 8 GB RAM; Millenium Supreme T2 board; PicoChess v4 Desktop Image from April 24, 2026, with the latest update to 4.3.0.

Comparison chess set: DGT Bluetooth board (latest version)

mhbe...@home.nl

unread,
Apr 27, 2026, 8:20:09 AM (13 days ago) Apr 27
to PicoChess
Hello,

Thx Martin,

But the problem now is that I have also a Pi 5 with a DGT smartboard and the error here also apears.
I'll hope the problem can be solved!?!!

Menno

MartinP

unread,
Apr 27, 2026, 8:20:39 AM (13 days ago) Apr 27
to PicoChess
From the picochess.log: Traceback (most recent call last):
File "/opt/picochess/server.py", line 3002, in message_consumer
await self.task(message)
File "/opt/picochess/server.py", line 2504, in task
ModeInfo.get_eboard_type() != EBoard.NOEBOARD

The ChessLink eBoard was shown as connected, however. As mentioned before, the game with White runs without any problems...

MartinP

unread,
Apr 27, 2026, 8:24:01 AM (13 days ago) Apr 27
to PicoChess
Hello,
Thanks for the reply. Pico-Chess 4.3.0 plays with the black pieces (player) when you click the play button after the color change. I can't tell if this is intentional, since the interface is new.

MartinP

unread,
Apr 27, 2026, 9:14:26 AM (13 days ago) Apr 27
to PicoChess
Now it gets weird! I tried the following (chesslink eboard/Millennium):

I play the white pieces and make the first move. picochess responds with black. Then I switch colors so I move the black pieces. Now picochess continues moving the white pieces, as expected from the first move.

Unfortunately, I'm not a programmer, and Python is just a snake in the jungle to me :-)

Johan Sjöblom

unread,
Apr 27, 2026, 11:39:33 AM (13 days ago) Apr 27
to PicoChess
Hello all.
I pushed a small hotfix for the new web client. It fixes the side-switch case where choosing Black from a fresh game could leave PicoChess not making White’s first move. It also fixes the harmless but noisy e-board `MSG_SYSTEM_INFO` log error Randy reported.
Side switch so that the engine plays white now also starts the game as in the previous design.

A simple update would be:
> cd /opt/picochess
> git pull
>sudo systemctl restart picochess

The last line restarts picochess... Refresh the browser and you should be fine.

-- Johan

MartinP

unread,
Apr 27, 2026, 11:46:46 AM (13 days ago) Apr 27
to PicoChess
Yes, it works! Just tested it on the Millennium Board. Good work, thank you!

Johan Sjöblom

unread,
Apr 27, 2026, 11:55:55 AM (13 days ago) Apr 27
to PicoChess
Nice to hear.

And I added 2 more quick temporary "emergency UX" changes to the settings icon (cogwheel) and to the menu heights. I also think its important that picochess works on small screens with our fat fingers! We probably need to design an improvement but now there is a temporary quickfix for Dirks two pictures... Not sure if this small increase helps any, but at least it should not risk anything.

Let me know if these fixes are not "fat" enough ;-) ... We probably need to redesign, maybe DJ Dekker has some idea, ...?

-- Johan

DUBUC Sébastien

unread,
Apr 27, 2026, 11:57:08 AM (13 days ago) Apr 27
to PicoChess
I'm not very familiar with Linux commands, and installing PiCochess on a Raspberry Pi seems complicated to me., But I'm working on it, AI helps.

I recently installed a desktop image of version 4.2.3, a little before you released 4.3. I'd like to participate in the testing and provide feedback on any bugs or other issues, but without a desktop image, I can't. I have a DGT eBoard with a DGT 3000 clock and a Raspberry Pi 5 with a 7" Touch v2 display.

And congratulations for the work!

Sébastien

MartinP

unread,
Apr 27, 2026, 12:02:07 PM (13 days ago) Apr 27
to PicoChess
@Johan: In Germany, we call that "Wurstfinger" (sausage fingers). Like Dirk, I use a 7" monitor, and yes, it seems a bit tiny. But it trains your eyes.

DJ Dekker

unread,
Apr 27, 2026, 12:20:54 PM (13 days ago) Apr 27
to PicoChess
Hi all,

I've been thinking about ways to make the web client more "touch friendly" and more readable on small screens like mobile phones. The nine tiles of the overlay should be easy on the eyes and the fingers, so what about having the 3x3 tile grid for all menu items? We'd still need some scrolling in the engine and level lists (they won't fit in the 3x3 grid), but the scroll bar could easily be wider than it is now and the list items a bit larger.

Greetings,
DJ


Op maandag 27 april 2026 om 17:55:55 UTC+2 schreef messi...@gmail.com:

Dirk

unread,
Apr 27, 2026, 1:02:53 PM (13 days ago) Apr 27
to PicoChess

Just thinking out loud about some UI ideas:


What if we keep the original clock button bar, which has been quite user-friendly due to its larger buttons (especially for bigger fingers), and just place it on the left below the chessboard? At least on my systems I see that there is enough space for it…. 


That way, touch-users would always have the option to configure and navigate the system in the familiar way.


But if we really can make some buttons more touch friendly this might not be necessary…


Besides that I would love to have at least the power options as quick/direct access buttons for easy shutdown or quitting PicoChess.


Regarding scrolling: Hopefully we will soon be able to scroll/move the content directly with our touch fingers like it is on all modern touch devices also in Wayland. Until then a slightly bigger scrollbar might help of course (although I liked the possibility to fade out the scrollbars until you would need them by touching the content in X11 )…



Dirk

Henri

unread,
Apr 27, 2026, 1:12:09 PM (13 days ago) Apr 27
to PicoChess
How about switching to the Coca Cola variant: A 'regular' version with pull down stuff and large menu's for the users with large monitors and good eyes, a 'classic' version for small screens and bad eyes? We might even add a Picochess 'Zero' version for the Pi Zero 2W!

Sorry, just kidding. For me the 'old' interface with the buttons is perfect....

Henri

Op maandag 27 april 2026 om 19:02:53 UTC+2 schreef dirk.m...@googlemail.com:

Johan Sjöblom

unread,
Apr 27, 2026, 1:53:45 PM (13 days ago) Apr 27
to PicoChess
You can touch scroll on Wayland. I have a small 800x600 DSI and on X11 had to fight with the settings, but on Wayland I just configured touch in the settings menu of Raspbian. Dont remember exactly how, bit you can do it.
— Johan

Antonio

unread,
Apr 27, 2026, 2:07:01 PM (13 days ago) Apr 27
to PicoChess
Veo que no soy el único que no le ha gustado el cambio tan drástico que ha tenido la interface. Seguiré quedándome con la versión 4.2.3.
Para gustos los colores !

I see I’m not the only one who hasn’t liked the drastic change the interface has undergone. I’ll stick with version 4.2.3.
To each their own!  


Captura de pantalla 2026-04-26 170925.png

Randy Reade

unread,
Apr 27, 2026, 2:17:39 PM (13 days ago) Apr 27
to pico...@googlegroups.com
Hi DJ, 

It's not just small screens that may need some work, but high resolution screens also. There are some text elements where the font size does not scale (properly?) and you end up with very small print (e.g. the row near the top with Player and Engine names), which is hard to read without putting on reading glasses and moving closer to the screen.

I also like Dirk's idea of somehow keeping the clock button UI as an alternative to the cog.

I know it's all work in progress, but great to see some very substantial development in PicoChess.

Randy

Johan Sjöblom

unread,
Apr 27, 2026, 3:46:41 PM (13 days ago) Apr 27
to PicoChess
I dont have any clear idea on what to with the web client but some thoughts. I hope someone can make a nice new compromise design based on all the great ideas here. My thoughts:
- 3 of the clock buttons are already there…. If we add << and >> then selecting the >> could change the visual look of eval and hint buttons to minus and plus while we are inside the menu. That would be the clock menu
- on a mobile phone the clock menu feels wrong, maybe a remote client should be different?
- even if we have a clock menu I still want to have the new good overview menu… I tested it on my 4” DSI screen and I can use it despite my wurst fingers… the back and close buttons in the menu also need to be bigger… and touch scrolling works on WayLand!

Dirk

unread,
Apr 28, 2026, 8:30:00 AM (12 days ago) Apr 28
to PicoChess

I finally found the settings which allows multi-touch gestures (including. touch scroll):

In the control center under screen settings select your HDMI device and set the mode from "mouse emulation" to "multi touch".

Unfortunately that might have some drawbacks like double tap or long press for left click which might be missing after that (the os developer mentioned this in a post somewhere).

e8c0a21ef0e0f5101a0d9e590435203ca7bf96af 2026-04-28 14-01-50.jpg
Now I no longer need to hit the small scroll bars in order to choose a setting - great for me thats already a 50% improvement for the new UI.

As I really like the new UI in general, the only touch drawbacks which I still see are:-

1. Too small settings icon for calling up the menu

2. Too many (and hence too small) buttons directly below the chess board.

3. Missing full DGT clock simulation buttons

4. Too small buttons above the DGT clock output on top the right side


Just a minor notice:
Is the display area  for the move history intentionally a little smaller than the display area for analysis engine/book/games?


IMG_1405.jpeg


Solutions ideas:

1. With the black theme selected I now see the settings buttons - it is already big enough - just the icon in it might be a little larger!?

2. We could get rid off at least 2 buttons for uploading and download pgn files as these function might not be used as often on teh PI device itself. These function could be placed somewhere in the (games) menu or so in my opinion. Then we should have more space and could make the remaining buttons a little bit larger.

3. + 4. Move the top right buttons to the left side below the chessboard (and below the chess board related tool bar) in addition with the missing clock buttons for full support of the old navigation for oldies like me ;-). Then the right side would look nicer: clocks and DGT text output and side information would be on top, then the move history and engine/book/games area (but we should adjust the width of both display areas ;-)

General idea:
Have somehow the main important menu items in a special section in the menu for quick & easy access like the power button for quick shutting down/updating/quitting PicoChess


Dirk

Johan Sjöblom

unread,
Apr 28, 2026, 9:14:58 AM (12 days ago) Apr 28
to PicoChess
Quick comment
Good ideas. And nice that you found the touch setting, that's what I use on my 4" DSI screen and it works like a mobile phone in portrait mode, except that it does not rotate the display if I turn the Pi upside down :-)
Without the touch any touch friendly interface would not be good as you do need to scroll something anyway...
 and clarification questions:
1) so the icon itself should be larger, I think the "hit area" I hotfixed a little bit yesterday.
2) The uploading/downloading buttons can be dropped yes if that improves touch on the remaining ones... They are only needed on the remote web client anyway?
3) 4) Do you mean the four buttons "switch sides", "eval/-", "pause-play", and "hint/+" buttons?
-- Johan

Dirk

unread,
Apr 28, 2026, 9:33:23 AM (12 days ago) Apr 28
to PicoChess
Hi Johan,

1) yes - nice that you already have increased the touch size of the button!. Now that fits for me (and yes the icon itself could be a little bit larger but that's only cosmetic)
2) at least the download button was only visible on a remote client in V3. But we could leave them in the menu anyway because I really think both (up- and download) are not used that often (other users could prove me wrong) 
3) 4) Yes these top right button panel which used to be the DGT clock panel. We could move it to the empty space below the chessboard (and the board panel buttons)  or could leave it there and just add the missing buttons for full clock navigation (and make them a little bit larger for touch) 

Dirk

Randy Reade

unread,
Apr 28, 2026, 9:49:09 AM (12 days ago) Apr 28
to pico...@googlegroups.com
There seems to be some wasted space for the engine name. Maybe we don't need it at the top and in the pgn area? And do we need to see the Player's name? Reorganizing this could allow for the return of the classic clock button row.

Randy

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picochess/8735e93e-6849-4973-8a0a-2e7a6d15a66cn%40googlegroups.com.

Dirk

unread,
Apr 28, 2026, 10:52:34 AM (12 days ago) Apr 28
to PicoChess
Yes Randy, that is a little bit redundant but I like seeing directly who is who when clocks are actually running - in my opinion that was a good design idea.

But we actually don't need all the info - maybe just the names and no longer that say 20 chars or so  (the remaining info is already in the pgn area as you pointed out) or just White/ Black so that one immediately sees which side has its turn and  time is running!?

For me (now with the touch scrolling on) this is almost fine now with no need for all the original clock buttons when all existing buttons are big enough and scrolling is possible ;-)

But I still  think that the top right button panel (independent if we decide to have the original complete DGT clock panel or not) should be moved to the lower left side. Actually I like the explicit buttons / icons for switching sides, show eval, start/pause/alternative move and show hint move very much. - way better than the cryptic DGT clock icons we have in the original panel, especially for new users.

Then we have all buttons on the left side below the chess board and we could add more important direct buttons (like shutting down or the sound via server etc. . At least if we don't restore the complete original clock panel.

Maybe something like that....

ChatGPT Image 28. Apr. 2026, 16_51_39.png

Johan Sjöblom

unread,
Apr 28, 2026, 12:08:22 PM (12 days ago) Apr 28
to PicoChess
1. Too small settings icon for calling up the menu
Made the cogwheel settings button a real 44px touch target and styled the full hit area as a visible button, so users can clearly see where to tap also on non-black themes.

2. Too many / too small buttons directly below the chess board
Removed the PGN upload/download buttons from the chessboard control row. The board row now has fewer buttons, giving the remaining board controls more practical touch space. The upload button is now only visible on the remote web client, as in the previous release. There was no room for the download button; if users need PGN download from the touch UI, we can add it to a menu later.


3. Missing full DGT clock simulation buttons
Did not add the full DGT clock simulation buttons in these commits. The current work focused on the new web clock quick controls and touch layout. This remains a separate feature/design item.

4. Too small buttons above the DGT clock output on the right side
Enlarged the four web clock action buttons: switch sides, evaluation, pause/play, and hint. Also adjusted spacing so they fit on local and remote clients in portrait and landscape. I did not move them under the chessboard, as that would be a riskier layout change. Also, on a mobile phone in landscape mode there is no room below the chessboard, so the current placement is optimal there.

Also made the clock appear immediately on startup. This keeps the cogwheel icon visible without scrolling on mobile phone portrait mode.

A git pull should do it ;-)  ... Hopefully this is yet another hotfix improvement while waiting for the next interesting design.

-- Johan

Johan Sjöblom

unread,
Apr 28, 2026, 12:24:59 PM (12 days ago) Apr 28
to PicoChess
On localhost there is still room for more buttons... So if we do not put back the clock menu >> buttons we could put a power button on the top right corner in landscape (and below chess board in portrait). At least on a desktop people would expect to find a power button on the top right. The power button could give the same options as the system power menu?
And we might not want a power button on a remote client anyway...?
-- Johan

RandyR

unread,
Apr 28, 2026, 2:44:39 PM (12 days ago) Apr 28
to PicoChess
One minor annoyance I just noticed - if the eboard isn't ON, the clock display in the new UI flashes alternately, e.g., "no Chessnut e-Board" and the clock times, at the rate of the rotating '/'.  It wouldn't be so annoying if the rate was about 2 Hz, equal time. Note that this test is using Diet-Pi and X11 on a Pi5 with HDMI monitor.

RandyR

unread,
Apr 28, 2026, 3:11:18 PM (12 days ago) Apr 28
to PicoChess
Also, did something change? While I left the eboard OFF and attempted to do a PicoChess update using the new UI, the update ran without a reboot. But there was no indication that this was happening. I only noticed it because the system became very sluggish then locked up with all processors at 100% and Mem maxed out. I had to power OFF to get out of it. I confirmed it after starting up that the update runs without rebooting first. At the end of the update the web browser closed.

Randy

Dirk

unread,
Apr 28, 2026, 3:44:02 PM (12 days ago) Apr 28
to PicoChess

Things I noticed:


0. Cogwheel settings icon still not bigger on ky screen


1. Update no longer works as before (that was already before the last commits) like Randy posted


2. Clocks also flash on a real PI until eBoard connection has been established

    

At least on a DGTPI or Revelation with just the clock display we still should display teh current selected engine instead of teh initial clocks (this was at least for me always the most important information I wanted to see after a longer time without playing PicoChess.


3. Buttons directly below the chessboard are now also fine for touch on my screen.

 

4. Yes, the buttons above the clock display are now bigger and fine on a 1024x600  display. 


5. „Container“!? size still is different ion width for PGN game history and Engine/Book/Games area


6. With selected dark theme the black texts for engine/tutor and web engine is almost impossible to read on my screen

7. On my mobile I see the upload (not so important I think) instead of the PGN download button!?


e8c0a21ef0e0f5101a0d9e590435203ca7bf96af 2026-04-28 21-32-31.jpg

7. On my mobile I see the upload (not so important I think) instead of the PGN download button!?


IMG_1407.jpeg

8. "The power button could give the same options as the system power menu?": yes (otherwise when executing directly shutdown or exit it would be too easy top press this button accidentally) 
"And we might not want a power button on a remote client anyway...?" : Why not? ion I have a headless PI with just the phone Ishould of course also be able to shutdown the system/PI with this Power button 

My 2 cents... 

Dirk

Johan Sjöblom

unread,
Apr 29, 2026, 12:32:05 AM (12 days ago) Apr 29
to PicoChess
I have pushed two small hotfixes for the reported issues:

1. The web menu Update PicoChess action now works like before again. It schedules the update for the next boot and then reboots, instead of trying to run the update immediately in the current session. This was very strange, for some reason the web modernization had changed the call to the update function back to an older call.

2. The clock display no longer flashes between the no-eBoard message and the clock while PicoChess is waiting for an eBoard connection. The no-eBoard spinner should now rotate steadily again until the board is found.

Johan Sjöblom

unread,
Apr 29, 2026, 12:42:21 AM (12 days ago) Apr 29
to PicoChess
And update button swapped to the download button on the mobile.
What is "ky" in point nr zero?

DJ Dekker

unread,
Apr 29, 2026, 3:54:36 AM (12 days ago) Apr 29
to PicoChess
I've been working to get the overlay more friendly for the eyes & fingers by replacing the scroll lists with buttons on a 3x3 grid (just like the main menu). The only scroll lists that remain are those in the Engine menus (Modern, Retro, Favorites) and in the Opening Book menu.

Only the layout was changed, no changes in functionality of the menu items. Some buttons open a submenu, others open a slider, yet others are simply on/off toggles.

Here are some screen shots:

Main menu:
main.jpg

TIME menu:
time.jpg
TIME > FIXED menu:
fixed.jpg

ENGINE menu:
engine.jpg
ENGINE > MODERN scroll list:
modern.jpg
SYSTEM menu:
system.jpg
SYSTEM > VOLUME slider:
volume.jpg 
DISPLAY > PIECES menu:
pieces.jpg

Dirk

unread,
Apr 29, 2026, 5:21:07 AM (12 days ago) Apr 29
to pico...@googlegroups.com
Wow - that looks really like it resolve all touch issues with the menu & lists.

I will give it a try…


Thank you, DJ!



Am 29.04.2026 um 09:54 schrieb DJ Dekker <chess19...@gmail.com>:

I've been working to get the overlay more friendly for the eyes & fingers by replacing the scroll lists with buttons on a 3x3 grid (just like the main menu). The only scroll lists that remain are those in the Engine menus (Modern, Retro, Favorites) and in the Opening Book menu.

Only the layout was changed, no changes in functionality of the menu items. Some buttons open a submenu, others open a slider, yet others are simply on/off toggles.

Here are some screen shots:

Main menu:
<main.jpg>

TIME menu:
<time.jpg>
TIME > FIXED menu:
<fixed.jpg>

ENGINE menu:
<engine.jpg>
ENGINE > MODERN scroll list:
<modern.jpg>
SYSTEM menu:
<system.jpg>
SYSTEM > VOLUME slider:
<volume.jpg> 
DISPLAY > PIECES menu:
<pieces.jpg>


--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picochess/c4ed4954-94fa-452d-b1f7-603985c77f19n%40googlegroups.com.
<fixed.jpg><time.jpg><engine.jpg><modern.jpg><system.jpg><volume.jpg><main.jpg><pieces.jpg>

Johan Sjöblom

unread,
Apr 29, 2026, 12:33:38 PM (11 days ago) Apr 29
to PicoChess
Ok, after some devops work I managed to open a PR: https://github.com/JohanSjoblom/picochess/pull/400
The branch to test is 395-webclient-tiles

DJ Dekker: In what order should I attempt to merge that one and this one
393-name-elo-updating

I think I would start by merging the 393-name-elo-updating and then rebase the larger 395-webclient-tiles on top of that
PS. 391-eboard-import <-- This was already fixed in master and is redundant

-- Johan

Johan Sjöblom

unread,
Apr 29, 2026, 12:45:08 PM (11 days ago) Apr 29
to PicoChess
And there was a 386-fixes-for-handbrain, so there are 3 feature branches now rebased on top of master.
.. I think I need to revert the b76863f so that we get the engine name visible upon startup instead of "jumping" right to the clock display. And then after that make the font smaller or cut the engine name so that the cogwheel icon would be visible on a mobile phone upon startup... Otherwise someone might miss it, and its on startup you might look for a cogwheel settings icon.

Only devops work today... No coding work. I will continue in the weekend.

-- Johan

Dirk

unread,
Apr 29, 2026, 12:52:26 PM (11 days ago) Apr 29
to pico...@googlegroups.com
Regarding the engine name I found this in picochess.ini for v3 ;-)


### ==========================
### = Enhancements from v3.0 =
### ==========================

## Show engine after startup and new game event. Default is on. If you don't want this feature uncomment next line 
#show-engine = False
show-engine = True


So if this still works in V4 users using the web server/client could switch this off - then the clocks should be visible from the start on.


Dirk


Johan Sjöblom

unread,
Apr 29, 2026, 2:45:19 PM (11 days ago) Apr 29
to PicoChess
That setting does not help. With show-engine = False, the expected final startup display is Engine Setup, and it should remain there until something later overwrites the display.
The relevant sequence is:
  • Message.ENGINE_SETUP() is always sent.
  • DgtDisplay displays Engine Setup.
  • Message.PICOCOMMENT("ok") is sent after that, but DgtDisplay ignores PICOCOMMENT, so it does not overwrite the clock display.
  • Because show-engine = False, Picochess skips the later Message.ENGINE_NAME(...).
So the display should stay on Engine Setup until a later event changes it, for example starting play, starting the clock, entering/exiting menus, a move display, or another status message. If show-engine is absent, t he default is on, so startup should normally end with the selected engine name instead.

Instead, I reverted the hotfix so that the engine name is now shown as before, but I reduced the font on the web clock display using CSS. So now the startup sequence is like the previous v4 version.

Johan Sjöblom

unread,
Apr 29, 2026, 3:01:41 PM (11 days ago) Apr 29
to PicoChess
DJ: All 3 PRs including the new tile branch 395-webclient-tiles that everyone can test is now rebased on top of the fixed master.
I would like a hint on in which order I should apply these PRs... Should I do the small 393-name-elo-updating first in master, then 386-fixes-for-handbrain (if it is tested and risk reviewed as its a bigger change), and then finally rebase the 395-webclient-tiles again on top of those 1 or 2? I can ask the AI to analyse and recommend also.

Feel free to make more commits to any of these... if needed.

To all others: the 395-webclient-tiles branch can now be tested. Its the master branch + the new tiles change.

-- Johan

DJ Dekker

unread,
Apr 29, 2026, 4:57:52 PM (11 days ago) Apr 29
to PicoChess
Hi Johan,

Yes, I think that that is the preferred order.

PR 397 (player name / Elo) is a simple single-commit bug fix (1 file in server.py, 1 in app.js) that addresses a gap: when a user changes their name or ELO via the web client, the move list and player display didn't update in the current game without a reload. This can be merged first. It will merge cleanly without conflicts, because it's purely additive.
PR 401 (fixes for Hand&Brain) will also merge cleanly. It touches server.py and app.js, but in different places than PR 397. So no conflicts here either.
PR 400 (webclient tiles) is the largest and most invasive change, best merged last so that it's rebased on the most stable base possible. I rebased my own branch on upstream/master before issuing the PR (the single commit to upstream/master after the rebase shouldn't affect the PR).

Greetings,
DJ

MartinP

unread,
May 1, 2026, 7:11:31 AM (9 days ago) May 1
to PicoChess
The Stockfish 18 engine is behaving strangely.

Here's an excerpt from the log file, the game settings, and finally, the game itself.

Stockfish 18 (Auto) (3661) vs Martin (1200)
book = books/Perfect2019.bin
time = 15 10
tutor-coach = on
board-type = chesslink
rating-deviation = 350

2026-05-01 12:20:17.361 WARNING engine - stop_async: engine analyser stop timed out after 1.0s - cancelling task
2026-05-01 12:23:28.029 WARNING picochess - process_main_events: wrong function call [best]! mode: Mode.NORMAL turn: False
2026-05-01 12:23:37.690 WARNING display - force_leds_off: (rev) leds still on
2026-05-01 12:23:39.879 WARNING engine - stop_async: engine analyzer stop timed out after 1.0s - canceling task

The Game:

[Event "PicoChess game"]
[Date "2026.05.01"]
[Round "?"]
[White "Stockfish 18 (Auto)"]
[Black "Martin"]
[Result "0-1"]
[Time "14:44:27"]
[WhiteElo "3661"]
[BlackElo "1200"]
[PicoTimeControl "15 10"]
[PicoRemTimeW "30"]
[PicoRemTimeB "1052"]
[PicoOpeningBook "books/Perfect2019.bin"]
[Opening "Spanish: Steinitz Deferred, 6.Re1"]
[ECO "C79"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O d6 6. Re1 b5 7. d4 bxa4 8. Nc3
exd4 { Best: Bg4 Score: -192 CPL: 49 } 9. Nxd4 Nxd4 10. a3 Nb5
{ Best: Ne6 Score: -428 CPL: 47 } 11. Nd5 Nxd5
{ Best: c6 Score: -337 CPL: 111 12. exd5+ Be7 13. c4 Na7 14. c5 O-O 15. Qh5
dxc5 16. Bd2 Rb8 17. Rxe7 Qxe7 18. b3 Qf6 19. Qxh7+ Kxh7 20. Rc1 Qg6 21. Rxc5
Bh3 $3 { !! Mate in: 9 CPL: 0 DS: 98825 } 22. g4 Qxg4+ 23. Kh1 Qg2# 0-1

I didn't expect Stockfish to play such a stupid game with those settings.

Could this behavior of Picochess be caused by the last "minor hotfix" from April 27, 2026?

("...hotfix for the new web client. It fixes the side-switch case where choosing Black from a fresh game could leave PicoChess not making White's first move. It also fixes the harmless but noisy e-board `MSG_SYSTEM_INFO` log error Randy reported.")?

Greetings from Germany/Martin

DJ Dekker

unread,
May 1, 2026, 7:39:43 AM (9 days ago) May 1
to PicoChess
Hi Martin,

You have set Stockfish rating to "Auto", so it will try and match your Elo (set to 1200). As you keep winning, your Elo goes up and you should see that Stockfish starts playing stronger.

Greetings,
DJ

MartinP

unread,
May 1, 2026, 8:48:18 AM (9 days ago) May 1
to PicoChess
Thanks DJ, that makes sense. I was already thinking picochess was developing "artificial idiocy".

Dirk

unread,
May 1, 2026, 9:20:26 AM (9 days ago) May 1
to pico...@googlegroups.com
In V3 it would have helped at least on a real clock display (obviously there must have been a timer clock event which then shied the initial clock times. Additionally in v3 when it was set to true then after a new game event the engines name was shown again.

In v4 that had changed at least show-engine has no effect at all independent if the setting…(on a real clock)


Von meinem iPhone gesendet

Am 29.04.2026 um 20:45 schrieb Johan Sjöblom <messi...@gmail.com>:

That setting does not help. With show-engine = False, the expected final startup display is Engine Setup, and it should remain there until something later overwrites the display.

Johan Sjöblom

unread,
May 1, 2026, 9:30:31 AM (9 days ago) May 1
to PicoChess
Martins case is a Auto setting issue yes I agree. DJ Dekker and others, now the smaller PRs have been merged and we now have the master branch and the new 395-webclient-tiles sitting nicely "on top" of the master. So regardless if you test master or the new 395-webclient-tiles you should do a git pull to refresh in the minor changes.
-- Johan

Johan Sjöblom

unread,
May 1, 2026, 9:49:54 AM (9 days ago) May 1
to PicoChess
I made 2 small commits to the new 395 branch. Nothing major. The only thing DJ I am thinking about from a code point of view is this line:
- custom.css (line 856)
it has a broad touch and this CSS may affect older UI areas changes DataTables rows, nav pills, list groups, all .btn, inputs, labels, card headers, and scrollbars on coarse-pointer devices.... I am not saying its wrong, it  just "touches" a lot of stuff so testing is needed.

Now I dont have anything to commit or change at the moment, just testing remains.

-- Johan


DJ Dekker

unread,
May 1, 2026, 11:29:01 AM (9 days ago) May 1
to PicoChess
Hi all,

I have been thinking about the interaction modes and would like to propose some changes.

Currently we have this:
current-interaction-modes.png

I'd like to propose the following structure:
proposed-interaction-modes.png

Key changes are:
  1. Mode.BRAIN removed, make ponder on/off a toggle in the Engine menu;
  2. Mode.ANALYSIS renamed to Mode.HINT;
  3. Mode.PONDER renamed to Mode.ANALYSIS;
  4. Mode.HANDBRAIN added as a proper mode, not a setting in PicoTutor;
  5. Mode.HINT and Mode.KIBITZ hidden from webclient (the data is already in the information pane), they're DGT only;
  6. Mode.OBSERVE gets new title in webclient: "Human vs. human".
This proposal also makes the terminology in the code base more consistent. Currently, Mode.BRAIN turns pondering on, whereas Mode.PONDER shows "Analysis", and Mode.ANALYSIS displays the move hint. Quite confusing...

Curious to hear what you think about it.

Greetings,
DJ


Dirk

unread,
May 1, 2026, 12:16:14 PM (9 days ago) May 1
to pico...@googlegroups.com
Hi DJ,

yes, in general a good suggestion in my opinion.

Two things come to my mind:

1. Do we really need the „hidden“ modes? If yes, why are they hidden for the web display. Don’t we have to activate the throe for this information in the webdispaly information area? I  think we should (almost) always show the same information in the Clock display. These current modes /Move Hint and Eval. Score) are not designed to play against an engine but for two 2 players playing against each other and seeing the corresponding information during play if I remember correctly. Otherwise  current modes Training wouldn’t be different than Eval.Score. I think we could get rid of those. If 2 players want to play against each other and see this information they could use analysis mode because clocks are not running anyway for these modes. They could switch the flag „flexible" off in order to allow only legal moves. Maybe we could add another option off they just want to see teh eval or best move (but then it might be better to have this as a separate mode setting like it is at teh moment!? Hmmmm....

2. Hand & Brain does change the tutor/coach setting/behaviour a lot so (this why this was the original design suggestion. Having this as a separate modet it must be clear (for the users) that in this mode standard tutor behaviour is switched off.

Dirk


Am 01.05.2026 um 17:29 schrieb DJ Dekker <chess19...@gmail.com>:

Hi all,

I have been thinking about the interaction modes and would like to propose some changes.

Currently we have this:
<current-interaction-modes.png>

I'd like to propose the following structure:
<proposed-interaction-modes.png>

Key changes are:
  1. Mode.BRAIN removed, make ponder on/off a toggle in the Engine menu;
  2. Mode.ANALYSIS renamed to Mode.HINT;
  3. Mode.PONDER renamed to Mode.ANALYSIS;
  4. Mode.HANDBRAIN added as a proper mode, not a setting in PicoTutor;
  5. Mode.HINT and Mode.KIBITZ hidden from webclient (the data is already in the information pane), they're DGT only;
  6. Mode.OBSERVE gets new title in webclient: "Human vs. human".
This proposal also makes the terminology in the code base more consistent. Currently, Mode.BRAIN turns pondering on, whereas Mode.PONDER shows "Analysis", and Mode.ANALYSIS displays the move hint. Quite confusing...

Curious to hear what you think about it.

Greetings,
DJ



--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picochess/47c4644b-f815-437a-b5f7-aed6507a6964n%40googlegroups.com.
<proposed-interaction-modes.png><current-interaction-modes.png>

Wilhelm

unread,
May 1, 2026, 1:18:37 PM (9 days ago) May 1
to PicoChess
Hi everyone 

Please remember, in training mode it's also possible to override the engine's moves and thus force it to play specific variations. 
This is useful if you want to test certain opening or endgame variations, or if the question arises during the game: how would the game continue if the engine accepted this sacrifice? 

Regards
Wilhelm

Johan Sjöblom

unread,
May 2, 2026, 12:58:52 PM (8 days ago) May 2
to PicoChess
Good point Wilhelm, that was missing from the summary. During my development I have kept a small text file on how each mode differ, when is the engine playing, clock running, force moves allowed, any position etc.
Its in your own /opt/picochess folder as well.

First we have to complete the open PR branch, and then plan this redesign in several steps. In the current branch you cannot see if the engine will play or not… Not sure if that is a problem, but in master I tried to group them so that its clear if you select a mode where you play the engine. Notice that we have already dropped the Ponder on, Mode.BRAIN in the new PR branch as we can not force modern uci engines to ponder or not.

For the future we can reduce the modes to a minimum, and have sub-settings like ”can I force a move” for normal, and for analysis:, are clocks running, can I set any position or is it move-by-move (flexible mode setting). At the same time we have to support the clock display for DGT clocks.

— Johan

Henri

unread,
May 3, 2026, 9:37:42 AM (7 days ago) May 3
to PicoChess
I would like to have the fontsize of the Picochess Menu enlarged quite a bit, preferably at least by 250%. At the moment I am not able to read the texts without a looking glass. Thia goes for as well the 1920x1080 desktop as for my 1024x600 touchscreen. Maybe I am the only one with this request, however I don't think anyone would mind a larger fontsize 

Henri. 

Op zaterdag 2 mei 2026 om 18:58:52 UTC+2 schreef messi...@gmail.com:

Johan Sjöblom

unread,
May 3, 2026, 10:28:22 AM (7 days ago) May 3
to PicoChess
Henri, are you testing lastest master or are you referring to the 395-webclient-tiles where DJ Dekker has made 3x3 tiles that should be bigger.

Henri

unread,
May 3, 2026, 10:39:04 AM (7 days ago) May 3
to PicoChess
Latest master, version 4.3.0 (out for beta testing)

Henri

Op zondag 3 mei 2026 om 16:28:22 UTC+2 schreef messi...@gmail.com:

Johan Sjöblom

unread,
May 3, 2026, 11:30:09 AM (7 days ago) May 3
to PicoChess
If you can run console commands heres how to switch:
cd /opt/picochess
git fetch origin
git switch 395-webclient-tiles

To get back to master: git switch master

Johan Sjöblom

unread,
May 3, 2026, 11:38:17 AM (7 days ago) May 3
to PicoChess
What di you think DJ Dekker, should we merge in the tiles into master? We could tag first using 4.3.0, making it possible to go back or compare… And then for tiles 4.3.1…

Henri

unread,
May 3, 2026, 11:46:40 AM (7 days ago) May 3
to PicoChess
I have the 395-webclient-tiles now. I see that the tiles set up is changed. But the fontsize is way too small for me.
I would like to have all the Picochess Menu windows to be at least twice as big, including the fontsize. I know it's a tall order, but we Dutch have a reputation of being outspoken... ;)

Henri 

Op zondag 3 mei 2026 om 17:30:09 UTC+2 schreef messi...@gmail.com:

Randy Reade

unread,
May 3, 2026, 11:54:47 AM (7 days ago) May 3
to pico...@googlegroups.com
I'm not seeing any difference on the 395 branch compared to master on a locally connected monitor. The aspect ratio is 16:9. The resolution is set to 1440p. It seems that some of the fonts aren't scaling, while others are:


screenshot1.png
screenshot2.png

Using 1080p on a laptop in front of you is OK but it would be nice if the fonts scaled better for hi res monitors. Also, as Dirk pointed out before, the dark font is unreadable in dark mode, as well as being too small.

Randy

PS. for anyone wanting to take screenshots via ssh in Wayland/Trixie, use the command:

WAYLAND_DISPLAY=wayland-0 grim /home/pi/screenshot.png

Then send it to your remote PC using scp:

scp -p /home/pi/screenshot.png <username>@<ip address of PC>:<folder name>

(e.g., for Linux PC: 'scp -p /home/pi/screenshot.png ra...@192.168.1.10:~/Desktop')
(e.g., for Windows: 'scp -p /home/pi/screenshot.png randy@192.168.1.10://C:/Users/Randy/Desktop')

Johan Sjöblom

unread,
May 3, 2026, 12:24:10 PM (7 days ago) May 3
to PicoChess
OK, I added a low-risk increase of the web menu fonts... Most visible on Henris layouts I would think. On a 1440/4K we would maybe need a desktop breakpoint, not a responsive design...?

Randy Reade

unread,
May 3, 2026, 12:41:30 PM (7 days ago) May 3
to pico...@googlegroups.com
Yeah, no noticeable change that I can see. Definitely not a high priority to support high resolution monitors. I can easily run at a lower resolution in the meantime.

Randy

Johan Sjöblom

unread,
May 3, 2026, 12:42:36 PM (7 days ago) May 3
to PicoChess
I also noticed that the git information had gone missing in the new menu... Added it back as a new line under System->Info. There you can see if you at startup had the latest git commit running or not. It will say "no new" if you have the latest, and "b: no new" if you are on the latest version of a branch, like the 395 we are testing now. It also exists in the clock menu.
The different sizes issues with font scaling, need for increased menu sizes etc means that we still keep this in development? Or is it already as good as master?
-- Johan

PS. I will be travelling from Wednesday-Wednesday so I wont be able to hotfix anything the coming week. One stop I will make is on the Riga AI Summit end of next week. Riga old city center has an interesting chess club in a pub, hopefully I have time to visit it.
Reply all
Reply to author
Forward
0 new messages