Listary support broken?

Things you’d like to miss in the future...
Borut
Posts: 1412
Joined: 19 Oct 2010 19:29

Listary support broken?

Post by Borut »

I am using Listary for a long time now in a simple way, just to position the open/save file dialogues in some applications.

Since recently (not sure which exact version) the support for Listary seems broken (at least under Win XP at my place). I tried with the latest Listary version - the same thing.

MS file explorer has no problems.

Am I the only one?
Win 10 Pro 64bit

highend
Posts: 13274
Joined: 06 Feb 2011 00:33

Re: Listary support broken?

Post by highend »

Which command in XY do you use to trigger such a misplaced dialog?
One of my scripts helped you out? Please donate via Paypal

Borut
Posts: 1412
Joined: 19 Oct 2010 19:29

Re: Listary support broken?

Post by Borut »

I do nothing in XY. When a file open/save dialog of a third application opens, I switch to XY (where previously I positioned to a wished location) and then switch back to the file open/save dialog. That should suffice and did suffice before, however currently the dialog apparently does not get the location from XY, I would say.
Win 10 Pro 64bit

highend
Posts: 13274
Joined: 06 Feb 2011 00:33

Re: Listary support broken?

Post by highend »

Now I'm even more confused... Let's say you use MS Word to open a file. The file dialog opens. Now you switch to XY and then back to the file dialog of MS Word? What should have happened now, the file dialog window should have changed it's position (and size?) to the window position / size of the running instance of XYplorer?
One of my scripts helped you out? Please donate via Paypal

admin
Site Admin
Posts: 60357
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Listary support broken?

Post by admin »

XYplorer does not support Listary, but Listary supports XYplorer. If that's broken you have to talk to them. :)

That said: If Listary supports only major official releases then this might be causing it:
viewtopic.php?f=5&t=15588

The new 16.90 behavior was changed again in v16.90.0001. So after releasing 17.00 Listary should work again if it goes back to pre-16.90 behavior.

Borut
Posts: 1412
Joined: 19 Oct 2010 19:29

Re: Listary support broken?

Post by Borut »

Many thanks for clarification! Any estimation about 17.0 - after summer or so? (I have now to decide if I want to go to the fridge, or wait.)
Win 10 Pro 64bit

admin
Site Admin
Posts: 60357
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Listary support broken?

Post by admin »

Within a few days. :)

Borut
Posts: 1412
Joined: 19 Oct 2010 19:29

Re: Listary support broken?

Post by Borut »

As far as I see, the problem exists only when the Live Filter Box is visible (which can be tested in two ways: a) if one copies the location into Live Filter Box, Listary will get it from there and pass it over to File Dialog of a third application; b) if one closes Live Filter Box, then Listary's Quick Switch works with XYplorer as expected).

I have now reported this here:

http://discussion.listary.com/t/xyplore ... tch/2641/5

What about the Channing's idea of a "hidden address bar" which could then be used by Listary to get the current location?
Win 10 Pro 64bit

admin
Site Admin
Posts: 60357
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Listary support broken?

Post by admin »

Looks like Listary uses the TAB key to get the focus from List to Address Bar? This method will not work when LFB is visible.

I already added a future-safe way to handle this 3 years ago (use <curpath> to obtain the current path):

Code: Select all

v12.30.0104 - 2013-04-15 10:24
    + SC CopyData enhanced: Added a mode (previously "flags") to 
      immediately return the text, with variables resolved, to the sender.
      Syntax: copydata hwnd, data, mode
        mode:
            2: Resolve variables in data and return to sender immediately.
               Variables are XYplorer native and environment variables.
      Example:
        - Determine <curitem> in another XYplorer instance (hWnd 197078):
          copydata 197078, '<curitem>', 2; echo <get copieddata 3>;
        Note that the single quotes in the example are essential else 
        <curitem> would be resolved in *this* instance of XYplorer 
        before being sent to the other instance.
    > Note for DEVELOPERS:
      The mode parameter in SC CopyData simply selects different dwData:
      - If called with mode 0 then
          cds.dwData == 4194304 (0x00400000)
          = Do nothing special.
      - If called with mode 1 then
          cds.dwData == 4194305 (0x00400001)
          = Data is XYplorer script; execute this script immediately.
      - If called with mode 2 then
          cds.dwData == 4194306 (0x00400002)
          = Resolve variables in data and return to sender immediately.
      So any application can use these dwData values to trigger a 
      specific reaction in XYplorer when it receives data via 
      WM_COPYDATA.

v12.30.0103 - 2013-04-14 18:39
    + DEVELOPERS: New variable <get copieddata [token]> returns the last 
      data copied to this window via WM_COPYDATA. The returned data 
      depends on the value of the "token" argument:
        0: hWndSender|dwData|Data
        1: hWndSender
        2: dwData
        3: Data
      For example, this 2-line script will retrieve the value of 
      <curitem> in another instance of XYplorer (721424), and then 
      display it in a message box in this XYplorer (<hwnd>):
        copydata 721424, "::copydata <hwnd>, " . '<curitem>' . ";", 1;
          echo <get copieddata 3>;
      This cool addition completes the recent advances in inter-process 
      communication.


Channing
Posts: 12
Joined: 25 Oct 2012 14:13

Re: Listary support broken?

Post by Channing »

Thank you for the information.

Listary gets the Address Bar handle by searching for edit boxes so it doesn't work as expected when LFB is visible.

Unfortunately I can't use WM_COPYDATA because using the Addressing Bar seems to be the only way to open a folder in an existing XYplorer Free window. I can apply some hacks (like comparing the positions of the edit boxes and choosing the upper one) to make it work again.

Please let me know if there are better solutions, thank you!

admin
Site Admin
Posts: 60357
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Listary support broken?

Post by admin »

I just added a way to handle this completely with WM_COPYDATA: get the current location and set a new location, in both XYplorer Pro and XYplorer Free.

1) Get the current location already works via WM_COPYDATA in both XYplorer Pro and XYplorer Free in the current versions.

2) To set a new location you can do this in the next version:

Code: Select all

    + SC CopyData enhanced: Added a mode to pass a location to another XYplorer 
      instance.
      Syntax: copydata hwnd, data, mode
        mode:
            3: Pass the value of the data argument as location to another 
               XYplorer instance. Whatever XYplorer accepts in the Address Bar 
               is acceptable here.
      Examples:
        - Go to "C:\" in the XYplorer instance with hWnd 525048:
            copydata 525048, "C:\", 3;
        - Go to the current path of this instance:
            copydata 525048, <curpath>, 3;
        - Run a script (note that the command only returns when the script is 
          completed in the other instance!):
            copydata 525048, 'echo "hi!";', 3;
    > Note for DEVELOPERS:
      The mode parameter in SC CopyData simply selects different dwData:
      - If called with mode 3 then
          cds.dwData == 4194307 (0x00400003)
          = Go to the location passed in cds.lpData.
      So any application can use these dwData values to trigger a
      specific reaction in XYplorer when it receives data via
      WM_COPYDATA.
Note, however, that I have no date yet for the next publication of XYplorer Free. I hope it's soon. :ninja:

admin
Site Admin
Posts: 60357
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Listary support broken?

Post by admin »

Okay, all updated and published (v17.00.0100). :tup:

You now can inject a path into XYplorer Pro and XYplorer Free via WM_COPYDATA using cds.dwData == 4194307 (0x00400003).

Channing
Posts: 12
Joined: 25 Oct 2012 14:13

Re: Listary support broken?

Post by Channing »

Thank you very much for adding the interface and releasing the new version so soon! :appl:

autocart
Posts: 1246
Joined: 26 Sep 2013 15:22

Re: Listary support broken?

Post by autocart »

To all Listary and XY users:
http://discussion.listary.com/t/xyplore ... ch/2641/18
Finally(!) Channing published a version that now seems to support XY better, even though it still is Beta, but at least Listary's Quick Switch seems to be usable (I only did a quick test).

kunkel321
Posts: 645
Joined: 10 Jun 2012 03:45
Location: Near Seattle

Re: Listary support broken?

Post by kunkel321 »

Found this thread with a forum search. I recently updated xy after about 3 months using the old version. Now Listary seems totally incompatible. There was already a long-standing problem of having to run xy before running Listary, otherwise the Listary popup would not work in xy.

The new problem is that, if I click a favorite in the Listary popup, it gets typed into the Live Filter search box. This forum thread seems to cover the same issue, though I don't see a solution.

Are other people seeing this? is there a work around? The parameter that I'm using in Listary is %1. Not sure if that's relevant.

EDIT THE EDIT. Removed part about LFS box being irretrievable. I had (apparently) inadvertently disabled the Alt+F3 that is needed to show/hide it.

So the "work around" is to keep the Alt+F3 Live Filter Search tool hidden if you want to navigate folders via Listary popup. Very annoying. hopefully Don (or Listary's Channing) will find a solution for this. Also the above-mentioned issue of the popup not popping unless xy is launched before Listary. Most annoying.
ste(phen|ve) kunkel

Post Reply