foo. bar. baz. quux.
Foobar2000:Dock
From WikiBazQuux
Revision as of 20:55, 27 October 2006
As of May 2009, I'm taking down all foobar2000 related files.
As of May 2008, I will no longer be developing foobar2000 components.
I no longer wish to contribute my time to a closed source, single platform app.
Also, certain actions by the foobar2000 developers have lead to my no longer wishing to contribute. These include removing features utilized by developers and users because they dislike they way they are being used and allowing only an elite few access to new API features.
Thank you to loyal users over the past years.
If you are a developer and are interested in taking over development of one of my components, please email me at chris SQUIGGLE bowron SLAM us.
foo_dockable_panels is a component that lets you create windows from columns ui panels and be able to float or dock them to the main app window. It works in both columns ui interface and the default interface, but requires the columns_ui.dll to be installed.
Contents |
Instructions
Basics
Select View->Dockable Panels->New to create a new dockable panel window. Then right click on the created window to select which columns ui panel should be in that window. The windows can be floated or attached to any side of the main foobar2000 window or each other. Double clicking on the title bar of a dockable panel will collapse or expand the window.
Understanding Docking
If you move Panel A within Panel B, it will snap attach to Panel B. If you then move Panel B, Panel A will move along side it. If you wish to unattach Panel A from Panel B, you must move Panel A away from Panel B.
If you have not hidden the titlebars, the title bar will contain in brackets arrows that show on which sides a panel is attached to another panel. For example, if the title bar says "Playlist tree panel [^>]" the panel is attached to the panel above it as well as the panel to its right.
Expansion Tagz
Panels can be set to expand or collapse based on the results of a foobar2000 titleformatting string. If an "Expansion Tagz" is set, the tag will be evaulated based on the currently playing song. If the script evaluates to anything other than an empty string it assumes the panel should be expanded, otherwise it should be collapsed. Processing can be turned on or off on the preferences menu. The tag will be re-evaluated every time a new song plays. For example, I use $cwb_fileexists($replace(%_path%,%_filename_ext%,)folder.jpg) for my album art panel to expand or collapsed based on whether the song has artwork or not (example requires foo_cwb_hooks).
Dockable Panels adds the function $dock_iscollapsed_index(n) which can be used in expansion tagz to have panel expand and collapsed when another one does. For example: $if($not($dock_iscollapsed_index(1)),Expand,). Indexing starts at 0. You can determine a panels index in the View/Dockable Panels/Activate menu (Remeber to subtract 1 to make it 0-based).
Feature Requests
- directly choose the panel from the View->Dockable Panels->New menu
- always on top option (use main always on top option under View->Always on top)
- option to turn on/off main window docking
- export / import settings
- always on top for specific panels
Requested but not easily doable
- no frame, but with titlebar - not possible: http://blogs.msdn.com/oldnewthing/archive/2006/03/09/547171.aspx
Known Bugs
- keyboard shortcut processing in some panels not working