|
From: John S. <leg...@gm...> - 2011-03-30 16:39:13
|
An update on my progress. I started by trying to set the AppID of jEdit, and finally got it to set without freezing during startup :) Unfortunately, this wasn't enough, as it appears I also need Launch4j to set the resulting executable's AppID to be the same thing. At this point I discovered a different program called WinRun4J (Vampire - you commented on that issue in Launch4J) which does work!! There isn't a nice config GUI for it like Launch4J, but the resulting executable it creates can be properly pinned. I think the difference is that WinRun4J doesn't launch javaw.exe in a separate process - perhaps it runs javaw.exe inside the same process? One final snag is that I can't seem to properly set the icon - I can only change the icon which appears in the taskbar, but the icon of the executable in Windows Explorer remains unchanged, as well as the icon in the context-menu when you right-click on the taskbar. I'm looking into the code, and trying to contact the author. On 25 March 2011 04:39, David Aldrich <Dav...@eu...> wrote: > Hi John > > > > Just wanted to say that I have noticed the same issue on Windows 7. I will > be grateful if you find a fix and can submit it to the community. > > > > Best regards > > > > David > > > > * * > > *From:* John Smith [mailto:leg...@gm...] > *Sent:* 24 March 2011 20:17 > *To:* Vampire > *Cc:* jed...@li... > *Subject:* Re: [ jEdit-users ] Pinning jEdit Properly to Windows 7 taskbar > > > > Thanks. After looking at Launch4j, I don't think the fix is there. > Reading around, it seems like jEdit might not be setting its Application > User Model ID (AppUserModelID). So what is happening is that I have > jedit.exe pinned to the taskbar, but when I launch it Windows 7 thinks the > actual program is javaw.exe. > > I referred to the following links for my information: > > http://msdn.microsoft.com/en-us/library/dd378459%28VS.85%29.aspx > > http://stackoverflow.com/questions/1907735/using-jna-to-get-set-application-identifier > > Is it acceptable for me to modify jEdit to explicitly sets it's Model ID on > windows 7? This would of course be OS-specific. > > On 23 March 2011 21:39, Vampire <Va...@je...> wrote: > > Hi John, > > other Java apps also do similar things to prevent multiple startups of the > app. > As I said, the jedit.exe is Launch4J generated. You find the sourcecode in > the Launch4J project at http://launch4j.sourceforge.net/. > In the jEdit source you can find the corresponding configuration file at > http://jedit.svn.sourceforge.net/viewvc/jedit/jEdit/trunk/package-files/windows/jedit.launch4j.xml?view=markup > > > > Regards > Vampire > > John Smith schrieb: > > Thanks. However, I don't think it's a jEdit server issue (I'm pretty > confident I disabled the server from automatically starting), as it's a Java > issue. I see the same behaviour for other Java apps. > > Where/how can I grab the source code for jedit.exe? I would like to play > around with it to see if I can eliminate this issue. > > On 23 March 2011 17:50, Vampire <Va...@je...> wrote: > > Hi John, > > jedit.exe is a Launch4J generated executable that forks a new process in > which it starts javaw.exe. > The C code looks more or less like: > > CreateProcess(NULL, cmdline, NULL, NULL, TRUE, priority, NULL, NULL, &si, > &pi)) > WaitForSingleObject(pi.hProcess, INFINITE); > GetExitCodeProcess(pi.hProcess, &dwExitCode); > CloseHandle(pi.hThread); > CloseHandle(pi.hProcess); > return dwExitCode; > > Better would be a call via JNI for which also a patch for Launch4J exists > but it is not accepted and rather outdated now. > > But I don't think this has any relevance to your "problem". > > If you have chosen "Start jEdit Server automatically on system startup" on > installation time, then if you startup Windows, jEdit is also started but > without GUI and is running in the background, ready to quickly show the GUI > if you need it to. I guess you have chosen this and you can verify this by > looking in the last line of the About... dialog where it then says > "background mode". If this is the case as I suppose, then running jEdit > again will actually connect to the running jEdit instance and tell it what > you want to do instead of starting jEdit again. Because of this I guess you > have the described behaviour. You could disable the automatic startup of the > jEdit server on system startup to change this behaviour, but then you have > to wait longer for jEdit to start up as it has to start completely and not > show only the GUI. For temporary tryout of the different behaviour you can > also quit jEdit completely. If you use the upper right X to close the jEdit > windows, you only close the GUI if jEdit is running in background mode and > the jEdit server stays running. If you choose Quit from the File menu, then > jEdit is completely quit and I guess the behaviour of your pinned item > changes. > > Regards > Vampire > > > John Smith schrieb: > > Hi: > > I am using Windows 7 64-bit, and I've pinned jedit to the taskbar. > However, when I launch it, a second icon appears, and the original one I > pinned is in "running" mode. I've noticed this for many other java apps, > such as Eclipse or Netbeans. Does anyone know how I might fix this? If > this requires programmatic changes, could someone tell me how jedit.exe > works (i.e., how does it launch the java program), so I might fix it? > > Cheers, > user > > ------------------------------ > > > > ------------------------------------------------------------------------------ > > Enable your software for Intel(R) Active Management Technology to meet the > > growing manageability and security demands of your customers. Businesses > > are taking advantage of Intel(R) vPro (TM) technology - will your software > > be a part of the solution? Download the Intel(R) Manageability Checker > > today! http://p.sf.net/sfu/intel-dev2devmar > > > > ------------------------------ > > > > ------------------------------------------------------------------------------ > > Enable your software for Intel(R) Active Management Technology to meet the > > growing manageability and security demands of your customers. Businesses > > are taking advantage of Intel(R) vPro (TM) technology - will your software > > be a part of the solution? Download the Intel(R) Manageability Checker > > today! http://p.sf.net/sfu/intel-dev2devmar > > > > Click here<https://www.mailcontrol.com/sr/MXBw34iZT0jTndxI%21oX7UlK7uOqmL%21e8HBaV+grS8Ao2W%2163kphRsGhAxR1rAUSRcG6kDahySulhjvXYAQ53ow==>to report this email as spam. > |