From 84447cd0eae7259f6d01a328732a15cf628dd347 Mon Sep 17 00:00:00 2001 From: Gaurav Chandrashekar Date: Thu, 9 Jan 2014 12:55:29 +0100 Subject: [PATCH 1/3] Enabling webGL, thanks to possan --- WebSaver.xcodeproj/project.pbxproj | 2 ++ WebSaverView.m | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/WebSaver.xcodeproj/project.pbxproj b/WebSaver.xcodeproj/project.pbxproj index 4ffa524..2c7ccd1 100644 --- a/WebSaver.xcodeproj/project.pbxproj +++ b/WebSaver.xcodeproj/project.pbxproj @@ -237,6 +237,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Screen Savers"; PRODUCT_NAME = WebSaver; + SDKROOT = macosx; WRAPPER_EXTENSION = saver; ZERO_LINK = YES; }; @@ -253,6 +254,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Screen Savers"; PRODUCT_NAME = WebSaver; + SDKROOT = macosx; WRAPPER_EXTENSION = saver; }; name = Release; diff --git a/WebSaverView.m b/WebSaverView.m index 9cd6206..18d8fbf 100644 --- a/WebSaverView.m +++ b/WebSaverView.m @@ -26,8 +26,8 @@ @implementation WebSaverView static NSString * const REFRESH_INTERVAL_KEY = @"RefreshInterval"; static NSString * const REFRESH_UNITS_KEY = @"RefreshUnits"; -static NSString * const DEFAULT_URL = @"https://github.com/tlrobinson/WebSaver"; -static NSString * const DEFAULT_USERSCRIPT = @"document.body.style.backgroundColor = 'green';"; +static NSString * const DEFAULT_URL = @"http://webglsamples.googlecode.com/hg/aquarium/aquarium.html"; +static NSString * const DEFAULT_USERSCRIPT = @"/*document.body.style.backgroundColor = 'green';*/"; static double const DEFAULT_REFRESH_INTERVAL = 1.0; static long const DEFAULT_REFRESH_UNITS = REFRESH_MINUTES; @@ -47,6 +47,10 @@ - (id)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview nil]]; webView = [[WebView alloc] initWithFrame:[self bounds] frameName:nil groupName:nil]; + WebPreferences *p = [webView preferences]; + if ([p respondsToSelector:@selector(setWebGLEnabled:)]) { + [p setWebGLEnabled:YES]; + } [webView setFrameLoadDelegate:self]; [self addSubview:webView]; From 7cb7dca43fdcfee4b9a69482df21194a80b4ae01 Mon Sep 17 00:00:00 2001 From: Gaurav Chandrashekar Date: Thu, 9 Jan 2014 13:03:23 +0100 Subject: [PATCH 2/3] Thumbnail --- .DS_Store | Bin 0 -> 6148 bytes README.md | 1 + WebSaver.xcodeproj/project.pbxproj | 8 ++++++++ thumbnail.png | Bin 0 -> 852 bytes thumbnail@2x.png | Bin 0 -> 4164 bytes 5 files changed, 9 insertions(+) create mode 100644 .DS_Store create mode 100644 thumbnail.png create mode 100644 thumbnail@2x.png diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..343ad499e83a0bc0da6d16d3bb0b0a8c7abd368e GIT binary patch literal 6148 zcmeHKOHKko5Pgj-Fm4DdmvaIW7VeCh;CKQSZWRUrBMuTUF6S67JcK9l2HwGi2k=!_ z1(~49=)xFNl~lj}y=m(8WQqb1daJw(v;nl}f{k4^pO~zRZ&|};WHH2NOfkj^3yjd; z+U*m6Q31KT4o*+`DdJw>87u7E4x3Vc%m=4`Rno}#y|fGgk%tQC;&LqZo!4NJxN>0lE}0AiEV z(b$(-LO6+GYFH|Ag%*@bRBEsiBPgBoiS0`bOGTw4Sn(0;d$Q5t}{*?lunf0?CL$chu6`bVSgnmvJlYOP)n!-*@#oQ~Y cc%L4P^NDnbsbQ(e8JhnQh%$KN3jC@9@4C5cg#Z8m literal 0 HcmV?d00001 diff --git a/README.md b/README.md index e2750fa..150eccb 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ Notes ----- * Change the "Product Name" in the "Web" target if you are distributing a screensaver to prevent conflicts with others. +* thumbnail.png – 90 x 58 pixels | thumbnail@2x.png – 180 x 116 pixels License ------- diff --git a/WebSaver.xcodeproj/project.pbxproj b/WebSaver.xcodeproj/project.pbxproj index 2c7ccd1..969c3b0 100644 --- a/WebSaver.xcodeproj/project.pbxproj +++ b/WebSaver.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 113E8AA9187EC7740093F272 /* thumbnail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 113E8AA7187EC7740093F272 /* thumbnail@2x.png */; }; + 113E8AAA187EC7740093F272 /* thumbnail.png in Resources */ = {isa = PBXBuildFile; fileRef = 113E8AA8187EC7740093F272 /* thumbnail.png */; }; 4D856DCE10845D98006C781A /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D856DCD10845D98006C781A /* WebKit.framework */; }; 8D255AC70486D3F9007BF209 /* WebSaver_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCFA80370C50100C91783 /* WebSaver_Prefix.pch */; }; 8D255AC80486D3F9007BF209 /* WebSaverView.h in Headers */ = {isa = PBXBuildFile; fileRef = F50079790118B23001CA0E54 /* WebSaverView.h */; }; @@ -23,6 +25,8 @@ 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 113E8AA7187EC7740093F272 /* thumbnail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "thumbnail@2x.png"; sourceTree = ""; }; + 113E8AA8187EC7740093F272 /* thumbnail.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = thumbnail.png; sourceTree = ""; }; 32DBCFA80370C50100C91783 /* WebSaver_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSaver_Prefix.pch; sourceTree = ""; }; 4D856DCD10845D98006C781A /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = ""; }; 8D255AD20486D3F9007BF209 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; @@ -70,6 +74,8 @@ 089C167CFE841241C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( + 113E8AA7187EC7740093F272 /* thumbnail@2x.png */, + 113E8AA8187EC7740093F272 /* thumbnail.png */, EA4A502A1563C91F005E4CCA /* ConfigureSheet.nib */, 8D255AD20486D3F9007BF209 /* Info.plist */, 089C167DFE841241C02AAC07 /* InfoPlist.strings */, @@ -185,8 +191,10 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 113E8AAA187EC7740093F272 /* thumbnail.png in Resources */, 8D255ACA0486D3F9007BF209 /* InfoPlist.strings in Resources */, EA4A502B1563C91F005E4CCA /* ConfigureSheet.nib in Resources */, + 113E8AA9187EC7740093F272 /* thumbnail@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..d3dbba7b5a07e0835fecdb7907eed52e37f89327 GIT binary patch literal 852 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 literal 0 HcmV?d00001 From a5c4283b75c5e98eaf615fd7aba057475cd31926 Mon Sep 17 00:00:00 2001 From: Gaurav Chandrashekar Date: Thu, 9 Jan 2014 13:03:52 +0100 Subject: [PATCH 3/3] .gitignore update --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 1 + build/Release/Web.saver/Contents/Info.plist | 42 -------------------- build/Release/Web.saver/Contents/MacOS/Web | Bin 37684 -> 0 bytes 4 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 .DS_Store delete mode 100644 build/Release/Web.saver/Contents/Info.plist delete mode 100755 build/Release/Web.saver/Contents/MacOS/Web diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 343ad499e83a0bc0da6d16d3bb0b0a8c7abd368e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOHKko5Pgj-Fm4DdmvaIW7VeCh;CKQSZWRUrBMuTUF6S67JcK9l2HwGi2k=!_ z1(~49=)xFNl~lj}y=m(8WQqb1daJw(v;nl}f{k4^pO~zRZ&|};WHH2NOfkj^3yjd; z+U*m6Q31KT4o*+`DdJw>87u7E4x3Vc%m=4`Rno}#y|fGgk%tQC;&LqZo!4NJxN>0lE}0AiEV z(b$(-LO6+GYFH|Ag%*@bRBEsiBPgBoiS0`bOGTw4Sn(0;d$Q5t}{*?lunf0?CL$chu6`bVSgnmvJlYOP)n!-*@#oQ~Y cc%L4P^NDnbsbQ(e8JhnQh%$KN3jC@9@4C5cg#Z8m diff --git a/.gitignore b/.gitignore index 0c796f4..c7050d5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ build *.mode1v3 *.pbxuser +.DS_Store WebSaver.xcodeproj/project.xcworkspace WebSaver.xcodeproj/xcuserdata diff --git a/build/Release/Web.saver/Contents/Info.plist b/build/Release/Web.saver/Contents/Info.plist deleted file mode 100644 index badf820..0000000 --- a/build/Release/Web.saver/Contents/Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - BuildMachineOSBuild - 12C3012 - CFBundleDevelopmentRegion - English - CFBundleExecutable - Web - CFBundleIdentifier - com.yourcompany.Web - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Web - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - DTCompiler - - DTPlatformBuild - 4G2008a - DTPlatformVersion - GM - DTSDKBuild - 12C37 - DTSDKName - macosx10.8 - DTXcode - 0452 - DTXcodeBuild - 4G2008a - NSPrincipalClass - WebSaverView - - diff --git a/build/Release/Web.saver/Contents/MacOS/Web b/build/Release/Web.saver/Contents/MacOS/Web deleted file mode 100755 index b1c6499f8a8001de53f229be71e32af1ecb9b651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37684 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