| [ews.eclipse.technology.desk] Re: Some ideas... |
+1
jkca
Hi Robert,
I'm curious: when you delete a file in your file manager does it go to the Windows Recycle Bin? The behaviour for Java is just to delete the file. Recycle Bin support is a feature I've requested from this project, and would probably be useful for your file manager.
Ryan Lowe
Robert Enyedi wrote:
Hi,
Just like the founders of this project, I know that Java is lacking a lot of desktop integration features. For a while I've been developing an open-source file manager in Java and these are the main areas where I have to use native bindings:
- partition information - there's no way of obtaining basic partition information in Java: type, size, free space. The Eclipse Update Manager codebase contains such code (http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.update.core.win32/src/) and I use something similar to it. It's not that hard, but it's still native code and should be available as an API. For example, any container/application server needs such an API for doing a safe deploy.
- file permissions/attributes - all you can do in Java is set a file's read-only attribute. There's no way of resetting it. And you can check if it's hidden, but no API for changes is provided. There should be a specialized API for dealing with a unified file permission model that covers mainly the permission models of win32 and Unix.
- shell context menu - while the first two areas are of general interest, the handling of the system shell's context menu is somewhat of limited use. I need it in my file manager (http://sourceforge.net/project/screenshots.php?group_id=35271&ssid=8601) and I also have some code already implemented (only for win32 and it works just partially): http://cvs.sourceforge.net/viewcvs.py/jcommander/plugins/org.jcommander.systemshell.win32/src/. However, an API for the system shell and the contextual menu in particular might be useful also for other kind of applications that require tight desktop integration.
While trying to address these needs for my application, I directly experienced the two obvious difficulties in developing native bindings:
- design of a unified and platform independent API - requires knowledge of all the major platforms
- implementation of the APIs for each target platform - thorough knowledge of the specific APIs is needed and this is the hardest part
What I've found out as missing in Java for desktop integration is just a small part of what other requirements might be.
Do you have a plan about the areas of desktop integration that the Eclipse Desktop project intends to address?
Regards, Robert