diff --git a/Hop.icns b/Hop.icns new file mode 100644 index 0000000..4d50fa4 Binary files /dev/null and b/Hop.icns differ diff --git a/gui-ocamlmsg.xcodeproj/project.pbxproj b/gui-ocamlmsg.xcodeproj/project.pbxproj index 6b45bc2..4c9257d 100644 --- a/gui-ocamlmsg.xcodeproj/project.pbxproj +++ b/gui-ocamlmsg.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; 256AC3DA0F4B6AC300CF3369 /* gui_ocamlmsgAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* gui_ocamlmsgAppDelegate.m */; }; + 8A3AD61B1550596B0083025A /* Hop.icns in Resources */ = {isa = PBXBuildFile; fileRef = 8A3AD61A1550596B0083025A /* Hop.icns */; }; 8AC89E371550397E00BACB4E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AC89E361550397E00BACB4E /* WebKit.framework */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; @@ -26,6 +27,7 @@ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 8A3AD61A1550596B0083025A /* Hop.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Hop.icns; sourceTree = ""; }; 8AC89E361550397E00BACB4E /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 8D1107310486CEB800E47090 /* gui_ocamlmsg-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "gui_ocamlmsg-Info.plist"; sourceTree = ""; }; 8D1107320486CEB800E47090 /* Ocamlmsg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ocamlmsg.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -97,6 +99,7 @@ children = ( 256AC3F00F4B6AF500CF3369 /* gui_ocamlmsg_Prefix.pch */, 29B97316FDCFA39411CA2CEA /* main.m */, + 8A3AD61A1550596B0083025A /* Hop.icns */, ); name = "Other Sources"; sourceTree = ""; @@ -175,6 +178,7 @@ files = ( 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, + 8A3AD61B1550596B0083025A /* Hop.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/gui_ocamlmsg-Info.plist b/gui_ocamlmsg-Info.plist index b9c2b3e..45861c6 100644 --- a/gui_ocamlmsg-Info.plist +++ b/gui_ocamlmsg-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile - Ocamlmsg2.icns + Hop.icns CFBundleIdentifier org.eighty-twenty.${PRODUCT_NAME:rfc1034identifier} CFBundleInfoDictionaryVersion diff --git a/icon/Makefile b/icon/Makefile new file mode 100644 index 0000000..7e7caa6 --- /dev/null +++ b/icon/Makefile @@ -0,0 +1,4 @@ +all: icon.css + +%.css: %.less + recess --compile $< > $@ diff --git a/icon/icon.css b/icon/icon.css new file mode 100644 index 0000000..8549969 --- /dev/null +++ b/icon/icon.css @@ -0,0 +1,29 @@ +body { + background: #004400; +} + +.icon { + width: 492px; + height: 492px; + padding: 0; + margin: 0; + font-family: "Helvetica Neue"; + font-size: 240px; + line-height: 446px; + color: #ffffff; + text-align: center; + text-shadow: 0 5px 10px black; + background-color: #58a258; + background-image: linear-gradient(top, #74c474, #2f6f2f); + background-image: -ms-linear-gradient(top, #74c474, #2f6f2f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#74c474), to(#2f6f2f)); + background-image: -webkit-linear-gradient(top, #74c474, #2f6f2f); + background-image: -o-linear-gradient(top, #74c474, #2f6f2f); + background-image: -moz-linear-gradient(top, #74c474, #2f6f2f); + background-repeat: repeat-x; + border: solid #285d28 10px; + -webkit-border-radius: 80px; + -moz-border-radius: 80px; + border-radius: 80px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#74c474', endColorstr='#2f6f2f', GradientType=0); +} diff --git a/icon/icon.html b/icon/icon.html new file mode 100644 index 0000000..464d8ea --- /dev/null +++ b/icon/icon.html @@ -0,0 +1,10 @@ + + + + + +
+ hop +
+ + diff --git a/icon/icon.less b/icon/icon.less new file mode 100644 index 0000000..f9f8f8a --- /dev/null +++ b/icon/icon.less @@ -0,0 +1,49 @@ +// -*- css -*- + +@textColor: #fff; + +@baseColor: #46a546; + +@startColor: lighten(@baseColor, 15%); +@endColor: darken(@baseColor, 15%); + +@borderWidth: 10px; +@borderColor: darken(@baseColor, 20%); + +@transparencyColor: #040; + +body { + background: @transparencyColor; +} + +.icon { + width: 512px - @borderWidth * 2; + height: 512px - @borderWidth * 2; + padding: 0; + margin: 0; + + border: solid @borderColor @borderWidth; + + font-family: "Helvetica Neue"; + font-size: 240px; + line-height: 466px - @borderWidth * 2; + + color: @textColor; + text-shadow: 0px 5px 10px black; + text-align: center; + + background-color: mix(@startColor, @endColor, 60%); + background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ + background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ + background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ + background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 + background-image: linear-gradient(top, @startColor, @endColor); // The standard + background-repeat: repeat-x; + + -webkit-border-radius: 80px; + -moz-border-radius: 80px; + border-radius: 80px; + + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down +}