FavMenu 2.0

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

FavMenu 2.0

Post by *majkinetor ! »

FavMenu 2.0
[face=timesnewroman]
FavMenu is Windows OS enhancer and application launcher. It stores information about your favorite folders and executables and let you quickly use your favorites
within system dialogs (Open/Save, Browse For Folder, Office2003 dialogs), Console (cmd.exe), Widows Explorer and Total Commander.

Format of the menu configuration file is compatibile with the Total Commander file manager directory menu, and was originaly written to work as addon for this file manager. Almost all features of the TC directory menu are supported, including plugins and pseudovariables. Furthermore, TC doesn’t need to be started.

Menu Editor can be used to create, edit, delete and organise menu items. This is also complete replacement of TC’s internal directory menu editor witch adds many new options. It can be used together with FavMenu or separate.

NOTE: Prerelease versions will not have compiled (exe) version of the script, so in order to test it you will have to install Autohotkey.

HISTORY

V2.0 (18. Septemeber 2006)
  • V2.0 (18. September 2006)
    - Added support for Browse For Folders dialogs (might need administrator privilegies)

    - Added support for Console ( internal console commands are also supported ).

    - Added support for Windows Explorer (you can use it also as a File Manager instead of Total Commander)

    - Added left click on the tray icon to launch FavMenu from the tray.

    - Clicking on tray icon will not steal current focus. This means that you can use Favmenu within supported windows via the tray icon.

    - Added custom tray icons for enabled and dissabled state. You can change them in res folder.

    - Enhaced "Add current directory" feature:
        + Now supports Browse For Folders, Windows Explorer and Console.
        + Full functionality in Open/Save standard dialogs: support for all folders including virtual folders with physical representation.
            (Desktop, My Picture, My Documents, Recent Documents…)
        + Dialog is now of dynamic width: the path recognised will always fit except if it is too long

    - Added Help tray menu item

    - Properties: Added "change item" button. Click on it to select next item to edit, via FavMenu.

    - Properties: Added ENTER key handling. Pressing it will switch focus to next item parameter.

    - Setup: New options - integration tab - select where do you want Favmenu to appear.

    - Setup: Added button to create sample menu.

    - Editor: changed Enter key behavior - it is no longer needed in Editor to press Enter on every changed item.
    Items are saved per keypress. Everything is saved after Save button is pressed.
V1.1 (17. Jul 2006)
  • - Add current directory is available in dialogs also (except Office dialogs). Previous version had this item only if TC was active.
       It will surely work for hard disk folders and My Documents virtual folder. It doesn’t work for Desktop.

    - CTRL SHIFT ENTER on menu item will paste that item in active window.

    - Dialog handling improvements and bug fixes. Sometimes you could get redirected to TC when using Favmenu in dialogs without a reason.

    - Added Total Commander hook to “Current Directory” header: double click on it will open Favmenu preventing original TC menu.
       * button is still not hooked.
TO DO
- Smart refreshing (highest priority)
- FTP user name & password in menu command.
- TC internal command in menu (like cm_opendrives)
- Command line option: specify configuration file to use for both applications.
- Hook for * button in TC
- Mouse impovements (visual indication on dialogs via icon on title or something…. )
- Large icons

[/face]

Latest "unreleased" version:
Favmenu 3 b1
Last edited by majkinetor ! on 2007-06-20, 10:01 UTC, edited 157 times in total.
Habemus majkam!
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

[deleted]
Last edited by majkinetor ! on 2006-05-31, 13:38 UTC, edited 1 time in total.
Habemus majkam!
User avatar
gbo
Senior Member
Senior Member
Posts: 329
Joined: 2005-03-31, 19:58 UTC
Location: Lausanne (Switzerland)

Re: [FYI] AHK script to display TC favorite folders ANYWHERE

Post by *gbo »

majkinetor ! wrote:I thought it would be cool to use TC's favorites around, since my favorites are my favorites, and that doesn't depend on application, so why to define them several times...
Nice idea, it works fine 8)
majkinetor ! wrote: Call it with CTRL q
I use Winkey q [#q::] instead of CTRL q otherwise CTRL q (quickview) will not be available anylonger in TC
Gil
Licence #17346

90% of coding is debugging. The other 10% is writing bugs.
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

Great idea, majki! I'm waiting for the full version!
Besides, I use Win-D as an analogy to Ctrl-D ;-) the original show desktop funtionality is not used by me anyway.
BTW, my wincmd.ini location is %USERPROFILE%. You can read the location of the ini file from the registry.
I switched to Linux, bye and thanks for all the fish!
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

My plan is that FULL version of this script include following:

1. Submenus
2. Removed non file system enteries and blank submenus after that
3. Original TC fav menu if called "inside" Total Commander
4. Special menu items, ACTIVE & TARGET wich will grab active panels
5. Configurable hot key and wincmd.ini.
6. If called on desktop, open TC with that folder.


I hope this will not contain some hard to handle surprises. ITs cool up to now.

If you have any other ideas, or comments it's best to put them now while things are still in design.


PS: WHy do you complain about hot key ? It was just something that I find suitable in my developing. I posted the code so everybody can change by his desire.
Habemus majkam!
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

WHy do you complain about hot key ?
Complain? No, that is no complaint. We just made some comments, to make you happy and encourage you to continue with the script ;-)
I switched to Linux, bye and thanks for all the fish!
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

You can read the location of the ini file from the registry.
I use portable TC, so no installation. Does TC populate registry on run ?
Habemus majkam!
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

Does TC populate registry on run ?
No.
I switched to Linux, bye and thanks for all the fish!
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

ver 0.2.1

Post by *majkinetor ! »

[deleted]
Last edited by majkinetor ! on 2006-06-05, 09:29 UTC, edited 2 times in total.
Habemus majkam!
User avatar
ts4242
Power Member
Power Member
Posts: 2081
Joined: 2004-02-02, 20:08 UTC
Contact:

Post by *ts4242 »

Thanks for this script, version 2 works great but there are some bugs
Menu tray, icon, %SystemRoot%\System32\shell32.dll, 44
this line make the script unusable under Win Me anyone doesn't use XP must correct the path.

if script called from outside TC, it supposed to activate TC and type the command in the current dirctory, but here it type the command in the command line and run Explorer

the script doesn't work while calling on TC, I press Ctrl+W but nither the script run nor TC hot list appear!
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

Did you set the :

cm_DirectoryHotlist & cm_editpath

before you started the script ?
Setup
Edit path to ini and executable and set cm_DirectoryHotlist & cm_editpath to hotkeys you use.
Currently it contains MY shortcuts which are CUSTOM so it will not work for you.
Go to wincmd.ini [Shortcuts] section to add those shortcuts if you don't have them.

but here it type the command in the command line and run Explorer
which means that cm_editpath is not set correctly. Script will change the current TC panel by going to "panel title" (a.k.a "Current Directory") and to do this it has to be aware of the shortcut. I am using this approach because command line can't handle plugins. You can't switch to Uninstaller with "cd \\\Uninstaller" although that command can be seen when you enter configuration dialog. Explorer will be run in that case, since hot key is not assigned so it is ignored, and keys are send directly to TC instead to the pannel so they will appear on the Tc's command line which will start Explorer to handle the path.

cm_editpath is essential for script to work correctly otside of TC
cm_DirectoryHotlist is set for the script to work inside TC
Habemus majkam!
User avatar
ts4242
Power Member
Power Member
Posts: 2081
Joined: 2004-02-02, 20:08 UTC
Contact:

Post by *ts4242 »

Oh! sorry that i didn't read setup carefuly :oops:
it now works fine :D
majkinetor ! wrote: Currently it contains MY shortcuts which are CUSTOM so it will not work for you.
maybe you have to make 2 versions one for your own use and the other for public use contain default shortcuts Ctrl+D :D

new bug:
if there is a menu has some submenu it takes the name of the last submenu.
here a sample to work with

Code: Select all

[DirMenu]
menu1=-Menu 1
menu2=-Submenu 1
menu3=Directory Item 9
menu4=Directory Item 10
menu5=Directory Item 11
menu6=--
menu7=-Submenu 2
menu8=Directory Item 24
menu9=Directory Item 25
menu10=Directory Item 26
menu11=--
menu12=--
menu13=-Menu 2
menu14=-Submenu 3
menu15=Directory Item 14
menu16=Directory Item 15
menu17=Directory Item 16
menu18=--
menu19=--
menu20=-Menu 3
menu21=-Submenu 4
menu22=Directory Item 19
menu23=Directory Item 20
menu24=Directory Item 21
menu25=--
menu26=--
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

don't worry about the setup. It will not exist in the final release. Everything will be setup automaticaly and if some things requare usre intervention there will be prompts etc...

thx for the note about the bug ... I will check it out

[EDIT]
bug confirmed - I will correct it soon. You can still use items in those submenus since only the names are not shown correctly


Corrected, copy above script again
Habemus majkam!
TealC
Junior Member
Junior Member
Posts: 96
Joined: 2005-08-10, 11:34 UTC

Post by *TealC »

this is a very useful piece of software. but i don't know what i am doing wrong, because the script always calls TC, even if i am in a dialog window....
User avatar
majkinetor !
Power Member
Power Member
Posts: 1580
Joined: 2006-01-18, 07:56 UTC
Contact:

Post by *majkinetor ! »

Dialogs are recognised by keywords in the title.

Please try:
Start->Run->Browse (it should work)

Other dialogs can have different titles regarding the fact that they are acctually standard Open/Save dialogs. I wil ltry to recognise those dialogs by some other critieria or at least add some shortcut that will enable all dialogs no matter their title (so you don't have to edit the script's dialogs variable all the time)

If it doesn't work, please download the latest version of AutoHotKey and try again.


What is your system ?


If nothing works, please do the following:

Insert this line after line 113:
MsgBox %active_title%


after that MenuHandler should look like this:

Code: Select all

;----------- 

MenuHandler: 

 j := A_ThisMenuItemPos 
 if (A_ThisMenu = "sub1") 
   j -= 0  ;substruct custom items here (for future) 
 StringReplace i, A_ThisMenu, sub, 
 keys := % command%i%_%j% 

 ; cd \\\plugin  - call total commander unconditionaly 
 ; cd path  - send keys if dialog else call TC 
 StringMid keys, keys, 4 
 StringGetPos tmp, keys, \\\ 
 if (tmp != -1) 
   openTC(keys) 
 else { 
  WinGetActiveTitle active_title 
  MsgBox %active_title%
  if active_title contains %dialogs% 
  { 
   SendInput %keys%{ENTER} 
   return 
  } 
  openTC(keys) 
 } 
  
return 
;-------------------------------------------------------------------------- 
Then tell me what do you get on screen after you call inside non-working dialog.


thx
Habemus majkam!
Post Reply