2026-06-15
================================================================================================================
Small fix to allow tray item context menu entries to contain content even when disabled.


2026-06-08
================================================================================================================
Selecting an entry in submenus /Windows or /Global window list will uniconify the targetted window if needed.


2026-06-07
================================================================================================================
Implemented a check to see if the server is already running and if so abort.
(we do NOT want two servers running, both trying to coordinate pipes/semafores)


2026-06-05
================================================================================================================
Added a global list of GEM windows accessed as a submenu of the menu offering "HIDE ALL/SHOW ALL/SHOW DESKTOP".
This new submenu labelled "Global window list >" will react to entry selection by topping the associated window.
The parental menu can be opened in two ways:

	* RIGHT CLICK 		on any "empty" space on taskbar			 (existing shortcut)
	* ALT + RIGHT CLICK 	on any location on the taskbar except tray items (new shortcut)

Fixed a problem where dragging a file to a TAB belonging to an app that has several instances running would
always direct this file to the instance that was launched first.

NOTE: The entries in the list are sorted by application, based on each applications "topmost" window


2026-05-27
================================================================================================================
Found and fixed a memory leak related to AV-protocol bindings.


2026-05-25
================================================================================================================
Improved the visual labels for multiple instances, now using smaller style if taskbar height is "classic" or
"compact", and a slightly larger for "Expanded" and "Oversize".

Bumped up the number of application setting entries in the config +32.

Fixed a problem in the code that starts another instance of a running process, caused by mixup of AP_ID and PID.



2026-05-23
================================================================================================================
Added possibility to launch another instance of a running process:
	* Right click menu, => PROCESS => Launch <APP> (running)

Added visual label to the PROC tabs for such "extra" instances, where the listed number represents launch order.

Fixed a redraw bug for the focus indicator for process tabs.

Added possibility to reorder tray items in the same fashion as process tabs:
	* Hold down SHIFT and CLICK+HOLD left mouse button while dragging the object to the desired location.

2026-04-09
================================================================================================================
A lot of changes since last entry in this log of changes..

A new API for clients to interact with Motosu:
	* Uses SHM for payload
	* Uses AES for notifications
	* Uses PIPES for syncronization
	* Uses SEMAPHORES for guard railing

	Crafting and adjusting this API has been where most of the dev time has been spent in 2025-2026.
	It is a total remake of what was present in earlier versions of Motosu. A public release during
	summer of 2026 seems like a good time to put the new API to the test on a grander scale.


Internal fixes:
	* Most notably, a long standing bug in the TAB width calculation routines was fixed.
	  (this bug was worked around by calling the related FUNCTION twice = inefficient)

Optimization/cleanups:
	* A lot of code has been revised and optimised, binary size roughly kept the same as previous public beta.

2025-06-30
================================================================================================================
If number of proc_setting lines in config got too big we would start getting garbage in the older entries.
This happened due to Motosu failing to check the boundries of the array used, thus accessing dirty data.
Should there be more proc_setting entries in the config now, then Motosu will ignore entries above the array
limit and issue a warning. Number of entries bumped from 64 to 96, subject to change in the future.


2024-10-24
================================================================================================================ 
Fixed a problem with sanity checks in the icon configuration tool. If motosu config and cache got out of sync,
you could end up with really strange redraw issues in the icon config utility.

Changed the default for png_mode from 2 to 0 (default to pre-blended to white background)


2024-10-05
================================================================================================================ 
Added a new feature: If you send a Left double click + ALT to the Start tab, all the tabs will toggle between
icon+text/icon/text. Very handy if you wish to fold/unfold all the tabs in one go.

Fixed an "off by one" error in the icon config tool, sorting out a faulty out of range.

If a tab is anchored, the option to hide that tab from taskbar will be greyed out.


2024-09-18
================================================================================================================ 
Icon utility can now reload the icons from cache. If its window is iconified when Motosu requests it to start
configuring icons for a process/application, it will not be uniconified automatically.

Motosu has had some minor tweaks to the tAPIr API, with some sanity checks for icon change requests.


2024-09-11
================================================================================================================
The icon utility now has a menubar attached to its window. Through this menu the user can now rebuild the icon
caches for RSC or PNG. As of yet, the icon utility is not reloading the icons from cache though!


2024-08-15
================================================================================================================
The synchronization between Motosu and the icon config tool has been completed, so it is now possible to
configure as many icons as you like within one icon utility session.
(No need to terminate/restart for every tab you wish to configure)

Fixed a minor bug that could potentially displace the starting point of the taskbar with 1 pixel the first time
a reparsing of the taskbar was triggered.


2024-08-06
================================================================================================================
The right click menu of the start button has been restructed for improve consistency.
The right click menu of the scope tab has been equipped with a "Tab" submenu, making it possible to both
set the folding status as well as calling for the icon utility.

The icon configuration has been extended to include also the start button, scobe tab and system clock.
If we are requesting the icon utility and it is already open, a new one won't be started.


2024-08-01
================================================================================================================
Motosu will now only use $HOME/Motosu/ (or its work directory, if $HOME is not set) for its config and cache.


2024-07-19
================================================================================================================
The icon utility is now able to send the selected icon set back to Motosu, which will then reflect any
changes made to the settings of the targetted application.

2024-07-15
================================================================================================================
Added a new entry ("Configure icon") to the submenu "Tab" in the right click menu for each process tab.
Selecting this entry will open up an icon configure utility. The icon utility is not yet communicating back the
selected icon to Motosu though.

2024-07-14
================================================================================================================
If Motosu was set to automatically hide/show its window, moving the mouse pointer around at the very bottom of
the screen after the bar has been unhidden would trigger redraws of the taskbar.


2024-05-11
================================================================================================================
Adjusted the logics of the icon cache slightly, to avoid PNG/RGB data being cached in 2 identical copies.


2024-05-01
================================================================================================================
Double clicking a TAB will open up a modal dialog, offering user to rename its visible title.
(works on Start button, Scope TAB and Process TABs)


2024-04-14
================================================================================================================
Added a keyword "png_mode" to config file. It will use the following:
0 = PNG-icons are pre-blended to a bright background colour
1 = PNG-icons are pre-blended to a dark background colour
2 = PNG-icons are blended to the background in realtime (Not recommended for slow setups)


2024-04-13
================================================================================================================
Adapted sources to current (unreleased) GBE version.

Improved the code for hiding/unhiding apps.


2024-03-21
================================================================================================================
Small fixes to PNG ICON redraws/clipping
It is now also possible to address PNG icons through tAPIr API, both for custom app icon and tray icon.

2024-03-09
================================================================================================================
Implemented a new module: ipng_ico.md?
This module will look in subdir /png of the work directory of Motosu for any PNG files present. If such files
are found the module will create an icon cache that the main program can use to import these images as icons.

NOTE! This feature requires NVDI5.03 + latest version of Lonny Pursells image plugins.

The lack of entries in this history logfile lately is simply because the PNG/ICO module has been a rather fiddly
and time + brain consuming project, so it has not really made much sense to document every little step..


Today I also added a check for an empty VA_START - if detected, the start menu will be flung open. This can be
triggered from system utilities like Keyboard Tweaks, by Jo Even Skarstein. (In beta as of march 09 2024)


2024-01-22
================================================================================================================
Fixed a redraw error, where a 1 pixel wide area to the far left would not be redrawn correctly when having the 
XaAES option with completely borderless windows (winframe_size = -1) set for Motosu.


2024-01-18
================================================================================================================
Improved the toggle mode (CTRL + click on process TAB) so it now works as intended also with anchored tabs.
 

2024-01-16
================================================================================================================
Main program binary and bgfx_md6 now compiled with GFA libraries that fixes issues post-3.75 release:
	* V4E/CF has had a bugfix for _PX_FORMAT where it returned zero when NVDI was installed on Firebee.
	* V4E/CF+68K has had a fix for WORK.OUT, where wrong parameter was being sent to vq_entnd() -> intin(0)

2024-01-15
================================================================================================================
When anchoring a TAB to taskbar, the "fancy name" (or any custom name set) would be replaced with the GEMDOS 
process name next time Motosu was started.


2024-01-14
================================================================================================================
When KILL was selected from a programs /proc submenu, Motosu would issue a SIGKILL. However, this function 
expects the MiNT process ID and not the AP_ID. Since XaAES has PID=AP_ID (which is absolutely moronic!) this 
bug would not be revealed if Motosu was run under XaAES.

If a tab is anchored (and app not running), Motosu now creates an entry "Start program" in submenu /proc.


2024-01-13
================================================================================================================
The Start menu would not work properly under Teradesk. The reason was that Motosu was using VA_START to request 
the start of a given application from AVSERVER. While this peculiar way of using this call is explicitly 
supported by Thing desktop it is clearly ignored by Teradesk. Motosu now uses AV_STARTPROG, which works 
correctly under both Thing as well as Teradesk.

(VA_START was also used when reacting to drag/drop:ing file to process tab, also changed to AV_PROGSTART)


2024-01-11
================================================================================================================
Motosu will now detect if $AVSERVER has terminated, and then clear the corresponding variable. The program will 
also detect if $AVSERVER is restarted and try to establish contact again.


2024-01-07
================================================================================================================
Motosu would get into trouble if $HOME was not set. This could lead to some rather strange confusion on where 
cache files as well as config files should be located. If this happens, Motosu should now default to APPDIR.

2024-01-06
================================================================================================================
DHST cookie is now always set (or updated, if already existing) since the check for pre-existing cookie would 
lead to confusing results after a rez change.

Detecting path to an accessory is now always handled by exploring $ACCPATH - it reduces the risc of getting 
confusing resuls when anchoring a tab with an ACC and later swapping between different AES's.


2024-01-05
================================================================================================================
Updated the module creating the texture cache - now VDI detection is tweaked to allow NVDI+fVDI combo to work 
on (at least) Firebee. Both this module and the icon cache module now exist in 2 versions: 68K and Coldfire. 
The Coldfire module uses *.APP , the 68K module uses *.PRG and Motosu should automatically use the correct one.


2024-01-04	
================================================================================================================
Bugfix in code for creating popup menus - particularly for the start menu this would lead to blank entries in 
submenus (the first entry after a separator).

Improved detection of workdir for XaAES, and added check for missing "\" at the end of AESDIR path.


2024-01-02
================================================================================================================
First compilation for Firebee! Updated GBE to newly released 3.74 and took opportunity to compile a binary for 
V4E/CF (Firebee). Also improved the patch for encoded ascii below 32, now it handles several occurances within 
a string.


2024-01-01
================================================================================================================
Fixes to start menu - separators created with Thing vs JayGroups was built differently, Motosu can now handle 
all known cases. Motosu was also not aware of links to folders (OFLD) but only links to files (OFIL). Fixed now.
In GRP-files it appears ascii bytes below 32 are encoded with @XX where "XX" is a 2 digit ascii. Now supported.

TBAR.RSC was referenced in upper case in binary, which could add confusion in case sensitive file systems.

Fixed a typo in /proc TAB, "Open appliction dir" => "Open application dir"



2023-12-31	Motosu v0.9-beta released
================================================================================================================
