octalmage / mDesktop

mDesktop is a lightweight application that allows the user to utilize multiple virtual desktops.
Other
242 stars 46 forks source link

Add some instructions for the API #8

Closed latin-programmer closed 10 years ago

latin-programmer commented 10 years ago

Hi,

I just came across this repo and I think it is great that we'll now be able to contribute to this project.

I purchased mDesktop a while ago and I derive a lot of value from it. The one issue that keeps popping up for me now and then is the issue of lost windows that cannot be recovered. I would like to debug through it or at least find a way to do an API call to bring the window back manually.

I would like to work on an C# API call that will bring the windows back whenever that happens. Perhaps I can make it into a console or windows app that I can make available here.

I get stuck trying to get the IPC_Test project to work though. I was able to build it using Visual Studio 2012 after it migrated the project but I get a message that says "Csharp.ahk doesn't exist" when trying to run it. I also get errors when running the apiTest.exe file (just says Sending failed).

I'm thinking that there might be something I am missing for the setup so a short doc on how to get the solution running would be useful so that we can setup the APIs and start interacting with the code.

Thanks for your work on this app. It has been a favorite for me for years now and I recommend it to whoever asks about it.

-LP

octalmage commented 10 years ago

Hi LP,

I'm glad you enjoy mDesktop!

Currently the API is off in the compiled version, but if you download the source you can turn the API on by setting API to 1 here:

https://github.com/octalmage/mDesktop/blob/master/mDesktop.ahk#L35

Currently the API only support switching desktops, but you can manually recover windows using Process Hacker.

http://processhacker.sourceforge.net

Use View/Windows, sort, right click the lost window and select Visible.

mDesktop works by hiding the windows using WinHide, so using WinShow will bring the window back.

I store a list of window IDs in crash.dat when mDesktop is opened. Maybe we could run this periodically to keep the list of windows up to date so they can be restored until I can figure out why windows are going missing.

Could you open a new issue about the missing windows issue? If we could find reliable replication steps we should be able to figure out why it happens.

latin-programmer commented 10 years ago

Thanks for the response,

I downloaded process hacker to see if that helps. I also will open a new issue for the missing windows. The information you provided should be enough to debug the missing windows in my machine if it does happen.

-LP