[kepler-dev] Kepler/Ptolemy on the Mac
Christopher Hylands Brooks
cxh at eecs.berkeley.edu
Tue May 18 18:03:51 PDT 2004
I spent some time over the weekend getting a Mac to work with Eclipse
and CVS. It turns out that one problem was that we had directories
like sdf/demo/foo that I had previously renamed to sdf/demo/Foo and
something got confused, saying that sdf/demo/foo was already present,
even though really, it was in the CVS repository Attic.
I'm not sure if this is a Mac filesystem problem, a CVS problem or
and Eclipse problem.
Lesson learned: get the case right in directory names when checking in
files.
In anycase, over the space of Saturday afternoon, I checked out the
CVS tree several times and finally got it all to work.
Another issue is that we need to include a default .classpath file
that has most of the optional packages excluded. I'll see about
this.
Steve and I just spent two hours together hacking on the laptop, and
he was able to get the Control-Click to bring up the context menu.
The bad news is that we are not able to connect actors right now. The
laptop was not on the campus network, so we were using a thumbdrive to
transfer files, so things might be working correctly on the CVS tree,
but not on the hacked up version on the laptop. I'll try doing a
clean cvs checkout and rebuild at somepoint over the next few days.
The problem we are facing is that the Mac actually belongs to my wife,
Tansy, and she uses it much of the time. So, getting time on it, or
taking it to work is a little bit awkward. Tansy might have an older
clunky laptop that can be made to work, but it might also be worth
getting an Apple for this use. The cheapest iBook is $900 edu.
pricing. I'm not sure I want to get a cheap iBook, but it might
be worth it if we are serious about supporting the Mac.
Anyway, we made progress today, and hopefully we can hack on this
further sometime soon.
BTW - I'm not sure if I mentioned that I added
ptolemy/vergil/kernel/VergilUtilties.java that has a method
that checks for the mac:
/** Return true if we are running under MacOS look and feel or
* if the ptolemy.ptII.MacOS property is defined.
* To define ptolemy.ptII.MacOS, invoke Vergil with
* java -Dptolemy.ptII.MacOS=true -classpath $PTII ptolemy.vergil.VergilApplication
* Or, under Cygwin:
* <pre>
* export JAVAFLAGS=-Dptolemy.ptII.MacOS=true
* $PTII/bin/vergil
* </pre>
* If the ptolemy.ptII.MacOS property is set to true, this method
* prints the message "ptolemy.ptII.MacOS = true property detected".
*
* @return True if the look and feel starts with "Mac OS" or the
* ptolemy.ptII.MacOS property is set to true.
*/
public static boolean macOSLookAndFeel() {
// Dan Higgins writes:
// "Apple suggests in their tech note 2042 (
// http://developer.apple.com/documentation/Java/Conceptual/Java131Development/x_platform/
// chapter_5_section_5.html) that the statement
//
// System.getProperty("mrj.version")
//
// should be used to detect a mac, with any non-null result
// indicating that the machine is a mac. This approach is
// independent of the string value which may change."
// However, calling getProperty will likely fail in applets
// or within the sandbox, so we use this method instead.
if (StringUtilities.getProperty("ptolemy.ptII.MacOS").equals("true")) {
System.out.println("ptolemy.ptII.MacOS = true property detected");
return true;
}
return UIManager.getLookAndFeel().getName().startsWith("Mac OS");
}
}
-Christopher
--------
Dan,
What became of your inquiry into using the apple command key instead of
the control key on the mac for all modifier operations? As Mac
generally uses this command modifier, it seems like the right think to
do, which would then free up the control key modifier to act in the
Mac-standard way to get the context menu. There must be a way to
automattically map all cntrl funcitons in ptolemy to command functions
when on the mac.
Matt
higgins at nceas.ucsb.edu wrote:
> Hi All,
>
> I have been investigating the use of Kepler/Ptolemy on the Mac. I did fin
d
> some threads on Mac use (especial concerning the single button mouse), bu
t I
> was still having some problems. In particular, one can find in the
> 'ActorEditorGraphController' class the code fragment
>
> if (UIManager.getLookAndFeel().getName().startsWith("MacOS")) {
> // On the Mac, do not override Control-Click, which is
> // used to bring up the context menu
> _linkCreator.setMouseFilter(_metaFilter);
> } else {
> _linkCreator.setMouseFilter(_controlFilter);
> }
>
> Note the 'getName()' call and the string comparison to "MacOS". Unfortuna
tely,
> a test on my Mac (OS version 10.3.3) shows that the getName method return
s
> "Mac OS X Aqua" (note the spaces!). Due to the spaces, the names do not m
atch
> and the Mac is NEVER detected!
>
> Apple suggests in their tech note 2042 (http://developer.apple.com/
> documentation/Java/Conceptual/Java131Development/x_platform/
> chapter_5_section_5.html) that the statement
>
> System.getProperty("mrj.version")
>
> should be used to detect a mac, with any non-null result indicating that
the
> machine is a mac. This approach is independent of the string value which
may
> change.
>
> I did try changing the Kepler code to correct this detection problem. I w
as
> able to get it to properly detect my Mac, but it still does not popup the
> context menu using the control key + click. Anyone have any ideas?
>
> Incidently, a 2 button mouse plugged into the Mac USB port does work OK w
ith
> current code.
>
> Dan Higgins
> NCEAS
>
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
> _______________________________________________
> kepler-dev mailing list
> kepler-dev at ecoinformatics.org
> http://www.ecoinformatics.org/mailman/listinfo/kepler-dev
_______________________________________________
kepler-dev mailing list
kepler-dev at ecoinformatics.org
http://www.ecoinformatics.org/mailman/listinfo/kepler-dev
--------
More information about the Kepler-dev
mailing list