Replace FvwmTabs' tabber_client.py with FvwmMFL
Budget: €20 – €25 EUR
The new FvwmTabs has rewritten the classic Perl FVWM tabbing module in Python/Tk under the same name FvwmTabs. Everything works as expected—multiple tabbers, assigned tabber IDs, the right-click menu, auto-Swallow, and full socket/Tk interaction—but at the moment it still relies on a small helper called tabber_client.py.
I now want the existing FvwmMFL module to replace that helper, so the final stack is loaded from .fvwm/config like this:
```
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Module FvwmMFL # will absorb tabber_client.py role
+ I ModulePath ${HOME}/.fvwm/modules:+
+ I Module FvwmTabs
```
The finished script must behave exactly as FvwmTabs does today—no visual or functional regressions—while gaining the extra flexibility FvwmMFL already offers.
Primary objective
• Enhance functionality by eliminating the duplicate helper and letting FvwmMFL handle all client duties.
Key improvements I expect
• Cleaner, more reliable socket communication between FVWM, FvwmTabs, and any future helpers.
• Room to add extra FVWM commands from within FvwmMFL; I’m not yet certain which ones, so keep the design open for straightforward extension.
Scope of work
1. Preserve every current feature: multiple tabbers, assigned IDs, right-click popup, autoSwallow, etc.
2. Supply brief installation steps and a diff or short doc explaining any new command-line switches or FVWM functions you introduce.
3. Validate on a live FVWM session: spawning, docking, tab movement, menu actions, and graceful exit all function without errors.
Acceptance criteria
• Running StartFunction exactly as shown launches both modules with no stderr complaints.
• FvwmTabs UI and behaviour are indistinguishable from the current release.
• A test script or steps proving at least one extra FVWM command can be added later without code restructuring.
If you know the FVWM internals and speak Python, I have uploaded a zip that includes all related files. The readme.txt describes the dependency, installation, and usage. Also, one screenshot.
I now want the existing FvwmMFL module to replace that helper, so the final stack is loaded from .fvwm/config like this:
```
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Module FvwmMFL # will absorb tabber_client.py role
+ I ModulePath ${HOME}/.fvwm/modules:+
+ I Module FvwmTabs
```
The finished script must behave exactly as FvwmTabs does today—no visual or functional regressions—while gaining the extra flexibility FvwmMFL already offers.
Primary objective
• Enhance functionality by eliminating the duplicate helper and letting FvwmMFL handle all client duties.
Key improvements I expect
• Cleaner, more reliable socket communication between FVWM, FvwmTabs, and any future helpers.
• Room to add extra FVWM commands from within FvwmMFL; I’m not yet certain which ones, so keep the design open for straightforward extension.
Scope of work
1. Preserve every current feature: multiple tabbers, assigned IDs, right-click popup, autoSwallow, etc.
2. Supply brief installation steps and a diff or short doc explaining any new command-line switches or FVWM functions you introduce.
3. Validate on a live FVWM session: spawning, docking, tab movement, menu actions, and graceful exit all function without errors.
Acceptance criteria
• Running StartFunction exactly as shown launches both modules with no stderr complaints.
• FvwmTabs UI and behaviour are indistinguishable from the current release.
• A test script or steps proving at least one extra FVWM command can be added later without code restructuring.
If you know the FVWM internals and speak Python, I have uploaded a zip that includes all related files. The readme.txt describes the dependency, installation, and usage. Also, one screenshot.