Analyze-It, Browser Extension, CEH, Google-Music-Search, Google-Open-Storage-Search, Google-Translate-It, Internet Explorer, Look-It-Up, Plurk-It, Share-It, Visual Basic, Wikipedia-Search, Windows

Internet Explorer 11 Context Menu Chooser Application Version 3

Internet Explorer 11 Context Menu Chooser Application Version 3

Internet Explorer 11 Context Menu Chooser Application Version 3

This is an application that allows you to pick and choose which of the many context menu add-ons you would like enabled in your browser. Internet Explorer does not support nested context menus so this I wrote this application to make it easy to enable and disable different menu items you may want to use (instead of separate scripts). The context menu items are broke up into 8 groups: Share-it, Analyze-it, Analyze-it-Scritch, Analyze-it-Viewdns, Plurk-it, Google-it, Look-it-up, and IE-Utility. The IE-Utility menu items are usually located in the Tools menu in the menubar on top which isn’t shown by default (just hit the Alt key and it will pop open temporarily).

There are also a couple of registry tweaks that I included in this application. One that adjusts the size of the thumbnails (on hover) of open applications on the taskbar. And another to give you more New Tab entries. There is also a reset button for the New Tab items you removed and want back. The New Tab functionality is generated automatically based on your browsing (you don’t get actual Speed Dial functionality – Internet Explorer chooses everything you see)

There are a few changes in this new version that should be mentioned. The user interface has changed, the code was ported to be compiled, and there is now a version check that will help keep the application current.

In this version the user interface has been changed to be more convenient. I traded the scripted multi-screen interface for a more basic checkbox based dialog written using WinForms. Its just easier to use having everything in front of you on one dialog while making choices.

The code was ported from jscript/hta to nice modern Visual Basic 14. This should improve application start up time as well as use less memory while running. This compiled version of the application will perform better overall.

The scripting run time has a large overhead and is not maintained by Microsoft as other technologies are. For instance, when scripting a hypertext application the jscript has to target Internet Explorer 4/5 by default. By changing properties on the hta you can target IE8. I would have considered keeping the application scripted if Microsoft ported the hypertext application system to use the Edge or Internet Explorer 11 runtime.

Internet Explorer 11 Context Menu Chooser Application Version Check

Internet Explorer 11 Context Menu Chooser Application Version Check

There is now a version check enabled in the application. This application uses many external tools and features that are completely out of my control. As such, I’ve founds the application needs to be updated more often than other projects I’ve coded. In an effort to keep the application current I enabled a version check that checks weekly in the background that will somewhat automate the process of upgrading. By pressing the “Install new version” button the application will download the updated application in the background (no browser needed) to the Temp folder and start the installer.

The installer has also been tweaked to automatically start the old version uninstaller application (if it detects one) instead of the “do or die” message box that used to pop up. As there is a dependency on .NET 4.5, the installer will detect and start the web installer for the .NET framework as needed (this should only happen in Windows 7 without .NET 4.5).

Why write and maintain this application if Edge is the newest thing? Because desktop users will still prefer Internet Explorer 11 over Edge. Because I can’t see Microsoft having the only browser not running plug-ins. Because its still included in the operating system.

Where is it? Microsoft Internet Explorer 11 is located inside the Windows Accessories folder on the Windows 10 Start Menu. Or you could just click on the symbol in the upper left corner of my application.

 

Download Internet Explorer 11 Context Menu Chooser Application Version 3

Advertisements
Standard
Analyze-It, Browser Extension, Google-Music-Search, Google-Open-Storage-Search, Google-Translate-It, Internet Explorer, Javascript, Look-It-Up, Plurk-It, Share-It, Windows

IE11 Menu Addons – New Version – 1 – Happy New Year!

New Internet Explorer 11 Menus Version

 

This release basically fixes a few bugs and adds Google Music Search to the menu. I’ll be using whole numbers from now on on these installers (just makes things easier). I had to remove tumblr from the menu as their format changed (no more sharing with a GET request). Fixed the Fetch and Guess tools to be compliant with their new versions – so they should work properly. The spaces in query bug in Google Open Storage search was fixed – so multi word queries work properly.

Download and Install IE11 Menu Addons for Windows 7, 8, and 8.1

New Version Completed – Read and download from here.

If you’re paranoid about the download – the hash values for the file are listed on the Repo page.

Standard
Browser Extension, Firefox, Google-Music-Search, Google-Open-Storage-Search, Javascript

Firefox Extension – Google-Music-Search v0.2

Firefox Google-Music-Search


Firefox Google-Music-Search running on Crunchbang Linux


Google Music Search provides a simple way to search for music and files on google.com. There are two different types of queries to run: one to search for music files, and one to search for anything else stored in open indexed storage. Both open a tab in the browser and display search results from google.com. Firefox Google Music Search extension is based the Chrome Google Music Search and Chrome Open Storage Search extensions.

package.json

{
  "name": "google-music-search",
  "fullName": "Google-Music-Search",
  "id": "jid1-mIB68YB7TCOYZg",
  "description": "Makes searching for music and files on Google simple",
  "author": "Timothy Tocci - timothytocci.com",
  "homepage":"https://timothytocci.com/",
  "license": "MPL 2.0",
  "version": "0.2"
}

main.js


var widgets = require("sdk/widget");
var tabs = require("sdk/tabs");
var data = require("sdk/self").data;
var widget = widgets.Widget({
  id: "google-music-search",
  label: "Google Music Search",
  contentURL: data.url("google.png"),
  onClick: function() {
	searchdialog.show();
  }
});
var searchdialog = require("sdk/panel").Panel({
  width:480,
  height:272,
  contentURL: data.url("searchdialog.html")
});
var helpdialog = require("sdk/panel").Panel({
  width:640,
  height:480,
  contentURL: data.url("helpdialog.html")
});
searchdialog.port.on("doquery", function(url) {
  console.log(url);
  hidedialog();
  tabs.open(url);
});
function hidedialog(){
	searchdialog.hide();
}
searchdialog.port.on("helpclicked", function() {
    showhelp();
});
function showhelp(){
	helpdialog.show();
}
function closehelp(){
	helpdialog.hide();
}
helpdialog.port.on("gohome", function() {
	console.log("gohome");
    tabs.open("https://timothytocci.com/");
});
helpdialog.port.on("gocmusic", function() {
	console.log("gocmusic");
    tabs.open("https://timothytocci.com/2013/02/01/google-chrome-extension-google-music-search-an-omnibox-extension/");
});
helpdialog.port.on("gocoss", function() {
	console.log("gocoss");
    tabs.open("https://timothytocci.com/2013/02/03/google-chrome-extension-google-open-storage-search-an-omnibox-extension/");
});

helpdialog.html


<html>
    <head>
        <style>
            body {
                background-color: white;
            }
            
            input {
                height: 30px;
                width: 450px;
            }
			#home{
				color:blue;
				text-decoration:underline;
				cursor:hand;
			}
			#cmusic{
				color:blue;
                text-decoration:underline;
                cursor:hand;
			}
			#coss{
				color:blue;
                text-decoration:underline;
                cursor:hand;
			}
            #intro{
            	font-size: large;
            }
			.queries{
				font-size:large;
				font-weight:bold;
			}
			.qlist li{
				list-style: url(google.png);
			}
            .blue {
                color: blue;
            }
            
            .red {
                color: red;
            }
            
            .orange {
                color: orange;
            }
            
            .green {
                color: green;
            }
        </style>
    </head>
    <body>
        <center>
            <h1><span class="blue">G</span><span class="red">o</span><span class="orange">o</span><span class="blue">g</span><span class="green">l</span><span class="red">e</span>-<span class="blue">M</span><span class="red">u</span><span class="orange">s</span><span class="blue">i</span><span class="green">c</span>-<span class="blue">S</span><span class="red">e</span><span class="orange">a</span><span class="blue">r</span><span class="green">c</span><span class="red">h</span></h1>
            <p id="intro">
                Google Music Search provides a simple way to search for music and files on google.com. 
				There are two different types of queries to run: one to search for music files, and one to search for anything stored in open indexed storage. 
				Both open a tab in the browser and display search results from google.com. 
				Firefox Google Music Search extension is based the <a id="cmusic">Chrome Google Music Search</a> and <a id="coss">Chrome Open Storage Search</a> extensions. 
				Google Music Search was written by <a id="home">Timothy Tocci</a>.
            </p>
        </center>
        <p>
            To search for music files simply provide a band or artist name press the Music Search Button. To search for other filetypes; you must first specify the filetypes you are looking for. Filetypes can be ORed together using the pipe (|) character. After the filetypes you must enter a space. Anything before the first space in the query is considered the filetype(s). Then enter the query term for the file(s) you are searching for and press the Open Storage Search button.
        </p>
		<h4>Examples</h4>
		<ul class="qlist"><li><span class="queries">gif|jpg|png homecoming queen</span></li>
		<li><span class="queries">flv|mov|mp4 first steps</span></li>
		<li><span class="queries">torrent sometorrentfile</span> <-- May also act as a torrent weasel (depends on seed host)</li></ul>
    </body>
    <script type="text/javascript">
        window.onload = function(){
            var homelink = document.getElementById("home");
            homelink.addEventListener("click", function(){
                addon.port.emit("gohome","");
            }, false);
			
			var cmusiclink = document.getElementById("cmusic");
            cmusiclink.addEventListener("click", function(){
                addon.port.emit("gocmusic","");
            }, false);
			
			var cosslink = document.getElementById("coss");
            cosslink.addEventListener("click", function(){
                addon.port.emit("gocoss","");
            }, false);
        }
    </script>
</html>


searchdialog.html


<html>
    <head>
        <style>
            body {
                background-color: white;
            }
           
            input {
                height: 30px;
                width: 450px;
            }
            
            #goo {
                padding-top: 20px;
            }
			.blabels{
				font-size:large;
			}
        </style>
        
    </head>
    <body>
        <center>
            <div id="goo">
                <img src="google_logo_front.png"/>
            </div>
            <br/>
            <div>
                <input name="query" id="query" type="text" align="center" placeholder="enter a bandname or filetype and query"/>
                <br/>
                <button id="music">
                	<span class="blabels">Music Search</span>
                </button>
                <button id="storage">
                	<span class="blabels">Open Storage Search</span>
                </button>
				<button id="help">
                    <span class="blabels">Help/About</span>
                </button>
            </div>
        </center>
    </body>
	<script type="text/javascript">
           window.onload = function () {
                var btnmusic = document.getElementById("music");
                btnmusic.addEventListener("click", function(){
                    var input = document.getElementById("query");
                    var text = input.value;
					if(input.value == ""){return}
                    var query = 'intitle:index.of +?last modified? +?parent directory? +(mp3|wma|ogg|wav) +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
                    doquery(query);
                }, false);
                var btnstorage = document.getElementById("storage");
                btnstorage.addEventListener("click", function(){
                    var input = document.getElementById("query");
					if(input.value == ""){return}
                    var temp = input.value.split(" ", 2);
                    var filetype = temp[0];
                    text = temp[1];
                    var query = 'intitle:index.of +?last modified? +?parent directory? +(' + filetype + ') +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
                    doquery(query);
                }, false);
				
				var btnhelp = document.getElementById("help");
                btnhelp.addEventListener("click", function(){
					addon.port.emit("helpclicked");
				},true);
					
            }
            function doquery(query){
                url = "https://www.google.com/search?q=" + encodeURIComponent(query);
                addon.port.emit("doquery", url);
            }
        </script>
</html>

Click to Install Most Recent Version

Standard
AIR, Google-Music-Search, Google-Open-Storage-Search, Javascript, Windows

Adobe AIR Application – Google Music Search

Adds Music Search functionality to Windows and Mac. Provides the functionality of the Google Music Search and Google Open Storage Search Chrome add-ons to Windows and Mac users. Opens up the Google search query in the default system browser whatever that may be.

application.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application xmlns="http://ns.adobe.com/air/application/1.5">
 <id>com.timothytocci.example.Google.Music.Search</id>
 <filename>Google.Music.Search</filename>
 <name>Google.Music.Search</name>
 <version>1.0</version>
 <description/>
 <copyright/>
 <initialWindow>
 <content>Google.Music.Search.html</content>
 <systemChrome>none</systemChrome>
 <transparent>true</transparent>
 <resizable>false</resizable>
 </initialWindow>
 <icon>
 <image16x16>icons/musicsearch_16.png</image16x16>
 <image32x32>icons/musicsearch_32.png</image32x32>
 <image48x48>icons/musicsearch_48.png</image48x48>
 <image128x128>icons/musicsearch_128.png</image128x128>
 </icon>
</application>

Google.Music.Search.html

<html>
 <head>
 <script type="text/javascript" src="lib/air/AIRAliases.js">
 </script>
 <script type="text/javascript">
 var thisVersion, currentVersion;
 var iconLoadComplete = function(event){
 air.NativeApplication.nativeApplication.icon.bitmaps = [event.target.content.bitmapData];
 }
 air.NativeApplication.nativeApplication.autoExit = false;
 var iconLoad = new air.Loader();
 var iconMenu = new air.NativeMenu();
 var showSearchCommand = iconMenu.addItem(new air.NativeMenuItem("Music Search"));
 showSearchCommand.addEventListener(air.Event.SELECT, function(event){
 showSearch();
 });
 var exitCommand = iconMenu.addItem(new air.NativeMenuItem("Exit"));
 exitCommand.addEventListener(air.Event.SELECT, function(event){
 air.NativeApplication.nativeApplication.icon.bitmaps = [];
 air.NativeApplication.nativeApplication.exit();
 });
 if (air.NativeApplication.supportsSystemTrayIcon) {
 air.NativeApplication.nativeApplication.autoExit = false;
 iconLoad.contentLoaderInfo.addEventListener(air.Event.COMPLETE, iconLoadComplete);
 iconLoad.load(new air.URLRequest("icons/musicsearch_16.png"));
 air.NativeApplication.nativeApplication.icon.tooltip = gettooltip();
 air.NativeApplication.nativeApplication.icon.menu = iconMenu;
 }
 if (air.NativeApplication.supportsDockIcon) {
 iconLoad.contentLoaderInfo.addEventListener(air.Event.COMPLETE, iconLoadComplete);
 iconLoad.load(new air.URLRequest("icons/musicsearch_128.png"));
 air.NativeApplication.nativeApplication.icon.menu = iconMenu;
 }
 checkVersion();
 showSearch();

 function checkVersion(){
 var appData = air.NativeApplication.nativeApplication.applicationDescriptor;
 var dp = new DOMParser();
 var xml = dp.parseFromString(appData, "text/xml");
 var version = xml.getElementsByTagName("version")[0].firstChild;
 thisVersion = version.nodeValue;
 var url = new air.URLRequest("http://weyou.us/apps/GoogleMusicSearch/version/");
 var loader = new air.URLLoader();
 loader.dataFormat = air.URLLoaderDataFormat.TEXT;
 loader.addEventListener(air.Event.COMPLETE, compareVersion);
 loader.load(url);
 }

 function compareVersion(e){
 currentVersion = e.currentTarget.data;
 if (currentVersion > thisVersion) {
 openInBrowser("http://weyou.us/apps/GoogleMusicSearch/");
 }
 }

 function gettooltip(){
 var temp = "";
 temp = "Google Music Search" + "\n";
 temp = temp + " Use google to find music.";
 return temp;
 }

 function showSearch(){
 var init = new air.NativeWindowInitOptions();
 var win = null;
 var height = 228;
 var width = 500;
 // adobe bug - should be centered perfectly
 var top = (air.Capabilities.screenResolutionX / 2) - (height / 2);
 var left = (air.Capabilities.screenResolutionY / 2) - (width / 2);
 var spot = new air.Rectangle(top, left, width, height);
 init.minimizable = true;
 init.maximizable = true;
 init.resizable = false;
 init.type = "lightweight";
 init.systemChrome = air.NativeWindowSystemChrome.NONE;
 win = air.HTMLLoader.createRootWindow(true, init, false, spot);
 var form = air.File.applicationDirectory.resolvePath("search.html");
 win.load(new air.URLRequest(form.url));
 }

 function openInBrowser(url){
 air.navigateToURL(new air.URLRequest(url));
 }
 </script>
 </head>
 <body>
 <!-- This page is never shown. -->
 </body>
</html>

search.html

<html>
 <head>
 <style>
 body {
 background-color: white;
 }

 input {
 height: 30px;
 width: 450px;
 }

 #goo {
 padding-top: 20px;
 }
 </style>
 <script type="text/javascript" src="lib/air/AIRAliases.js">
 </script>
 <script type="text/javascript">
 var win = window.nativeWindow;
 var stay = false;
 var staycount = 0;
 function close(){
 win.close();
 }

 function timeout(){
 if (!stay) {
 close();
 }
 else {
 staycount++;
 }
 if (staycount === 3) {
 staycount = 0;
 stay = false;
 }
 }

 function doquery(query){
 url = "https://www.google.com/search?q=" + encodeURIComponent(query);
 openInBrowser(url);
 }

 function openInBrowser(url){
 air.navigateToURL(new air.URLRequest(url));
 }

 window.onload = function(){
 var dlg = document.getElementsByTagName("body");
 dlg[0].addEventListener("mousedown", function(){
 stay = true;
 staycount = 0;
 win.startMove();
 }, false);
 dlg[0].addEventListener("mouseover", function(){
 stay = true;
 staycount = 0;
 }, false);
 var inpt = document.getElementById("query");
 inpt.addEventListener("change", function(){
 stay = true;
 staycount = 0;
 }, false);
 var btnmusic = document.getElementById("music");
 btnmusic.addEventListener("click", function(){
 var input = document.getElementById("query");
 var text = input.value;
 var query = 'intitle:index.of +?last modified? +?parent directory? +(mp3|wma|ogg|wav) +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
 doquery(query);
 win.close();
 }, false);
 var btnstorage = document.getElementById("storage");
 btnstorage.addEventListener("click", function(){
 var input = document.getElementById("query");
 var temp = input.value.split(" ", 2);
 var filetype = temp[0];
 text = temp[1];
 var query = 'intitle:index.of +?last modified? +?parent directory? +(' + filetype + ') +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
 doquery(query);
 win.close();
 }, false);
 setInterval(timeout, 5000);
 }
 </script>
 </head>
 <body>
 <center>
 <div id="goo">
 <img src="google_logo_front.png"/>
 </div>
 <br/>
 <div>
 <input name="query" id="query" type="text" align="center" placeholder="enter a bandname or filetype and query"/>
 <br/>
 <button id="music">
 <img src="google_music_search_button.png"/>
 </button>
 <button id="storage">
 <img src="google_open_storage_search_button.png"/>
 </button>
 </div>
 </center>
 </body>
</html>

Original Source

MD5: ff8765b516c027539d18693a8b0adc73

Install Music Search

MD5: d3084dfb2406a68a3957d63acffa33c1

 Adobe AIR application installers can be unzipped to inspect the code (if you don’t have 7-Zip you’ll have to change the file extension to .zip – do it on a copy).

Standard
Browser Extension, Google Chrome, Google-Music-Search, Javascript

Google Chrome Extension – Google Music Search, an Omnibox extension

Adds Music Search functionality to Google Chrome, Chromium, and Comodo Dragon.

manifest.json

{
  "name": "Google Music Search",
  "description" : "To use, type 'music', a space plus a band or artist name into the Omnibox. timothytocci.com",
  "version": "0.3",
  "background": {
    "scripts": ["background.js"]
  },
  "omnibox": { "keyword" : "music" },
   "icons" : {
		"16" : "google.png",
		"32" : "peopleicon32.png",
		"48" : "peopleicon48.png",
		"128" : "peopleicon128.png"
	},
  "manifest_version": 2
}

background.js

chrome.omnibox.onInputChanged.addListener(function(text, suggest) {
	suggest( [ {
		content : text + " discography",
		description : "+Discography"
	}, {
		content : text + " greatest hits",
		description : "+Greatest Hits"
	}, {
		content : text + " album",
		description : "+Album"
	}, {
		content : text + " collection",
		description : "+Collection"
	}, {
		content : text + " compilation",
		description : "+Compilation"
	} ]);
});
chrome.omnibox.onInputEntered
		.addListener(function(text) {
			var query = 'intitle:index.of +?last modified? +?parent directory? +(mp3|wma|ogg|wav) +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
			var createProperties = {
				url : "https://www.google.com/search?q="
						+ encodeURIComponent(query)
			};
			chrome.tabs.create(createProperties);
		});
chrome.omnibox.onInputStarted
		.addListener(function() {
			var suggestion = {
				description : "Find Music by %s using Google Music Search"
			}
			chrome.omnibox.setDefaultSuggestion(suggestion);
		});

Install (you must trust my code)

If you downloaded an extension from somewhere other than Google, Chrome will not let you install it on the fly. You have to go to the browser menu and choose Tools->Extensions to open up the Extensions tab. Then drag the extension from wherever it is on the file-system to the open Extensions page. This should start the install process. If you ever feel funny about a packed extension you can unzip them to inspect the code (if you don’t have 7zip you’ll have to change the file extension to .zip – do it on a copy).

Standard