1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. loshombre

Beiträge von loshombre

  • Code gesucht: Löschen der History des aktuellen Tabs

    • loshombre
    • 2. Juni 2011 um 00:39

    Versuch das mal mit der userchrome.js

  • Code gesucht: Löschen der History des aktuellen Tabs

    • loshombre
    • 31. Mai 2011 um 23:10

    Vielleicht ist das was für dich.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 29. Mai 2011 um 22:13

    Ja, schon klar. Es geht nur darum, dass der hier kopierte Javascript bei anderen auf einmal nicht funktionieren wollte, weil die Forumsoftware irgendwie das Format durcheinander brachte.
    Aber wir können es mal gerne versuchen:

    1. Auto Copy (Javascript):

    Code
    /* Auto Copy */
    
    
    var gautocopy_lastSelection = null;
    var gautocopy_hidemenu_timer = null;
    var gautocopy_clipboardcontents = new Array();
    var gautocopy_doPaste = false;
    
    
    window.addEventListener("load",function() {initAutoCopyStatus();} ,false);
    window.addEventListener("focus",function() {resetAutoCopyStatus();} ,false);
    
    
    window.addEventListener("mouseup", autocopyOnMouseUp ,false);
    window.addEventListener("keyup", autocopy_onKeyUpCheck ,false);
    
    
    //window.onmouseup = autocopyOnMouseUp;
    //window.onkeyup = autocopy_onKeyUpCheck;
    
    
    window.addEventListener("mousedown", Autocopy_Pasteonmiddleclick_mousedown ,false);
    window.addEventListener("mouseup", Autocopy_Pasteonmiddleclick_mouseup ,false);
    
    
    
    
    // prefs
    var autocopyPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("autocopy.");
    
    
    if (!autocopyPrefs.prefHasUserValue("StatusBarState"))
    	autocopyPrefs.setIntPref("StatusBarState", 1)
    
    
    
    
    
    
    
    
    function AutocopyClipboardContents(adataType, adata, adataLength)
    {
    	this.dataType = adataType;
    	this.data = adata;
    	this.dataLength = adataLength;
    }
    
    
    
    
    function autocopyContextHide(e) {
    
    
    	var cm = gContextMenu;
    	var AutocopyFirebirdcontextmenuitem = document.getElementById('autocopy-firebirdcontextmenuitem');
    
    
    	if(autocopyPrefs.getBoolPref("optContextMenuItem")){
    		AutocopyFirebirdcontextmenuitem.hidden = ( cm.onImage );
    		//|| cm.onLink || cm.onImage || cm.onTextInput );
    	}
    	else{
    	    AutocopyFirebirdcontextmenuitem.hidden = true;
    	}
    
    
    	if(AutocopyFirebirdcontextmenuitem.hidden)
    	{
    		document.getElementById('autocopy-firebirdcontextmenuitemseparator').hidden = true;
    	}
    	else
    	{
    		document.getElementById('autocopy-firebirdcontextmenuitemseparator').hidden = false;
    		autocopy_context_onpopupshowing(e);
    	}
    }
    
    
    
    
    function setAutoCopyStatus()
    {
    	if(autocopyPrefs.getBoolPref("optStatusBar")){
    		var autocopy = document.getElementById('autocopy-status');
    		var autocopystatusimage = document.getElementById('autocopy-status-image');
    		var tooltip = document.getElementById('autocopy-tooltip-value');
    
    
    		if(autocopy && autocopystatusimage)
    		{
    			autocopystatusimage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    		    	var strings = document.getElementById("autocopyStrings");
    			tooltip.setAttribute("value", strings.getString("statusbar-tooltip-enabled"));
    		}
    	}
    
    
    }
    
    
    
    
    
    
    function initAutoCopyStatus() 
    {
    	initPreferences();
    
    	document.getElementById("cmd_selectAll").setAttribute("oncommand", "goDoCommand('cmd_selectAll'); AutocopySelectAll();");
    
    
        	var strings = document.getElementById("autocopyStrings");
    
    
    	var autocopyLocalizationPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.{0FED7D55-65D4-47b6-A6DE-9A4ADB55355F}.");
    	var autocopylocaledescription = strings.getString("autocopy-description");
    	var str = Components.classes[ "@mozilla.org/supports-string;1" ].createInstance( Components.interfaces.nsISupportsString );
    	str.data = autocopylocaledescription;
    	autocopyLocalizationPrefs.setComplexValue( "description", Components.interfaces.nsISupportsString, str );
    
    
    
    	var autocopyStatusBarButtonPanel = document.getElementById('autocopy-statuspanel');
    	var autocopyStatusBarButton = document.getElementById('autocopy-status');
    	var autocopyStatusBarButtonImage = document.getElementById('autocopy-status-image');
    	var autocopyStatusBarButtonTooltip = document.getElementById('autocopy-tooltip-value');
    	if(autocopyStatusBarButton && autocopyStatusBarButtonImage)
    	{
    
    
    		if(autocopyPrefs.getBoolPref("optStatusBar")){
            	    if(autocopyStatusBarButtonPanel.collapsed)
    		    {
            	    	   autocopyStatusBarButtonPanel.collapsed = false;
    		    }
            	}
            	else{
            	    if(!autocopyStatusBarButtonPanel.collapsed)
    		    {
            	    	   autocopyStatusBarButtonPanel.collapsed = true;
    		    }
            	}
    
    
    
    		if (autocopyPrefs.getIntPref("StatusBarState") == 0)
    	        {
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    		                 autocopyStatusBarButton.setAttribute("status", "disabled");
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyDisabled.png");
    	        	         autocopyStatusBarButtonTooltip.setAttribute("value", strings.getString("statusbar-tooltip-disabled"));
    	        	 }
    		}
    		else
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    	                 	autocopyStatusBarButton.setAttribute("status", "enabled");
    				autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    	                 	autocopyStatusBarButtonTooltip.setAttribute("value", strings.getString("statusbar-tooltip-enabled"));
    			 }
    		}
    
    
    	}
    
    
    
    
    
    
    
    
    	var AutocopyFirebirdmenuitem = document.getElementById('autocopy-firebirdmenuitem');
    	var AutocopyFirebirdmenuitemseparator = document.getElementById('autocopy-firebirdmenuitemseparator');
    	if(AutocopyFirebirdmenuitem)
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") == 0)
    	        {
    	                 AutocopyFirebirdmenuitem.setAttribute("checked", false);
    		}
    		else
    		{
    	                 AutocopyFirebirdmenuitem.setAttribute("checked", true);
    		}
    
    
    	        if(autocopyPrefs.getBoolPref("optEditMenuItem")){
    		    AutocopyFirebirdmenuitemseparator.setAttribute("hidden", false);
    	            AutocopyFirebirdmenuitem.setAttribute("hidden", false);
    	        }
    	        else{
    		    AutocopyFirebirdmenuitemseparator.setAttribute("hidden", true);
    	            AutocopyFirebirdmenuitem.setAttribute("hidden", true);
    	        }
    	}
    
    
    	var AutocopyFirebirdcontextmenuitem = document.getElementById('autocopy-firebirdcontextmenuitem');
    	if(AutocopyFirebirdcontextmenuitem)
    	{
    
    		if(document.getElementById("contentAreaContextMenu"))
    		{
    			document.getElementById("contentAreaContextMenu").addEventListener("popupshowing",autocopyContextHide,false);
    	        }	
    	}
    
    
    
    
    	var Autocopykeytoggleautocopyenabled = null;
    	if(document.getElementById('firebirdkey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('firebirdkey-toggle-autocopyenabled');
    	if(document.getElementById('mozillakey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('mozillakey-toggle-autocopyenabled');
    	if(document.getElementById('thunderbirdkey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('thunderbirdkey-toggle-autocopyenabled');
    
    
    	if(Autocopykeytoggleautocopyenabled)
    	{
    	        if(autocopyPrefs.getBoolPref("optKeyboardShortcutEnabled")){
    
    	            var optModifiers = "";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyAccel"))
    	                optModifiers = optModifiers + ",accel";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyMeta"))
    	                optModifiers = optModifiers + ",meta";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyCtrl"))
    	                optModifiers = optModifiers + ",control";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyShift"))
    	                optModifiers = optModifiers + ",shift";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyAlt"))
    	                optModifiers = optModifiers + ",alt";
    
    	            optModifiers.replace(/^\,/,"");
    
    	            var optKey = autocopyPrefs.getCharPref("optKeyboardShortcutKey");
    	            if(optKey.match(/^[A-Z]$/i)){
    	                Autocopykeytoggleautocopyenabled.setAttribute("key", optKey);
    	                Autocopykeytoggleautocopyenabled.setAttribute("keycode", "");
    	            }
    	            else{
    	                Autocopykeytoggleautocopyenabled.setAttribute("key", "");
    	                Autocopykeytoggleautocopyenabled.setAttribute("keycode", optKey);
    	            }
    
    	            Autocopykeytoggleautocopyenabled.setAttribute("modifiers", optModifiers);
    	            Autocopykeytoggleautocopyenabled.setAttribute("disabled", false);
    	        }
    	        else{
    	            Autocopykeytoggleautocopyenabled.setAttribute("disabled", true);
    	        }
    	}
    
    
    
    
    	PasteOnMiddleClickStatusbarOption =  document.getElementById('autocopy-statusbar-PasteOnMiddleClick');
    	if(PasteOnMiddleClickStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	EnableInTextBoxesStatusbarOption =  document.getElementById('autocopy-statusbar-EnableInTextBoxes');
    	if(EnableInTextBoxesStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    		{
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	AutocopyContextMenuStatusbarOption =  document.getElementById('autocopy-statusbar-AutocopyContextMenu');
    	if(AutocopyContextMenuStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optContextMenu"))
    		{
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	StatusbarBlinkStatusbarOption =  document.getElementById('autocopy-statusbar-StatusbarBlink');
    	if(StatusbarBlinkStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optStatusbarBlink"))
    		{
    			StatusbarBlinkStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			StatusbarBlinkStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	StatusbarDeselectAfterCopy =  document.getElementById('autocopy-statusbar-DeselectAfterCopy');
    	if(StatusbarDeselectAfterCopy)
    	{
    		if (autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    		{
    			StatusbarDeselectAfterCopy.setAttribute("checked", true);
    		}
    		else
    		{
    			StatusbarDeselectAfterCopy.setAttribute("checked", false);
    		}
    	}
    
    
    
    
    
    
    
    
    }
    
    
    /////////////////
    //
    //window.addEventListener("load",function() {AutoCopyCopyOnLoad();} ,true);
    //
    //function AutoCopyCopyOnLoad()
    //{
    //////////////////
    //goDoCommand('cmd_selectAll');
    //AutocopySelectAll();
    //Autocopy_DeselectAfterCopy_CollapseSelection()
    //}
    /////////////////
    
    
    function resetAutoCopyStatus()
    {
        initAutoCopyStatus()
    }
    
    
    
    
    function initPreferences(){
    
    
    	if (!autocopyPrefs.prefHasUserValue("StatusBarState"))
    		autocopyPrefs.setIntPref("StatusBarState", 1)
    
    
    	if (!autocopyPrefs.prefHasUserValue("optPasteOnMiddleClick"))
    		autocopyPrefs.setBoolPref("optPasteOnMiddleClick", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optDeselectAfterCopy"))
    	{
    		if(navigator.vendor.match(/Thunderbird/i))
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    		}
    	}
    
    
    
    
    	if (!autocopyPrefs.prefHasUserValue("optCopyWithoutFormating"))
    		autocopyPrefs.setBoolPref("optCopyWithoutFormating", false);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optStatusBar"))
    		autocopyPrefs.setBoolPref("optStatusBar", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optStatusbarBlink"))
    		autocopyPrefs.setBoolPref("optStatusbarBlink", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optContextMenu"))
    		autocopyPrefs.setBoolPref("optContextMenu", false);
    
    
    
    
    	if (!autocopyPrefs.prefHasUserValue("optContextMenuHideTimeout"))
    		autocopyPrefs.setIntPref("optContextMenuHideTimeout", 2000);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optEditMenuItem"))
    		autocopyPrefs.setBoolPref("optEditMenuItem", false);
    	if (!autocopyPrefs.prefHasUserValue("optContextMenuItem"))
    		autocopyPrefs.setBoolPref("optContextMenuItem", true);
    	if (!autocopyPrefs.prefHasUserValue("optEnableInTextBoxes"))
    		autocopyPrefs.setBoolPref("optEnableInTextBoxes", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutEnabled"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutEnabled", false);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyAccel"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyAccel", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyMeta"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyMeta", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyCtrl"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyCtrl", true);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyShift"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyShift", true);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyAlt"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyAlt", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKey"))
    		autocopyPrefs.setCharPref("optKeyboardShortcutKey", "C");
    }
    
    
    
    
    
    
    
    
    function switchautocopystatusstate()
    {
            if (autocopyPrefs.getIntPref("StatusBarState") == 0)
            {
    		autocopyPrefs.setIntPref("StatusBarState", 1);
            }
            else
            {
    		autocopyPrefs.setIntPref("StatusBarState", 0);
            }
            initAutoCopyStatus();
    }
    
    
    function autocopy_onKeyUpCheck(e)
    {
    	if(e.keyCode == e.DOM_VK_A && e.ctrlKey)
    	{
    		autocopyOnMouseUp(e);
    	}
    }
    
    
    
    
    function autocopyOnMouseUp(e)
    {
       if ((!e.ctrlKey) || (e.keyCode))
       {
    	var targetclassname = e.target.toString();
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if(!targetclassname.match(/SelectElement|OptionElement/i))
    		{
    			if(!Autocopy_isTargetEditable(e.target))
    			{
    				if (!targetclassname.match(/object XUL/i))
    				{
    
    
    					if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    					{
    						//were going to copy
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							copyplaintext();
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    							var x = e.screenX;
    							var y = e.screenY;
    							if(x == 0 && y == 0)
    							{
    								document.popupNode = document.documentElement;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    								autocopy_timedhidemenu(); 
    							}
    							else
    							{
    								document.popupNode = null;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, x, y, "context");
    								autocopy_timedhidemenu(); 
    							}
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    			}
    			else if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    			{
    				if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    				{
    					//were going to copy
    					gautocopy_lastSelection = autocopy_getSelection();
    					autocopy_saveclipboard();
    					if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    					{
    						//copyplaintext dosn't work in textboxes
    						//copyplaintext();
    						goDoCommand('cmd_copy');
    					}
    					else
    					{
    						goDoCommand('cmd_copy');
    					}
    					if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    					{
    						AutocopyBlinkStatusbarButton(3);
    					}
    					if (autocopyPrefs.getBoolPref("optContextMenu"))
    					{
    						var x = e.screenX;
    						var y = e.screenY;
    						if(x == 0 && y == 0)
    						{
    							document.popupNode = document.documentElement;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    							autocopy_timedhidemenu(); 
    						}
    						else
    						{
    							document.popupNode = null;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, x, y, "context");
    							autocopy_timedhidemenu(); 
    						}
    					}
    					if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    					{
    						Autocopy_DeselectAfterCopy();
    					}
    				}
    			}
    		}
       	}
       }
    }
    
    
    
    
    function AutocopySelectAll()
    {
    	var targetclassname = "";
    	if(document.commandDispatcher.focusedElement)
    	{	
    		targetclassname = document.commandDispatcher.focusedElement.toString();
    	}
    
    
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    //		if (!targetclassname.match(/object XUL/i))
    //		{
    			if(!targetclassname.match(/SelectElement|OptionElement/i))
    			{
    				if(!Autocopy_isTargetEditableDispatcher(document.commandDispatcher))
    				{
    					if(autocopy_getSelection().length > 0)
    					{
    						//were going to copy
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							copyplaintext();
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    							document.popupNode = document.documentElement;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    							autocopy_timedhidemenu(); 
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    				else if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    				{
    					if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    					{
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							//copyplaintext dosn't work in textboxes
    							//copyplaintext();
    							goDoCommand('cmd_copy');
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    								document.popupNode = document.documentElement;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    								autocopy_timedhidemenu(); 
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    			}
    //		}
    	}
    }
    
    
    
    
    function Autocopy_Pasteonmiddleclick_mousedown(e)
    {
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if((!e.ctrlKey) && autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			if(e.button == 1)
    			{
    				gautocopy_doPaste = false;	
    
    
    				if(e.target.inputField)
    				{
    					if(e.target.inputField.toString().match(/InputElement|TextAreaElement/i))
    					{
    						gautocopy_doPaste = true;
    					}
    				}	
    				if(e.target.mTextbox)
    				{
    					if(e.target.mTextbox.inputField)
    					{
    						if(e.target.mTextbox.inputField.toString().match(/InputElement|TextAreaElement/i))
    						{
    							gautocopy_doPaste = true;
    						}
    					}
    				}
    				if(Autocopy_isTargetEditable(e.target))
    				{
    					gautocopy_doPaste = true;
    				}
    
    				if(gautocopy_doPaste)
    				{
    					if (getBrowser().mCurrentBrowser.autoscrollEnabled) 
    					{
    						getBrowser().mCurrentBrowser._autoScrollPopup.hidePopup();
    						getBrowser().mCurrentBrowser.stopScroll();
    					}
    				}
    			}
    		}
    	}	
    }
    function Autocopy_Pasteonmiddleclick_mouseup(e)
    {
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if((!e.ctrlKey) && autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			if(e.button == 1)
    			{
    				if(gautocopy_doPaste)
    				{
    					goDoCommand('cmd_paste');
    					if (getBrowser().mCurrentBrowser.autoscrollEnabled) 
    					{
    						getBrowser().mCurrentBrowser._autoScrollPopup.hidePopup();
    						getBrowser().mCurrentBrowser.stopScroll();
    					}
    				}
    			}
    		}
    	}	
    }
    
    
    
    
    
    
    
    
    function Autocopy_isTargetEditable(target)
    {
    if(target)
    {
      if(target.toString().match(/InputElement|TextAreaElement/i))
      {
        return true;
      }
    
    
      if(target.textbox)
      {
        return true;
      }
    
    
      if(target.ownerDocument)
      {
        if(target.ownerDocument.designMode)
        {
          if(target.ownerDocument.designMode.match(/on/i))
          {
            return true;
          }
        }
      }
    }
    return false;
    }
    
    
    
    
    
    
    
    
    function Autocopy_isTargetEditableDispatcher(commandDispatcher)
    {
    
    
    	
    	if(commandDispatcher.focusedElement)
    	{
    		if(commandDispatcher.focusedElement.toString().match(/InputElement|TextAreaElement/i))
    		{
    			return true;
    		}
    	}
    	else
    	{
    		if(commandDispatcher.focusedWindow.document.designMode)
    		{
    			if(commandDispatcher.focusedWindow.document.designMode.match(/on/i))
    			{
    				return true;
    			}
    		}
    	}
    
    
    	return false;
    }
    
    
    function Autocopy_DeselectAfterCopy()
    {
    
    
    	if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    	{
    		var focusedElement = document.commandDispatcher.focusedElement;
    		if(focusedElement)
    		{
    			SelectionLength = focusedElement.selectionEnd - focusedElement.selectionStart;
    			Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection_TextBox, 25, SelectionLength); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection_TextBox, 50); 
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection_TextBox, 75, SelectionLength); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection_TextBox, 100); 	
    		}
    		else
    		{
    			var focusedWindow = document.commandDispatcher.focusedWindow;
    			try
    			{
    				var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    				var Selection = winWrapper.getSelection();
    			}
    			catch(e)
    			{
    				var Selection = focusedWindow.getSelection();
    			}
    			var SelectionfocusNode = Selection.focusNode;
    			var SelectionfocusOffset = Selection.focusOffset;
    			Autocopy_DeselectAfterCopy_CollapseSelection()
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection, 25, SelectionfocusNode, SelectionfocusOffset); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection, 50); 
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection, 75, SelectionfocusNode, SelectionfocusOffset); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection, 100); 	
    		}
    	}
    	else
    	{	
    		var focusedElement = document.commandDispatcher.focusedElement;
    		if(focusedElement)
    		{		
    			Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    		}
    		else
    		{
    			goDoCommand('cmd_selectNone');
    		}
    	}
    }
    function Autocopy_DeselectAfterCopy_ExtendSelection_TextBox(SelectionLength)
    {
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement)
    	{
    		focusedElement.selectionEnd = focusedElement.selectionStart + SelectionLength;
    	}
    }
    function Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    {
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement)
    	{
    		focusedElement.selectionEnd = focusedElement.selectionStart;
    	}
    }
    function Autocopy_DeselectAfterCopy_ExtendSelection(SelectionfocusNode, SelectionfocusOffset)
    {
    	var focusedWindow = document.commandDispatcher.focusedWindow;
    	try
    	{
    		var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    		var Selection = winWrapper.getSelection();
    	}
    	catch(e)
    	{
    		var Selection = focusedWindow.getSelection();
    	}
    	Selection.extend(SelectionfocusNode, SelectionfocusOffset);
    }
    function Autocopy_DeselectAfterCopy_CollapseSelection()
    {
    	var focusedWindow = document.commandDispatcher.focusedWindow;
    	try
    	{
    		var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    		var Selection = winWrapper.getSelection();
    	}
    	catch(e)
    	{
    		var Selection = focusedWindow.getSelection();
    	}
    	var SelectionanchorNode = Selection.anchorNode;
    	var SelectionanchorOffset = Selection.anchorOffset;
    	Selection.collapse(SelectionanchorNode, SelectionanchorOffset);
    }
    
    
    
    
    
    
    function AutocopyBlinkStatusbarButton(numberofblinks)
    {
    	setTimeout(AutocopyBlinkStatusbarButton, 5000, 0); //resets in 5 seconds just incase
    
    
    	var autocopyStatusBarButton = document.getElementById('autocopy-status');
    	var autocopyStatusBarButtonImage = document.getElementById('autocopy-status-image');
    	var autocopyStatusBarButtonTooltip = document.getElementById('autocopy-tooltip-value');
    	if (numberofblinks > 0)
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") != 0)
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    				if(autocopyStatusBarButtonImage.getAttribute("src") == "chrome://autocopy/skin/AutoCopyEnabled.png")
    				{
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyBlank.png");
    				}
    				else
    				{
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    				}
    				numberofblinks = numberofblinks - 1;
    		     		setTimeout(AutocopyBlinkStatusbarButton, 300, numberofblinks);
    			 }
    		}
    	}
    	else
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") != 0)
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    				autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    			 }
    		}
    	}
    }
    
    
    
    
    function autocopy_getSelection() 
    {
    	var SelectionText = "";
    	var trywindow = false;
    
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement && null != focusedElement)
    	{
    		try
    		{
    			SelectionText = focusedElement.value.substring(focusedElement.selectionStart, focusedElement.selectionEnd);
    		}
    		catch(e)
    		{
    			trywindow = true;
    		}
    	}
    	else
    	{
    		trywindow = true;
    	}
    
    	if(trywindow)
    	{
    		var focusedWindow = document.commandDispatcher.focusedWindow;
    		try
    		{
    			var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    			var Selection = winWrapper.getSelection();
    		}
    		catch(e)
    		{
    			var Selection = focusedWindow.getSelection();
    		}
    		SelectionText = Selection.toString();
    
    
    	}
    	return SelectionText;
    }
    
    
    function autocopy_getClipboardContents()
    {
    	var clip = Components.classes["@mozilla.org/widget/clipboard;1"].
                 getService(Components.interfaces.nsIClipboard);
    	if (!clip) return false;
    
    
    	var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    	if (!trans) return false;
    		trans.addDataFlavor("text/unicode");
    
    
    	clip.getData(trans,clip.kGlobalClipboard);
    
    
    	var str = new Object();
    	var strLength = new Object();
    
    
    	try{
    		trans.getTransferData("text/unicode",str,strLength);
    	}
    	catch(e){	
    		return false;
    	}
    	if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    	if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    	return pastetext;
    }
    
    
    function autocopy_setClipboardContents(copytext)
    {	
    	try{
    		var str = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!str) return false;
    		str.data = copytext;
    
    
    		var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    		if (!trans) return false;
    
    
    
    
    		trans.addDataFlavor("text/unicode");
    		trans.setTransferData("text/unicode",str,copytext.length * 2);
    
    
    		var clipid = Components.interfaces.nsIClipboard;
    		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    		if (!clip) return false;
    
    
    		clip.setData(trans,null,clipid.kGlobalClipboard);
    		return true;
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    function autocopy_setClipboardContentsHtml(copyhtml, copytext)
    {	
    	try{
    		var strhtml = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!strhtml) return false;
    		strhtml.data = copyhtml;
    
    
    		var str = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!str) return false;
    		str.data = copytext;
    
    
    		var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    		if (!trans) return false;
    
    
    		trans.addDataFlavor("text/html");
    		trans.setTransferData("text/html",strhtml,copyhtml.length * 2);
    
    
    		trans.addDataFlavor("text/unicode");
    		trans.setTransferData("text/unicode",str,copytext.length * 2);
    
    
    
    
    		var clipid = Components.interfaces.nsIClipboard;
    		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    		if (!clip) return false;
    
    
    		clip.setData(trans,null,clipid.kGlobalClipboard);
    
    
    		autocopy_saveclipboard()
    
    
    		return true;
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    
    
    function autocopy_saveclipboard()
    {
    	var clip = Components.classes["@mozilla.org/widget/clipboard;1"].
                 getService(Components.interfaces.nsIClipboard);
    	if (!clip) return false;
    
    
    	var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    	if (!trans) return false;
    
    
    	var importflavors = trans.flavorsTransferableCanImport();	
    	var exportflavors = trans.flavorsTransferableCanExport();	
    
    
    	trans.addDataFlavor("text/unicode");
    
    
    	clip.getData(trans,clip.kGlobalClipboard);
    
    
    	var dataType = new Object();
    	var data = new Object();
    	var dataLength = new Object();
    
    
    	try{
    		trans.getAnyTransferData(dataType, data, dataLength);
    	}
    	catch(e){	
    		return false;
    	}
    
    
    	var autocopy_clipboardcontents = new AutocopyClipboardContents(dataType, data, dataLength);
    	gautocopy_clipboardcontents.unshift(autocopy_clipboardcontents); //adds to the begining of array
    	if(gautocopy_clipboardcontents.length > 10 + 1)  
    	{
    		gautocopy_clipboardcontents.pop();  //remove last one if length to long
    	}
    
    
    	return true;
    
    
    }
    
    
    function autocopy_replaceoldclipboard(aIndex)
    {
    	try
    	{
    		if(gautocopy_clipboardcontents[aIndex])
    		{
    
    
    			if(autocopy_saveclipboard())
    			{
    				aIndex = aIndex + 1;
    
    
    				var trans = Components.classes["@mozilla.org/widget/transferable;1"].
        			          createInstance(Components.interfaces.nsITransferable);
    				if (!trans) return false;
    
    
    				trans.addDataFlavor(gautocopy_clipboardcontents[aIndex].dataType);
    				trans.setTransferData(gautocopy_clipboardcontents[aIndex].dataType.value, gautocopy_clipboardcontents[aIndex].data.value, gautocopy_clipboardcontents[aIndex].dataLength.value);
    
    
    				var clipid = Components.interfaces.nsIClipboard;
    				var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    				if (!clip) return false;
    
    
    				clip.setData(trans,null,clipid.kGlobalClipboard);
    
    				if(aIndex > 1)
    				{
    					//move selected clipboardcontents to the begining of the clipboard array
    					var autocopy_clipboardcontents = gautocopy_clipboardcontents[aIndex];
    					gautocopy_clipboardcontents.splice(aIndex,1);
    				}
    				return true;
    			}
    			else
    			{	
    				return false;
    			}
    		}
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    function autocopy_pastetolocationbar()
    {
    	var str = autocopy_getClipboardContents();
    	if(str)
    	{
    		var urlbar = document.getElementById('urlbar');
    		urlbar.value = str;
    		urlbar.focus();
    	}
    }
    
    
    function autocopy_pastetosearchbar()
    {
    	var str = autocopy_getClipboardContents();
    	if(str)
    	{
    		var searchbar = document.getElementById('searchbar');
    		if(searchbar)
    		{
    			if(searchbar.textbox.value)
    			{
    				searchbar.textbox.focus();
    				searchbar.textbox.value = str;
    			}
    			if(searchbar.mTextbox.value)
    			{
    				searchbar.mTextbox.value = str;
    				searchbar.mTextbox.focus();
    			}
    		}
    	}
    
    
    }
    
    
    function autocopy_togglepasteonmiddleclick()
    {
    	PasteOnMiddleClickStatusbarOption =  document.getElementById('autocopy-statusbar-PasteOnMiddleClick');
    	if(PasteOnMiddleClickStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			autocopyPrefs.setBoolPref("optPasteOnMiddleClick", false);
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optPasteOnMiddleClick", true);
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleEnableInTextBoxes()
    {
    	EnableInTextBoxesStatusbarOption =  document.getElementById('autocopy-statusbar-EnableInTextBoxes');
    	if(EnableInTextBoxesStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    		{
    			autocopyPrefs.setBoolPref("optEnableInTextBoxes", false);
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optEnableInTextBoxes", true);
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleAutocopyContextMenu()
    {
    	AutocopyContextMenuStatusbarOption =  document.getElementById('autocopy-statusbar-AutocopyContextMenu');
    	if(AutocopyContextMenuStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optContextMenu"))
    		{
    			autocopyPrefs.setBoolPref("optContextMenu", false);
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optContextMenu", true);
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleStatusbarBlink()
    {
    	StatusbarBlinkStatusbarOption =  document.getElementById('autocopy-statusbar-StatusbarBlink');
    	if(StatusbarBlinkStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optStatusbarBlink"))
    		{
    			autocopyPrefs.setBoolPref("optStatusbarBlink", false);
    			StatusbarBlinkStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optStatusbarBlink", true);
    			StatusbarBlinkStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleDeselectAfterCopy()
    {
    	StatusbarDeselectAfterCopy =  document.getElementById('autocopy-statusbar-DeselectAfterCopy');
    	if(StatusbarDeselectAfterCopy)
    	{
    		if (autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    			StatusbarDeselectAfterCopy.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", true);
    			StatusbarDeselectAfterCopy.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_appendurltoclipboard() 
    {	
    	var clipboardcontents = autocopy_getClipboardContents();
    	if(clipboardcontents)
    	{
    		var copytext = clipboardcontents + "\r\n\r\n" + window.content.location.href;
    
    
    		var copyhtml = clipboardcontents + "\r\n <br><br>(From: <a href=\"" + window.content.location.href + "\">" + window.content.location.href + ")</a>";
    
    
    		autocopy_setClipboardContents(copytext);
    	}
    }
    
    
    function autocopy_timedhidemenu()
    {
    	window.clearTimeout(gautocopy_hidemenu_timer);
    	var timerinterval = autocopyPrefs.getIntPref("optContextMenuHideTimeout");
    	if(timerinterval > 0)
    	{
    		//if timer interval option is less then or equal to zero then don't timer hide the menu
    		gautocopy_hidemenu_timer = setTimeout("autocopy_hide_contextMenu();", timerinterval, 0); 
    	}
    }
    
    
    function autocopy_canceltimedhidemenu()
    {
    	window.clearTimeout(gautocopy_hidemenu_timer);
    }
    function autocopy_hide_contextMenu()
    {
    	document.getElementById('autocopy-context-menupopup-clipboards').hidePopup();
    	document.getElementById('autocopy-context-menu').hidePopup();
    }
    
    
    function autocopy_contextmenu_onpopupshowing(e)
    {
        	var strings = document.getElementById("autocopyStrings");
    	var localizedstringSearchFor = strings.getString("autocopy-context-menu-searchfor");
    	var searchformenuitem = document.getElementById('autocopy-context-menu-searchforselection');
    	if(searchformenuitem)
    	{
    		var SelectionText = autocopy_getSelection();
    		if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    		{
    			SelectionText = gautocopy_lastSelection;
    		}
    		if(SelectionText)
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' "' + SelectionText.substring(0,12) + '..."');
    		}
    		else
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' ');
    		}
    	}	
    
    
    } 
    
    
    function autocopy_context_onpopupshowing(e)
    {
        	var strings = document.getElementById("autocopyStrings");
    	var localizedstringSearchFor = strings.getString("autocopy-context-menu-searchfor");
    	var searchformenuitem = document.getElementById('autocopy-context-searchforselection');
    	if(searchformenuitem)
    	{
    		var SelectionText = autocopy_getSelection();
    		if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    		{
    			SelectionText = gautocopy_lastSelection;
    		}
    		if(SelectionText)
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' "' + SelectionText.substring(0,12) + '..."');
    		}
    		else
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' ');
    		}
    	}	
    
    
    } 
    
    
    
    
    function autocopy_context_menupopup_clipboards_onpopupshowing()
    {
    	var clipboardsmenupopup = document.getElementById('autocopy-context-menupopup-clipboards');
    
    
    	//remove all menuitems
    	while(clipboardsmenupopup.childNodes.length > 0)
    	{
    		clipboardsmenupopup.removeChild(clipboardsmenupopup.childNodes[0]);
    	}
    
    
    	if(gautocopy_clipboardcontents.length > 0)
    	{
    		for(var x = 0; x < gautocopy_clipboardcontents.length & x < 10; x++)
    		{
    			var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
    			if (!trans) return false;
    
    			trans.addDataFlavor(gautocopy_clipboardcontents[x].dataType.value);
    			trans.setTransferData(gautocopy_clipboardcontents[x].dataType.value, gautocopy_clipboardcontents[x].data.value, gautocopy_clipboardcontents[x].dataLength.value);
    
    
    			var str = new Object();
    			var strLength = new Object();
    
    
    			try{
    				trans.getTransferData(gautocopy_clipboardcontents[x].dataType.value,str,strLength);
    			}
    			catch(e){	
    				return false;
    			}
    			if(gautocopy_clipboardcontents[x].dataType.value == "text/unicode")
    			{
    				if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    				if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    
    				var item = document.createElement('menuitem');
    				item.setAttribute('oncommand', "autocopy_replaceoldclipboard(" + x + ");");
    				item.setAttribute('label', pastetext.substring(0,24));
    				clipboardsmenupopup.appendChild(item);
    			}
    		}
    	}
    } 
    
    
    
    
    function autocopy_context_menupopup_clipboards2_onpopupshowing()
    {
    	var clipboardsmenupopup = document.getElementById('autocopy-context-menupopup-clipboards2');
    
    
    	//remove all menuitems
    	while(clipboardsmenupopup.childNodes.length > 0)
    	{
    		clipboardsmenupopup.removeChild(clipboardsmenupopup.childNodes[0]);
    	}
    
    
    	if(gautocopy_clipboardcontents.length > 0)
    	{
    		for(var x = 0; x < gautocopy_clipboardcontents.length & x < 10; x++)
    		{
    			var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
    			if (!trans) return false;
    
    			trans.addDataFlavor(gautocopy_clipboardcontents[x].dataType.value);
    			trans.setTransferData(gautocopy_clipboardcontents[x].dataType.value, gautocopy_clipboardcontents[x].data.value, gautocopy_clipboardcontents[x].dataLength.value);
    
    
    			var str = new Object();
    			var strLength = new Object();
    
    
    			try{
    				trans.getTransferData(gautocopy_clipboardcontents[x].dataType.value,str,strLength);
    			}
    			catch(e){	
    				return false;
    			}
    			if(gautocopy_clipboardcontents[x].dataType.value == "text/unicode")
    			{
    				if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    				if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    
    				var item = document.createElement('menuitem');
    				item.setAttribute('oncommand', "autocopy_replaceoldclipboard(" + x + ");");
    				item.setAttribute('label', pastetext.substring(0,24));
    				clipboardsmenupopup.appendChild(item);
    			}
    		}
    	}
    } 
    
    
    
    
    
    
    function autocopy_searchforselection()
    {
    	var SelectionText = autocopy_getSelection();
    	if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    	{
    		SelectionText = gautocopy_lastSelection;
    	}
    	if(BrowserSearch)
    	{
    		BrowserSearch.loadSearch(SelectionText, true)
    	}
    	else
    	{
    		OpenSearch('internet', SelectionText, true);
    	}
    }
    
    
    function autocopy_openinnewtab()
    {
    	var SelectionText = autocopy_getSelection();
    	if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    	{
    		SelectionText = gautocopy_lastSelection;
    	}
    	window.gBrowser.addTab(SelectionText);
    }
    Alles anzeigen
  • userChrome.js Scripte für Fuchs 16 (Zusammenstellung) alt

    • loshombre
    • 29. Mai 2011 um 22:13

    Ja, schon klar. Es geht nur darum, dass der hier kopierte Javascript bei anderen auf einmal nicht funktionieren wollte, weil die Forumsoftware irgendwie das Format durcheinander brachte.
    Aber wir können es mal gerne versuchen:

    1. Auto Copy (Javascript):

    Code
    /* Auto Copy */
    
    
    var gautocopy_lastSelection = null;
    var gautocopy_hidemenu_timer = null;
    var gautocopy_clipboardcontents = new Array();
    var gautocopy_doPaste = false;
    
    
    window.addEventListener("load",function() {initAutoCopyStatus();} ,false);
    window.addEventListener("focus",function() {resetAutoCopyStatus();} ,false);
    
    
    window.addEventListener("mouseup", autocopyOnMouseUp ,false);
    window.addEventListener("keyup", autocopy_onKeyUpCheck ,false);
    
    
    //window.onmouseup = autocopyOnMouseUp;
    //window.onkeyup = autocopy_onKeyUpCheck;
    
    
    window.addEventListener("mousedown", Autocopy_Pasteonmiddleclick_mousedown ,false);
    window.addEventListener("mouseup", Autocopy_Pasteonmiddleclick_mouseup ,false);
    
    
    
    
    // prefs
    var autocopyPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("autocopy.");
    
    
    if (!autocopyPrefs.prefHasUserValue("StatusBarState"))
    	autocopyPrefs.setIntPref("StatusBarState", 1)
    
    
    
    
    
    
    
    
    function AutocopyClipboardContents(adataType, adata, adataLength)
    {
    	this.dataType = adataType;
    	this.data = adata;
    	this.dataLength = adataLength;
    }
    
    
    
    
    function autocopyContextHide(e) {
    
    
    	var cm = gContextMenu;
    	var AutocopyFirebirdcontextmenuitem = document.getElementById('autocopy-firebirdcontextmenuitem');
    
    
    	if(autocopyPrefs.getBoolPref("optContextMenuItem")){
    		AutocopyFirebirdcontextmenuitem.hidden = ( cm.onImage );
    		//|| cm.onLink || cm.onImage || cm.onTextInput );
    	}
    	else{
    	    AutocopyFirebirdcontextmenuitem.hidden = true;
    	}
    
    
    	if(AutocopyFirebirdcontextmenuitem.hidden)
    	{
    		document.getElementById('autocopy-firebirdcontextmenuitemseparator').hidden = true;
    	}
    	else
    	{
    		document.getElementById('autocopy-firebirdcontextmenuitemseparator').hidden = false;
    		autocopy_context_onpopupshowing(e);
    	}
    }
    
    
    
    
    function setAutoCopyStatus()
    {
    	if(autocopyPrefs.getBoolPref("optStatusBar")){
    		var autocopy = document.getElementById('autocopy-status');
    		var autocopystatusimage = document.getElementById('autocopy-status-image');
    		var tooltip = document.getElementById('autocopy-tooltip-value');
    
    
    		if(autocopy && autocopystatusimage)
    		{
    			autocopystatusimage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    		    	var strings = document.getElementById("autocopyStrings");
    			tooltip.setAttribute("value", strings.getString("statusbar-tooltip-enabled"));
    		}
    	}
    
    
    }
    
    
    
    
    
    
    function initAutoCopyStatus() 
    {
    	initPreferences();
    
    	document.getElementById("cmd_selectAll").setAttribute("oncommand", "goDoCommand('cmd_selectAll'); AutocopySelectAll();");
    
    
        	var strings = document.getElementById("autocopyStrings");
    
    
    	var autocopyLocalizationPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.{0FED7D55-65D4-47b6-A6DE-9A4ADB55355F}.");
    	var autocopylocaledescription = strings.getString("autocopy-description");
    	var str = Components.classes[ "@mozilla.org/supports-string;1" ].createInstance( Components.interfaces.nsISupportsString );
    	str.data = autocopylocaledescription;
    	autocopyLocalizationPrefs.setComplexValue( "description", Components.interfaces.nsISupportsString, str );
    
    
    
    	var autocopyStatusBarButtonPanel = document.getElementById('autocopy-statuspanel');
    	var autocopyStatusBarButton = document.getElementById('autocopy-status');
    	var autocopyStatusBarButtonImage = document.getElementById('autocopy-status-image');
    	var autocopyStatusBarButtonTooltip = document.getElementById('autocopy-tooltip-value');
    	if(autocopyStatusBarButton && autocopyStatusBarButtonImage)
    	{
    
    
    		if(autocopyPrefs.getBoolPref("optStatusBar")){
            	    if(autocopyStatusBarButtonPanel.collapsed)
    		    {
            	    	   autocopyStatusBarButtonPanel.collapsed = false;
    		    }
            	}
            	else{
            	    if(!autocopyStatusBarButtonPanel.collapsed)
    		    {
            	    	   autocopyStatusBarButtonPanel.collapsed = true;
    		    }
            	}
    
    
    
    		if (autocopyPrefs.getIntPref("StatusBarState") == 0)
    	        {
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    		                 autocopyStatusBarButton.setAttribute("status", "disabled");
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyDisabled.png");
    	        	         autocopyStatusBarButtonTooltip.setAttribute("value", strings.getString("statusbar-tooltip-disabled"));
    	        	 }
    		}
    		else
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    	                 	autocopyStatusBarButton.setAttribute("status", "enabled");
    				autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    	                 	autocopyStatusBarButtonTooltip.setAttribute("value", strings.getString("statusbar-tooltip-enabled"));
    			 }
    		}
    
    
    	}
    
    
    
    
    
    
    
    
    	var AutocopyFirebirdmenuitem = document.getElementById('autocopy-firebirdmenuitem');
    	var AutocopyFirebirdmenuitemseparator = document.getElementById('autocopy-firebirdmenuitemseparator');
    	if(AutocopyFirebirdmenuitem)
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") == 0)
    	        {
    	                 AutocopyFirebirdmenuitem.setAttribute("checked", false);
    		}
    		else
    		{
    	                 AutocopyFirebirdmenuitem.setAttribute("checked", true);
    		}
    
    
    	        if(autocopyPrefs.getBoolPref("optEditMenuItem")){
    		    AutocopyFirebirdmenuitemseparator.setAttribute("hidden", false);
    	            AutocopyFirebirdmenuitem.setAttribute("hidden", false);
    	        }
    	        else{
    		    AutocopyFirebirdmenuitemseparator.setAttribute("hidden", true);
    	            AutocopyFirebirdmenuitem.setAttribute("hidden", true);
    	        }
    	}
    
    
    	var AutocopyFirebirdcontextmenuitem = document.getElementById('autocopy-firebirdcontextmenuitem');
    	if(AutocopyFirebirdcontextmenuitem)
    	{
    
    		if(document.getElementById("contentAreaContextMenu"))
    		{
    			document.getElementById("contentAreaContextMenu").addEventListener("popupshowing",autocopyContextHide,false);
    	        }	
    	}
    
    
    
    
    	var Autocopykeytoggleautocopyenabled = null;
    	if(document.getElementById('firebirdkey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('firebirdkey-toggle-autocopyenabled');
    	if(document.getElementById('mozillakey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('mozillakey-toggle-autocopyenabled');
    	if(document.getElementById('thunderbirdkey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('thunderbirdkey-toggle-autocopyenabled');
    
    
    	if(Autocopykeytoggleautocopyenabled)
    	{
    	        if(autocopyPrefs.getBoolPref("optKeyboardShortcutEnabled")){
    
    	            var optModifiers = "";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyAccel"))
    	                optModifiers = optModifiers + ",accel";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyMeta"))
    	                optModifiers = optModifiers + ",meta";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyCtrl"))
    	                optModifiers = optModifiers + ",control";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyShift"))
    	                optModifiers = optModifiers + ",shift";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyAlt"))
    	                optModifiers = optModifiers + ",alt";
    
    	            optModifiers.replace(/^\,/,"");
    
    	            var optKey = autocopyPrefs.getCharPref("optKeyboardShortcutKey");
    	            if(optKey.match(/^[A-Z]$/i)){
    	                Autocopykeytoggleautocopyenabled.setAttribute("key", optKey);
    	                Autocopykeytoggleautocopyenabled.setAttribute("keycode", "");
    	            }
    	            else{
    	                Autocopykeytoggleautocopyenabled.setAttribute("key", "");
    	                Autocopykeytoggleautocopyenabled.setAttribute("keycode", optKey);
    	            }
    
    	            Autocopykeytoggleautocopyenabled.setAttribute("modifiers", optModifiers);
    	            Autocopykeytoggleautocopyenabled.setAttribute("disabled", false);
    	        }
    	        else{
    	            Autocopykeytoggleautocopyenabled.setAttribute("disabled", true);
    	        }
    	}
    
    
    
    
    	PasteOnMiddleClickStatusbarOption =  document.getElementById('autocopy-statusbar-PasteOnMiddleClick');
    	if(PasteOnMiddleClickStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	EnableInTextBoxesStatusbarOption =  document.getElementById('autocopy-statusbar-EnableInTextBoxes');
    	if(EnableInTextBoxesStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    		{
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	AutocopyContextMenuStatusbarOption =  document.getElementById('autocopy-statusbar-AutocopyContextMenu');
    	if(AutocopyContextMenuStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optContextMenu"))
    		{
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	StatusbarBlinkStatusbarOption =  document.getElementById('autocopy-statusbar-StatusbarBlink');
    	if(StatusbarBlinkStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optStatusbarBlink"))
    		{
    			StatusbarBlinkStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			StatusbarBlinkStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	StatusbarDeselectAfterCopy =  document.getElementById('autocopy-statusbar-DeselectAfterCopy');
    	if(StatusbarDeselectAfterCopy)
    	{
    		if (autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    		{
    			StatusbarDeselectAfterCopy.setAttribute("checked", true);
    		}
    		else
    		{
    			StatusbarDeselectAfterCopy.setAttribute("checked", false);
    		}
    	}
    
    
    
    
    
    
    
    
    }
    
    
    /////////////////
    //
    //window.addEventListener("load",function() {AutoCopyCopyOnLoad();} ,true);
    //
    //function AutoCopyCopyOnLoad()
    //{
    //////////////////
    //goDoCommand('cmd_selectAll');
    //AutocopySelectAll();
    //Autocopy_DeselectAfterCopy_CollapseSelection()
    //}
    /////////////////
    
    
    function resetAutoCopyStatus()
    {
        initAutoCopyStatus()
    }
    
    
    
    
    function initPreferences(){
    
    
    	if (!autocopyPrefs.prefHasUserValue("StatusBarState"))
    		autocopyPrefs.setIntPref("StatusBarState", 1)
    
    
    	if (!autocopyPrefs.prefHasUserValue("optPasteOnMiddleClick"))
    		autocopyPrefs.setBoolPref("optPasteOnMiddleClick", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optDeselectAfterCopy"))
    	{
    		if(navigator.vendor.match(/Thunderbird/i))
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    		}
    	}
    
    
    
    
    	if (!autocopyPrefs.prefHasUserValue("optCopyWithoutFormating"))
    		autocopyPrefs.setBoolPref("optCopyWithoutFormating", false);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optStatusBar"))
    		autocopyPrefs.setBoolPref("optStatusBar", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optStatusbarBlink"))
    		autocopyPrefs.setBoolPref("optStatusbarBlink", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optContextMenu"))
    		autocopyPrefs.setBoolPref("optContextMenu", false);
    
    
    
    
    	if (!autocopyPrefs.prefHasUserValue("optContextMenuHideTimeout"))
    		autocopyPrefs.setIntPref("optContextMenuHideTimeout", 2000);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optEditMenuItem"))
    		autocopyPrefs.setBoolPref("optEditMenuItem", false);
    	if (!autocopyPrefs.prefHasUserValue("optContextMenuItem"))
    		autocopyPrefs.setBoolPref("optContextMenuItem", true);
    	if (!autocopyPrefs.prefHasUserValue("optEnableInTextBoxes"))
    		autocopyPrefs.setBoolPref("optEnableInTextBoxes", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutEnabled"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutEnabled", false);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyAccel"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyAccel", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyMeta"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyMeta", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyCtrl"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyCtrl", true);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyShift"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyShift", true);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyAlt"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyAlt", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKey"))
    		autocopyPrefs.setCharPref("optKeyboardShortcutKey", "C");
    }
    
    
    
    
    
    
    
    
    function switchautocopystatusstate()
    {
            if (autocopyPrefs.getIntPref("StatusBarState") == 0)
            {
    		autocopyPrefs.setIntPref("StatusBarState", 1);
            }
            else
            {
    		autocopyPrefs.setIntPref("StatusBarState", 0);
            }
            initAutoCopyStatus();
    }
    
    
    function autocopy_onKeyUpCheck(e)
    {
    	if(e.keyCode == e.DOM_VK_A && e.ctrlKey)
    	{
    		autocopyOnMouseUp(e);
    	}
    }
    
    
    
    
    function autocopyOnMouseUp(e)
    {
       if ((!e.ctrlKey) || (e.keyCode))
       {
    	var targetclassname = e.target.toString();
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if(!targetclassname.match(/SelectElement|OptionElement/i))
    		{
    			if(!Autocopy_isTargetEditable(e.target))
    			{
    				if (!targetclassname.match(/object XUL/i))
    				{
    
    
    					if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    					{
    						//were going to copy
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							copyplaintext();
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    							var x = e.screenX;
    							var y = e.screenY;
    							if(x == 0 && y == 0)
    							{
    								document.popupNode = document.documentElement;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    								autocopy_timedhidemenu(); 
    							}
    							else
    							{
    								document.popupNode = null;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, x, y, "context");
    								autocopy_timedhidemenu(); 
    							}
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    			}
    			else if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    			{
    				if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    				{
    					//were going to copy
    					gautocopy_lastSelection = autocopy_getSelection();
    					autocopy_saveclipboard();
    					if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    					{
    						//copyplaintext dosn't work in textboxes
    						//copyplaintext();
    						goDoCommand('cmd_copy');
    					}
    					else
    					{
    						goDoCommand('cmd_copy');
    					}
    					if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    					{
    						AutocopyBlinkStatusbarButton(3);
    					}
    					if (autocopyPrefs.getBoolPref("optContextMenu"))
    					{
    						var x = e.screenX;
    						var y = e.screenY;
    						if(x == 0 && y == 0)
    						{
    							document.popupNode = document.documentElement;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    							autocopy_timedhidemenu(); 
    						}
    						else
    						{
    							document.popupNode = null;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, x, y, "context");
    							autocopy_timedhidemenu(); 
    						}
    					}
    					if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    					{
    						Autocopy_DeselectAfterCopy();
    					}
    				}
    			}
    		}
       	}
       }
    }
    
    
    
    
    function AutocopySelectAll()
    {
    	var targetclassname = "";
    	if(document.commandDispatcher.focusedElement)
    	{	
    		targetclassname = document.commandDispatcher.focusedElement.toString();
    	}
    
    
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    //		if (!targetclassname.match(/object XUL/i))
    //		{
    			if(!targetclassname.match(/SelectElement|OptionElement/i))
    			{
    				if(!Autocopy_isTargetEditableDispatcher(document.commandDispatcher))
    				{
    					if(autocopy_getSelection().length > 0)
    					{
    						//were going to copy
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							copyplaintext();
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    							document.popupNode = document.documentElement;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    							autocopy_timedhidemenu(); 
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    				else if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    				{
    					if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    					{
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							//copyplaintext dosn't work in textboxes
    							//copyplaintext();
    							goDoCommand('cmd_copy');
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    								document.popupNode = document.documentElement;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    								autocopy_timedhidemenu(); 
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    			}
    //		}
    	}
    }
    
    
    
    
    function Autocopy_Pasteonmiddleclick_mousedown(e)
    {
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if((!e.ctrlKey) && autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			if(e.button == 1)
    			{
    				gautocopy_doPaste = false;	
    
    
    				if(e.target.inputField)
    				{
    					if(e.target.inputField.toString().match(/InputElement|TextAreaElement/i))
    					{
    						gautocopy_doPaste = true;
    					}
    				}	
    				if(e.target.mTextbox)
    				{
    					if(e.target.mTextbox.inputField)
    					{
    						if(e.target.mTextbox.inputField.toString().match(/InputElement|TextAreaElement/i))
    						{
    							gautocopy_doPaste = true;
    						}
    					}
    				}
    				if(Autocopy_isTargetEditable(e.target))
    				{
    					gautocopy_doPaste = true;
    				}
    
    				if(gautocopy_doPaste)
    				{
    					if (getBrowser().mCurrentBrowser.autoscrollEnabled) 
    					{
    						getBrowser().mCurrentBrowser._autoScrollPopup.hidePopup();
    						getBrowser().mCurrentBrowser.stopScroll();
    					}
    				}
    			}
    		}
    	}	
    }
    function Autocopy_Pasteonmiddleclick_mouseup(e)
    {
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if((!e.ctrlKey) && autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			if(e.button == 1)
    			{
    				if(gautocopy_doPaste)
    				{
    					goDoCommand('cmd_paste');
    					if (getBrowser().mCurrentBrowser.autoscrollEnabled) 
    					{
    						getBrowser().mCurrentBrowser._autoScrollPopup.hidePopup();
    						getBrowser().mCurrentBrowser.stopScroll();
    					}
    				}
    			}
    		}
    	}	
    }
    
    
    
    
    
    
    
    
    function Autocopy_isTargetEditable(target)
    {
    if(target)
    {
      if(target.toString().match(/InputElement|TextAreaElement/i))
      {
        return true;
      }
    
    
      if(target.textbox)
      {
        return true;
      }
    
    
      if(target.ownerDocument)
      {
        if(target.ownerDocument.designMode)
        {
          if(target.ownerDocument.designMode.match(/on/i))
          {
            return true;
          }
        }
      }
    }
    return false;
    }
    
    
    
    
    
    
    
    
    function Autocopy_isTargetEditableDispatcher(commandDispatcher)
    {
    
    
    	
    	if(commandDispatcher.focusedElement)
    	{
    		if(commandDispatcher.focusedElement.toString().match(/InputElement|TextAreaElement/i))
    		{
    			return true;
    		}
    	}
    	else
    	{
    		if(commandDispatcher.focusedWindow.document.designMode)
    		{
    			if(commandDispatcher.focusedWindow.document.designMode.match(/on/i))
    			{
    				return true;
    			}
    		}
    	}
    
    
    	return false;
    }
    
    
    function Autocopy_DeselectAfterCopy()
    {
    
    
    	if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    	{
    		var focusedElement = document.commandDispatcher.focusedElement;
    		if(focusedElement)
    		{
    			SelectionLength = focusedElement.selectionEnd - focusedElement.selectionStart;
    			Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection_TextBox, 25, SelectionLength); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection_TextBox, 50); 
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection_TextBox, 75, SelectionLength); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection_TextBox, 100); 	
    		}
    		else
    		{
    			var focusedWindow = document.commandDispatcher.focusedWindow;
    			try
    			{
    				var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    				var Selection = winWrapper.getSelection();
    			}
    			catch(e)
    			{
    				var Selection = focusedWindow.getSelection();
    			}
    			var SelectionfocusNode = Selection.focusNode;
    			var SelectionfocusOffset = Selection.focusOffset;
    			Autocopy_DeselectAfterCopy_CollapseSelection()
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection, 25, SelectionfocusNode, SelectionfocusOffset); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection, 50); 
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection, 75, SelectionfocusNode, SelectionfocusOffset); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection, 100); 	
    		}
    	}
    	else
    	{	
    		var focusedElement = document.commandDispatcher.focusedElement;
    		if(focusedElement)
    		{		
    			Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    		}
    		else
    		{
    			goDoCommand('cmd_selectNone');
    		}
    	}
    }
    function Autocopy_DeselectAfterCopy_ExtendSelection_TextBox(SelectionLength)
    {
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement)
    	{
    		focusedElement.selectionEnd = focusedElement.selectionStart + SelectionLength;
    	}
    }
    function Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    {
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement)
    	{
    		focusedElement.selectionEnd = focusedElement.selectionStart;
    	}
    }
    function Autocopy_DeselectAfterCopy_ExtendSelection(SelectionfocusNode, SelectionfocusOffset)
    {
    	var focusedWindow = document.commandDispatcher.focusedWindow;
    	try
    	{
    		var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    		var Selection = winWrapper.getSelection();
    	}
    	catch(e)
    	{
    		var Selection = focusedWindow.getSelection();
    	}
    	Selection.extend(SelectionfocusNode, SelectionfocusOffset);
    }
    function Autocopy_DeselectAfterCopy_CollapseSelection()
    {
    	var focusedWindow = document.commandDispatcher.focusedWindow;
    	try
    	{
    		var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    		var Selection = winWrapper.getSelection();
    	}
    	catch(e)
    	{
    		var Selection = focusedWindow.getSelection();
    	}
    	var SelectionanchorNode = Selection.anchorNode;
    	var SelectionanchorOffset = Selection.anchorOffset;
    	Selection.collapse(SelectionanchorNode, SelectionanchorOffset);
    }
    
    
    
    
    
    
    function AutocopyBlinkStatusbarButton(numberofblinks)
    {
    	setTimeout(AutocopyBlinkStatusbarButton, 5000, 0); //resets in 5 seconds just incase
    
    
    	var autocopyStatusBarButton = document.getElementById('autocopy-status');
    	var autocopyStatusBarButtonImage = document.getElementById('autocopy-status-image');
    	var autocopyStatusBarButtonTooltip = document.getElementById('autocopy-tooltip-value');
    	if (numberofblinks > 0)
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") != 0)
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    				if(autocopyStatusBarButtonImage.getAttribute("src") == "chrome://autocopy/skin/AutoCopyEnabled.png")
    				{
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyBlank.png");
    				}
    				else
    				{
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    				}
    				numberofblinks = numberofblinks - 1;
    		     		setTimeout(AutocopyBlinkStatusbarButton, 300, numberofblinks);
    			 }
    		}
    	}
    	else
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") != 0)
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    				autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    			 }
    		}
    	}
    }
    
    
    
    
    function autocopy_getSelection() 
    {
    	var SelectionText = "";
    	var trywindow = false;
    
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement && null != focusedElement)
    	{
    		try
    		{
    			SelectionText = focusedElement.value.substring(focusedElement.selectionStart, focusedElement.selectionEnd);
    		}
    		catch(e)
    		{
    			trywindow = true;
    		}
    	}
    	else
    	{
    		trywindow = true;
    	}
    
    	if(trywindow)
    	{
    		var focusedWindow = document.commandDispatcher.focusedWindow;
    		try
    		{
    			var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    			var Selection = winWrapper.getSelection();
    		}
    		catch(e)
    		{
    			var Selection = focusedWindow.getSelection();
    		}
    		SelectionText = Selection.toString();
    
    
    	}
    	return SelectionText;
    }
    
    
    function autocopy_getClipboardContents()
    {
    	var clip = Components.classes["@mozilla.org/widget/clipboard;1"].
                 getService(Components.interfaces.nsIClipboard);
    	if (!clip) return false;
    
    
    	var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    	if (!trans) return false;
    		trans.addDataFlavor("text/unicode");
    
    
    	clip.getData(trans,clip.kGlobalClipboard);
    
    
    	var str = new Object();
    	var strLength = new Object();
    
    
    	try{
    		trans.getTransferData("text/unicode",str,strLength);
    	}
    	catch(e){	
    		return false;
    	}
    	if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    	if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    	return pastetext;
    }
    
    
    function autocopy_setClipboardContents(copytext)
    {	
    	try{
    		var str = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!str) return false;
    		str.data = copytext;
    
    
    		var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    		if (!trans) return false;
    
    
    
    
    		trans.addDataFlavor("text/unicode");
    		trans.setTransferData("text/unicode",str,copytext.length * 2);
    
    
    		var clipid = Components.interfaces.nsIClipboard;
    		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    		if (!clip) return false;
    
    
    		clip.setData(trans,null,clipid.kGlobalClipboard);
    		return true;
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    function autocopy_setClipboardContentsHtml(copyhtml, copytext)
    {	
    	try{
    		var strhtml = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!strhtml) return false;
    		strhtml.data = copyhtml;
    
    
    		var str = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!str) return false;
    		str.data = copytext;
    
    
    		var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    		if (!trans) return false;
    
    
    		trans.addDataFlavor("text/html");
    		trans.setTransferData("text/html",strhtml,copyhtml.length * 2);
    
    
    		trans.addDataFlavor("text/unicode");
    		trans.setTransferData("text/unicode",str,copytext.length * 2);
    
    
    
    
    		var clipid = Components.interfaces.nsIClipboard;
    		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    		if (!clip) return false;
    
    
    		clip.setData(trans,null,clipid.kGlobalClipboard);
    
    
    		autocopy_saveclipboard()
    
    
    		return true;
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    
    
    function autocopy_saveclipboard()
    {
    	var clip = Components.classes["@mozilla.org/widget/clipboard;1"].
                 getService(Components.interfaces.nsIClipboard);
    	if (!clip) return false;
    
    
    	var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    	if (!trans) return false;
    
    
    	var importflavors = trans.flavorsTransferableCanImport();	
    	var exportflavors = trans.flavorsTransferableCanExport();	
    
    
    	trans.addDataFlavor("text/unicode");
    
    
    	clip.getData(trans,clip.kGlobalClipboard);
    
    
    	var dataType = new Object();
    	var data = new Object();
    	var dataLength = new Object();
    
    
    	try{
    		trans.getAnyTransferData(dataType, data, dataLength);
    	}
    	catch(e){	
    		return false;
    	}
    
    
    	var autocopy_clipboardcontents = new AutocopyClipboardContents(dataType, data, dataLength);
    	gautocopy_clipboardcontents.unshift(autocopy_clipboardcontents); //adds to the begining of array
    	if(gautocopy_clipboardcontents.length > 10 + 1)  
    	{
    		gautocopy_clipboardcontents.pop();  //remove last one if length to long
    	}
    
    
    	return true;
    
    
    }
    
    
    function autocopy_replaceoldclipboard(aIndex)
    {
    	try
    	{
    		if(gautocopy_clipboardcontents[aIndex])
    		{
    
    
    			if(autocopy_saveclipboard())
    			{
    				aIndex = aIndex + 1;
    
    
    				var trans = Components.classes["@mozilla.org/widget/transferable;1"].
        			          createInstance(Components.interfaces.nsITransferable);
    				if (!trans) return false;
    
    
    				trans.addDataFlavor(gautocopy_clipboardcontents[aIndex].dataType);
    				trans.setTransferData(gautocopy_clipboardcontents[aIndex].dataType.value, gautocopy_clipboardcontents[aIndex].data.value, gautocopy_clipboardcontents[aIndex].dataLength.value);
    
    
    				var clipid = Components.interfaces.nsIClipboard;
    				var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    				if (!clip) return false;
    
    
    				clip.setData(trans,null,clipid.kGlobalClipboard);
    
    				if(aIndex > 1)
    				{
    					//move selected clipboardcontents to the begining of the clipboard array
    					var autocopy_clipboardcontents = gautocopy_clipboardcontents[aIndex];
    					gautocopy_clipboardcontents.splice(aIndex,1);
    				}
    				return true;
    			}
    			else
    			{	
    				return false;
    			}
    		}
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    function autocopy_pastetolocationbar()
    {
    	var str = autocopy_getClipboardContents();
    	if(str)
    	{
    		var urlbar = document.getElementById('urlbar');
    		urlbar.value = str;
    		urlbar.focus();
    	}
    }
    
    
    function autocopy_pastetosearchbar()
    {
    	var str = autocopy_getClipboardContents();
    	if(str)
    	{
    		var searchbar = document.getElementById('searchbar');
    		if(searchbar)
    		{
    			if(searchbar.textbox.value)
    			{
    				searchbar.textbox.focus();
    				searchbar.textbox.value = str;
    			}
    			if(searchbar.mTextbox.value)
    			{
    				searchbar.mTextbox.value = str;
    				searchbar.mTextbox.focus();
    			}
    		}
    	}
    
    
    }
    
    
    function autocopy_togglepasteonmiddleclick()
    {
    	PasteOnMiddleClickStatusbarOption =  document.getElementById('autocopy-statusbar-PasteOnMiddleClick');
    	if(PasteOnMiddleClickStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			autocopyPrefs.setBoolPref("optPasteOnMiddleClick", false);
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optPasteOnMiddleClick", true);
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleEnableInTextBoxes()
    {
    	EnableInTextBoxesStatusbarOption =  document.getElementById('autocopy-statusbar-EnableInTextBoxes');
    	if(EnableInTextBoxesStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    		{
    			autocopyPrefs.setBoolPref("optEnableInTextBoxes", false);
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optEnableInTextBoxes", true);
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleAutocopyContextMenu()
    {
    	AutocopyContextMenuStatusbarOption =  document.getElementById('autocopy-statusbar-AutocopyContextMenu');
    	if(AutocopyContextMenuStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optContextMenu"))
    		{
    			autocopyPrefs.setBoolPref("optContextMenu", false);
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optContextMenu", true);
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleStatusbarBlink()
    {
    	StatusbarBlinkStatusbarOption =  document.getElementById('autocopy-statusbar-StatusbarBlink');
    	if(StatusbarBlinkStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optStatusbarBlink"))
    		{
    			autocopyPrefs.setBoolPref("optStatusbarBlink", false);
    			StatusbarBlinkStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optStatusbarBlink", true);
    			StatusbarBlinkStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleDeselectAfterCopy()
    {
    	StatusbarDeselectAfterCopy =  document.getElementById('autocopy-statusbar-DeselectAfterCopy');
    	if(StatusbarDeselectAfterCopy)
    	{
    		if (autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    			StatusbarDeselectAfterCopy.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", true);
    			StatusbarDeselectAfterCopy.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_appendurltoclipboard() 
    {	
    	var clipboardcontents = autocopy_getClipboardContents();
    	if(clipboardcontents)
    	{
    		var copytext = clipboardcontents + "\r\n\r\n" + window.content.location.href;
    
    
    		var copyhtml = clipboardcontents + "\r\n <br><br>(From: <a href=\"" + window.content.location.href + "\">" + window.content.location.href + ")</a>";
    
    
    		autocopy_setClipboardContents(copytext);
    	}
    }
    
    
    function autocopy_timedhidemenu()
    {
    	window.clearTimeout(gautocopy_hidemenu_timer);
    	var timerinterval = autocopyPrefs.getIntPref("optContextMenuHideTimeout");
    	if(timerinterval > 0)
    	{
    		//if timer interval option is less then or equal to zero then don't timer hide the menu
    		gautocopy_hidemenu_timer = setTimeout("autocopy_hide_contextMenu();", timerinterval, 0); 
    	}
    }
    
    
    function autocopy_canceltimedhidemenu()
    {
    	window.clearTimeout(gautocopy_hidemenu_timer);
    }
    function autocopy_hide_contextMenu()
    {
    	document.getElementById('autocopy-context-menupopup-clipboards').hidePopup();
    	document.getElementById('autocopy-context-menu').hidePopup();
    }
    
    
    function autocopy_contextmenu_onpopupshowing(e)
    {
        	var strings = document.getElementById("autocopyStrings");
    	var localizedstringSearchFor = strings.getString("autocopy-context-menu-searchfor");
    	var searchformenuitem = document.getElementById('autocopy-context-menu-searchforselection');
    	if(searchformenuitem)
    	{
    		var SelectionText = autocopy_getSelection();
    		if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    		{
    			SelectionText = gautocopy_lastSelection;
    		}
    		if(SelectionText)
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' "' + SelectionText.substring(0,12) + '..."');
    		}
    		else
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' ');
    		}
    	}	
    
    
    } 
    
    
    function autocopy_context_onpopupshowing(e)
    {
        	var strings = document.getElementById("autocopyStrings");
    	var localizedstringSearchFor = strings.getString("autocopy-context-menu-searchfor");
    	var searchformenuitem = document.getElementById('autocopy-context-searchforselection');
    	if(searchformenuitem)
    	{
    		var SelectionText = autocopy_getSelection();
    		if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    		{
    			SelectionText = gautocopy_lastSelection;
    		}
    		if(SelectionText)
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' "' + SelectionText.substring(0,12) + '..."');
    		}
    		else
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' ');
    		}
    	}	
    
    
    } 
    
    
    
    
    function autocopy_context_menupopup_clipboards_onpopupshowing()
    {
    	var clipboardsmenupopup = document.getElementById('autocopy-context-menupopup-clipboards');
    
    
    	//remove all menuitems
    	while(clipboardsmenupopup.childNodes.length > 0)
    	{
    		clipboardsmenupopup.removeChild(clipboardsmenupopup.childNodes[0]);
    	}
    
    
    	if(gautocopy_clipboardcontents.length > 0)
    	{
    		for(var x = 0; x < gautocopy_clipboardcontents.length & x < 10; x++)
    		{
    			var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
    			if (!trans) return false;
    
    			trans.addDataFlavor(gautocopy_clipboardcontents[x].dataType.value);
    			trans.setTransferData(gautocopy_clipboardcontents[x].dataType.value, gautocopy_clipboardcontents[x].data.value, gautocopy_clipboardcontents[x].dataLength.value);
    
    
    			var str = new Object();
    			var strLength = new Object();
    
    
    			try{
    				trans.getTransferData(gautocopy_clipboardcontents[x].dataType.value,str,strLength);
    			}
    			catch(e){	
    				return false;
    			}
    			if(gautocopy_clipboardcontents[x].dataType.value == "text/unicode")
    			{
    				if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    				if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    
    				var item = document.createElement('menuitem');
    				item.setAttribute('oncommand', "autocopy_replaceoldclipboard(" + x + ");");
    				item.setAttribute('label', pastetext.substring(0,24));
    				clipboardsmenupopup.appendChild(item);
    			}
    		}
    	}
    } 
    
    
    
    
    function autocopy_context_menupopup_clipboards2_onpopupshowing()
    {
    	var clipboardsmenupopup = document.getElementById('autocopy-context-menupopup-clipboards2');
    
    
    	//remove all menuitems
    	while(clipboardsmenupopup.childNodes.length > 0)
    	{
    		clipboardsmenupopup.removeChild(clipboardsmenupopup.childNodes[0]);
    	}
    
    
    	if(gautocopy_clipboardcontents.length > 0)
    	{
    		for(var x = 0; x < gautocopy_clipboardcontents.length & x < 10; x++)
    		{
    			var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
    			if (!trans) return false;
    
    			trans.addDataFlavor(gautocopy_clipboardcontents[x].dataType.value);
    			trans.setTransferData(gautocopy_clipboardcontents[x].dataType.value, gautocopy_clipboardcontents[x].data.value, gautocopy_clipboardcontents[x].dataLength.value);
    
    
    			var str = new Object();
    			var strLength = new Object();
    
    
    			try{
    				trans.getTransferData(gautocopy_clipboardcontents[x].dataType.value,str,strLength);
    			}
    			catch(e){	
    				return false;
    			}
    			if(gautocopy_clipboardcontents[x].dataType.value == "text/unicode")
    			{
    				if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    				if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    
    				var item = document.createElement('menuitem');
    				item.setAttribute('oncommand', "autocopy_replaceoldclipboard(" + x + ");");
    				item.setAttribute('label', pastetext.substring(0,24));
    				clipboardsmenupopup.appendChild(item);
    			}
    		}
    	}
    } 
    
    
    
    
    
    
    function autocopy_searchforselection()
    {
    	var SelectionText = autocopy_getSelection();
    	if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    	{
    		SelectionText = gautocopy_lastSelection;
    	}
    	if(BrowserSearch)
    	{
    		BrowserSearch.loadSearch(SelectionText, true)
    	}
    	else
    	{
    		OpenSearch('internet', SelectionText, true);
    	}
    }
    
    
    function autocopy_openinnewtab()
    {
    	var SelectionText = autocopy_getSelection();
    	if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    	{
    		SelectionText = gautocopy_lastSelection;
    	}
    	window.gBrowser.addTab(SelectionText);
    }
    Alles anzeigen
  • userChrome.js Scripte für Fuchs 14 (Zusammenstellung)

    • loshombre
    • 29. Mai 2011 um 22:13

    Ja, schon klar. Es geht nur darum, dass der hier kopierte Javascript bei anderen auf einmal nicht funktionieren wollte, weil die Forumsoftware irgendwie das Format durcheinander brachte.
    Aber wir können es mal gerne versuchen:

    1. Auto Copy (Javascript):

    Code
    /* Auto Copy */
    
    
    var gautocopy_lastSelection = null;
    var gautocopy_hidemenu_timer = null;
    var gautocopy_clipboardcontents = new Array();
    var gautocopy_doPaste = false;
    
    
    window.addEventListener("load",function() {initAutoCopyStatus();} ,false);
    window.addEventListener("focus",function() {resetAutoCopyStatus();} ,false);
    
    
    window.addEventListener("mouseup", autocopyOnMouseUp ,false);
    window.addEventListener("keyup", autocopy_onKeyUpCheck ,false);
    
    
    //window.onmouseup = autocopyOnMouseUp;
    //window.onkeyup = autocopy_onKeyUpCheck;
    
    
    window.addEventListener("mousedown", Autocopy_Pasteonmiddleclick_mousedown ,false);
    window.addEventListener("mouseup", Autocopy_Pasteonmiddleclick_mouseup ,false);
    
    
    
    
    // prefs
    var autocopyPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("autocopy.");
    
    
    if (!autocopyPrefs.prefHasUserValue("StatusBarState"))
    	autocopyPrefs.setIntPref("StatusBarState", 1)
    
    
    
    
    
    
    
    
    function AutocopyClipboardContents(adataType, adata, adataLength)
    {
    	this.dataType = adataType;
    	this.data = adata;
    	this.dataLength = adataLength;
    }
    
    
    
    
    function autocopyContextHide(e) {
    
    
    	var cm = gContextMenu;
    	var AutocopyFirebirdcontextmenuitem = document.getElementById('autocopy-firebirdcontextmenuitem');
    
    
    	if(autocopyPrefs.getBoolPref("optContextMenuItem")){
    		AutocopyFirebirdcontextmenuitem.hidden = ( cm.onImage );
    		//|| cm.onLink || cm.onImage || cm.onTextInput );
    	}
    	else{
    	    AutocopyFirebirdcontextmenuitem.hidden = true;
    	}
    
    
    	if(AutocopyFirebirdcontextmenuitem.hidden)
    	{
    		document.getElementById('autocopy-firebirdcontextmenuitemseparator').hidden = true;
    	}
    	else
    	{
    		document.getElementById('autocopy-firebirdcontextmenuitemseparator').hidden = false;
    		autocopy_context_onpopupshowing(e);
    	}
    }
    
    
    
    
    function setAutoCopyStatus()
    {
    	if(autocopyPrefs.getBoolPref("optStatusBar")){
    		var autocopy = document.getElementById('autocopy-status');
    		var autocopystatusimage = document.getElementById('autocopy-status-image');
    		var tooltip = document.getElementById('autocopy-tooltip-value');
    
    
    		if(autocopy && autocopystatusimage)
    		{
    			autocopystatusimage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    		    	var strings = document.getElementById("autocopyStrings");
    			tooltip.setAttribute("value", strings.getString("statusbar-tooltip-enabled"));
    		}
    	}
    
    
    }
    
    
    
    
    
    
    function initAutoCopyStatus() 
    {
    	initPreferences();
    
    	document.getElementById("cmd_selectAll").setAttribute("oncommand", "goDoCommand('cmd_selectAll'); AutocopySelectAll();");
    
    
        	var strings = document.getElementById("autocopyStrings");
    
    
    	var autocopyLocalizationPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.{0FED7D55-65D4-47b6-A6DE-9A4ADB55355F}.");
    	var autocopylocaledescription = strings.getString("autocopy-description");
    	var str = Components.classes[ "@mozilla.org/supports-string;1" ].createInstance( Components.interfaces.nsISupportsString );
    	str.data = autocopylocaledescription;
    	autocopyLocalizationPrefs.setComplexValue( "description", Components.interfaces.nsISupportsString, str );
    
    
    
    	var autocopyStatusBarButtonPanel = document.getElementById('autocopy-statuspanel');
    	var autocopyStatusBarButton = document.getElementById('autocopy-status');
    	var autocopyStatusBarButtonImage = document.getElementById('autocopy-status-image');
    	var autocopyStatusBarButtonTooltip = document.getElementById('autocopy-tooltip-value');
    	if(autocopyStatusBarButton && autocopyStatusBarButtonImage)
    	{
    
    
    		if(autocopyPrefs.getBoolPref("optStatusBar")){
            	    if(autocopyStatusBarButtonPanel.collapsed)
    		    {
            	    	   autocopyStatusBarButtonPanel.collapsed = false;
    		    }
            	}
            	else{
            	    if(!autocopyStatusBarButtonPanel.collapsed)
    		    {
            	    	   autocopyStatusBarButtonPanel.collapsed = true;
    		    }
            	}
    
    
    
    		if (autocopyPrefs.getIntPref("StatusBarState") == 0)
    	        {
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    		                 autocopyStatusBarButton.setAttribute("status", "disabled");
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyDisabled.png");
    	        	         autocopyStatusBarButtonTooltip.setAttribute("value", strings.getString("statusbar-tooltip-disabled"));
    	        	 }
    		}
    		else
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    	                 	autocopyStatusBarButton.setAttribute("status", "enabled");
    				autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    	                 	autocopyStatusBarButtonTooltip.setAttribute("value", strings.getString("statusbar-tooltip-enabled"));
    			 }
    		}
    
    
    	}
    
    
    
    
    
    
    
    
    	var AutocopyFirebirdmenuitem = document.getElementById('autocopy-firebirdmenuitem');
    	var AutocopyFirebirdmenuitemseparator = document.getElementById('autocopy-firebirdmenuitemseparator');
    	if(AutocopyFirebirdmenuitem)
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") == 0)
    	        {
    	                 AutocopyFirebirdmenuitem.setAttribute("checked", false);
    		}
    		else
    		{
    	                 AutocopyFirebirdmenuitem.setAttribute("checked", true);
    		}
    
    
    	        if(autocopyPrefs.getBoolPref("optEditMenuItem")){
    		    AutocopyFirebirdmenuitemseparator.setAttribute("hidden", false);
    	            AutocopyFirebirdmenuitem.setAttribute("hidden", false);
    	        }
    	        else{
    		    AutocopyFirebirdmenuitemseparator.setAttribute("hidden", true);
    	            AutocopyFirebirdmenuitem.setAttribute("hidden", true);
    	        }
    	}
    
    
    	var AutocopyFirebirdcontextmenuitem = document.getElementById('autocopy-firebirdcontextmenuitem');
    	if(AutocopyFirebirdcontextmenuitem)
    	{
    
    		if(document.getElementById("contentAreaContextMenu"))
    		{
    			document.getElementById("contentAreaContextMenu").addEventListener("popupshowing",autocopyContextHide,false);
    	        }	
    	}
    
    
    
    
    	var Autocopykeytoggleautocopyenabled = null;
    	if(document.getElementById('firebirdkey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('firebirdkey-toggle-autocopyenabled');
    	if(document.getElementById('mozillakey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('mozillakey-toggle-autocopyenabled');
    	if(document.getElementById('thunderbirdkey-toggle-autocopyenabled'))
    		Autocopykeytoggleautocopyenabled = document.getElementById('thunderbirdkey-toggle-autocopyenabled');
    
    
    	if(Autocopykeytoggleautocopyenabled)
    	{
    	        if(autocopyPrefs.getBoolPref("optKeyboardShortcutEnabled")){
    
    	            var optModifiers = "";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyAccel"))
    	                optModifiers = optModifiers + ",accel";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyMeta"))
    	                optModifiers = optModifiers + ",meta";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyCtrl"))
    	                optModifiers = optModifiers + ",control";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyShift"))
    	                optModifiers = optModifiers + ",shift";
    	            if(autocopyPrefs.getBoolPref("optKeyboardShortcutKeyAlt"))
    	                optModifiers = optModifiers + ",alt";
    
    	            optModifiers.replace(/^\,/,"");
    
    	            var optKey = autocopyPrefs.getCharPref("optKeyboardShortcutKey");
    	            if(optKey.match(/^[A-Z]$/i)){
    	                Autocopykeytoggleautocopyenabled.setAttribute("key", optKey);
    	                Autocopykeytoggleautocopyenabled.setAttribute("keycode", "");
    	            }
    	            else{
    	                Autocopykeytoggleautocopyenabled.setAttribute("key", "");
    	                Autocopykeytoggleautocopyenabled.setAttribute("keycode", optKey);
    	            }
    
    	            Autocopykeytoggleautocopyenabled.setAttribute("modifiers", optModifiers);
    	            Autocopykeytoggleautocopyenabled.setAttribute("disabled", false);
    	        }
    	        else{
    	            Autocopykeytoggleautocopyenabled.setAttribute("disabled", true);
    	        }
    	}
    
    
    
    
    	PasteOnMiddleClickStatusbarOption =  document.getElementById('autocopy-statusbar-PasteOnMiddleClick');
    	if(PasteOnMiddleClickStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	EnableInTextBoxesStatusbarOption =  document.getElementById('autocopy-statusbar-EnableInTextBoxes');
    	if(EnableInTextBoxesStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    		{
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	AutocopyContextMenuStatusbarOption =  document.getElementById('autocopy-statusbar-AutocopyContextMenu');
    	if(AutocopyContextMenuStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optContextMenu"))
    		{
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	StatusbarBlinkStatusbarOption =  document.getElementById('autocopy-statusbar-StatusbarBlink');
    	if(StatusbarBlinkStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optStatusbarBlink"))
    		{
    			StatusbarBlinkStatusbarOption.setAttribute("checked", true);
    		}
    		else
    		{
    			StatusbarBlinkStatusbarOption.setAttribute("checked", false);
    		}
    	}
    
    
    	StatusbarDeselectAfterCopy =  document.getElementById('autocopy-statusbar-DeselectAfterCopy');
    	if(StatusbarDeselectAfterCopy)
    	{
    		if (autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    		{
    			StatusbarDeselectAfterCopy.setAttribute("checked", true);
    		}
    		else
    		{
    			StatusbarDeselectAfterCopy.setAttribute("checked", false);
    		}
    	}
    
    
    
    
    
    
    
    
    }
    
    
    /////////////////
    //
    //window.addEventListener("load",function() {AutoCopyCopyOnLoad();} ,true);
    //
    //function AutoCopyCopyOnLoad()
    //{
    //////////////////
    //goDoCommand('cmd_selectAll');
    //AutocopySelectAll();
    //Autocopy_DeselectAfterCopy_CollapseSelection()
    //}
    /////////////////
    
    
    function resetAutoCopyStatus()
    {
        initAutoCopyStatus()
    }
    
    
    
    
    function initPreferences(){
    
    
    	if (!autocopyPrefs.prefHasUserValue("StatusBarState"))
    		autocopyPrefs.setIntPref("StatusBarState", 1)
    
    
    	if (!autocopyPrefs.prefHasUserValue("optPasteOnMiddleClick"))
    		autocopyPrefs.setBoolPref("optPasteOnMiddleClick", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optDeselectAfterCopy"))
    	{
    		if(navigator.vendor.match(/Thunderbird/i))
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    		}
    	}
    
    
    
    
    	if (!autocopyPrefs.prefHasUserValue("optCopyWithoutFormating"))
    		autocopyPrefs.setBoolPref("optCopyWithoutFormating", false);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optStatusBar"))
    		autocopyPrefs.setBoolPref("optStatusBar", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optStatusbarBlink"))
    		autocopyPrefs.setBoolPref("optStatusbarBlink", true);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optContextMenu"))
    		autocopyPrefs.setBoolPref("optContextMenu", false);
    
    
    
    
    	if (!autocopyPrefs.prefHasUserValue("optContextMenuHideTimeout"))
    		autocopyPrefs.setIntPref("optContextMenuHideTimeout", 2000);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optEditMenuItem"))
    		autocopyPrefs.setBoolPref("optEditMenuItem", false);
    	if (!autocopyPrefs.prefHasUserValue("optContextMenuItem"))
    		autocopyPrefs.setBoolPref("optContextMenuItem", true);
    	if (!autocopyPrefs.prefHasUserValue("optEnableInTextBoxes"))
    		autocopyPrefs.setBoolPref("optEnableInTextBoxes", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutEnabled"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutEnabled", false);
    
    
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyAccel"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyAccel", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyMeta"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyMeta", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyCtrl"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyCtrl", true);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyShift"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyShift", true);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKeyAlt"))
    		autocopyPrefs.setBoolPref("optKeyboardShortcutKeyAlt", false);
    	if (!autocopyPrefs.prefHasUserValue("optKeyboardShortcutKey"))
    		autocopyPrefs.setCharPref("optKeyboardShortcutKey", "C");
    }
    
    
    
    
    
    
    
    
    function switchautocopystatusstate()
    {
            if (autocopyPrefs.getIntPref("StatusBarState") == 0)
            {
    		autocopyPrefs.setIntPref("StatusBarState", 1);
            }
            else
            {
    		autocopyPrefs.setIntPref("StatusBarState", 0);
            }
            initAutoCopyStatus();
    }
    
    
    function autocopy_onKeyUpCheck(e)
    {
    	if(e.keyCode == e.DOM_VK_A && e.ctrlKey)
    	{
    		autocopyOnMouseUp(e);
    	}
    }
    
    
    
    
    function autocopyOnMouseUp(e)
    {
       if ((!e.ctrlKey) || (e.keyCode))
       {
    	var targetclassname = e.target.toString();
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if(!targetclassname.match(/SelectElement|OptionElement/i))
    		{
    			if(!Autocopy_isTargetEditable(e.target))
    			{
    				if (!targetclassname.match(/object XUL/i))
    				{
    
    
    					if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    					{
    						//were going to copy
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							copyplaintext();
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    							var x = e.screenX;
    							var y = e.screenY;
    							if(x == 0 && y == 0)
    							{
    								document.popupNode = document.documentElement;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    								autocopy_timedhidemenu(); 
    							}
    							else
    							{
    								document.popupNode = null;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, x, y, "context");
    								autocopy_timedhidemenu(); 
    							}
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    			}
    			else if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    			{
    				if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    				{
    					//were going to copy
    					gautocopy_lastSelection = autocopy_getSelection();
    					autocopy_saveclipboard();
    					if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    					{
    						//copyplaintext dosn't work in textboxes
    						//copyplaintext();
    						goDoCommand('cmd_copy');
    					}
    					else
    					{
    						goDoCommand('cmd_copy');
    					}
    					if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    					{
    						AutocopyBlinkStatusbarButton(3);
    					}
    					if (autocopyPrefs.getBoolPref("optContextMenu"))
    					{
    						var x = e.screenX;
    						var y = e.screenY;
    						if(x == 0 && y == 0)
    						{
    							document.popupNode = document.documentElement;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    							autocopy_timedhidemenu(); 
    						}
    						else
    						{
    							document.popupNode = null;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, x, y, "context");
    							autocopy_timedhidemenu(); 
    						}
    					}
    					if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    					{
    						Autocopy_DeselectAfterCopy();
    					}
    				}
    			}
    		}
       	}
       }
    }
    
    
    
    
    function AutocopySelectAll()
    {
    	var targetclassname = "";
    	if(document.commandDispatcher.focusedElement)
    	{	
    		targetclassname = document.commandDispatcher.focusedElement.toString();
    	}
    
    
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    //		if (!targetclassname.match(/object XUL/i))
    //		{
    			if(!targetclassname.match(/SelectElement|OptionElement/i))
    			{
    				if(!Autocopy_isTargetEditableDispatcher(document.commandDispatcher))
    				{
    					if(autocopy_getSelection().length > 0)
    					{
    						//were going to copy
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							copyplaintext();
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    							document.popupNode = document.documentElement;
    							document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    							autocopy_timedhidemenu(); 
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    				else if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    				{
    					if((autocopy_getSelection().length > 0) && (gautocopy_lastSelection != autocopy_getSelection()))
    					{
    						gautocopy_lastSelection = autocopy_getSelection();
    						autocopy_saveclipboard();
    						if(autocopyPrefs.getBoolPref("optCopyWithoutFormating"))
    						{
    							//copyplaintext dosn't work in textboxes
    							//copyplaintext();
    							goDoCommand('cmd_copy');
    						}
    						else
    						{
    							goDoCommand('cmd_copy');
    						}
    						if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    						{
    							AutocopyBlinkStatusbarButton(3);
    						}
    						if (autocopyPrefs.getBoolPref("optContextMenu"))
    						{
    								document.popupNode = document.documentElement;
    								document.getElementById('autocopy-context-menu').showPopup(document.documentElement, document.documentElement.boxObject.x, document.documentElement.boxObject.y + 100, "context");
    								autocopy_timedhidemenu(); 
    						}
    						if(autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    						{
    							Autocopy_DeselectAfterCopy();
    						}
    					}
    				}
    			}
    //		}
    	}
    }
    
    
    
    
    function Autocopy_Pasteonmiddleclick_mousedown(e)
    {
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if((!e.ctrlKey) && autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			if(e.button == 1)
    			{
    				gautocopy_doPaste = false;	
    
    
    				if(e.target.inputField)
    				{
    					if(e.target.inputField.toString().match(/InputElement|TextAreaElement/i))
    					{
    						gautocopy_doPaste = true;
    					}
    				}	
    				if(e.target.mTextbox)
    				{
    					if(e.target.mTextbox.inputField)
    					{
    						if(e.target.mTextbox.inputField.toString().match(/InputElement|TextAreaElement/i))
    						{
    							gautocopy_doPaste = true;
    						}
    					}
    				}
    				if(Autocopy_isTargetEditable(e.target))
    				{
    					gautocopy_doPaste = true;
    				}
    
    				if(gautocopy_doPaste)
    				{
    					if (getBrowser().mCurrentBrowser.autoscrollEnabled) 
    					{
    						getBrowser().mCurrentBrowser._autoScrollPopup.hidePopup();
    						getBrowser().mCurrentBrowser.stopScroll();
    					}
    				}
    			}
    		}
    	}	
    }
    function Autocopy_Pasteonmiddleclick_mouseup(e)
    {
    	if(autocopyPrefs.getIntPref("StatusBarState") == 1)
    	{
    		if((!e.ctrlKey) && autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			if(e.button == 1)
    			{
    				if(gautocopy_doPaste)
    				{
    					goDoCommand('cmd_paste');
    					if (getBrowser().mCurrentBrowser.autoscrollEnabled) 
    					{
    						getBrowser().mCurrentBrowser._autoScrollPopup.hidePopup();
    						getBrowser().mCurrentBrowser.stopScroll();
    					}
    				}
    			}
    		}
    	}	
    }
    
    
    
    
    
    
    
    
    function Autocopy_isTargetEditable(target)
    {
    if(target)
    {
      if(target.toString().match(/InputElement|TextAreaElement/i))
      {
        return true;
      }
    
    
      if(target.textbox)
      {
        return true;
      }
    
    
      if(target.ownerDocument)
      {
        if(target.ownerDocument.designMode)
        {
          if(target.ownerDocument.designMode.match(/on/i))
          {
            return true;
          }
        }
      }
    }
    return false;
    }
    
    
    
    
    
    
    
    
    function Autocopy_isTargetEditableDispatcher(commandDispatcher)
    {
    
    
    	
    	if(commandDispatcher.focusedElement)
    	{
    		if(commandDispatcher.focusedElement.toString().match(/InputElement|TextAreaElement/i))
    		{
    			return true;
    		}
    	}
    	else
    	{
    		if(commandDispatcher.focusedWindow.document.designMode)
    		{
    			if(commandDispatcher.focusedWindow.document.designMode.match(/on/i))
    			{
    				return true;
    			}
    		}
    	}
    
    
    	return false;
    }
    
    
    function Autocopy_DeselectAfterCopy()
    {
    
    
    	if(autocopyPrefs.getBoolPref("optStatusbarBlink"))
    	{
    		var focusedElement = document.commandDispatcher.focusedElement;
    		if(focusedElement)
    		{
    			SelectionLength = focusedElement.selectionEnd - focusedElement.selectionStart;
    			Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection_TextBox, 25, SelectionLength); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection_TextBox, 50); 
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection_TextBox, 75, SelectionLength); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection_TextBox, 100); 	
    		}
    		else
    		{
    			var focusedWindow = document.commandDispatcher.focusedWindow;
    			try
    			{
    				var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    				var Selection = winWrapper.getSelection();
    			}
    			catch(e)
    			{
    				var Selection = focusedWindow.getSelection();
    			}
    			var SelectionfocusNode = Selection.focusNode;
    			var SelectionfocusOffset = Selection.focusOffset;
    			Autocopy_DeselectAfterCopy_CollapseSelection()
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection, 25, SelectionfocusNode, SelectionfocusOffset); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection, 50); 
    			setTimeout(Autocopy_DeselectAfterCopy_ExtendSelection, 75, SelectionfocusNode, SelectionfocusOffset); 
    			setTimeout(Autocopy_DeselectAfterCopy_CollapseSelection, 100); 	
    		}
    	}
    	else
    	{	
    		var focusedElement = document.commandDispatcher.focusedElement;
    		if(focusedElement)
    		{		
    			Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    		}
    		else
    		{
    			goDoCommand('cmd_selectNone');
    		}
    	}
    }
    function Autocopy_DeselectAfterCopy_ExtendSelection_TextBox(SelectionLength)
    {
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement)
    	{
    		focusedElement.selectionEnd = focusedElement.selectionStart + SelectionLength;
    	}
    }
    function Autocopy_DeselectAfterCopy_CollapseSelection_TextBox()
    {
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement)
    	{
    		focusedElement.selectionEnd = focusedElement.selectionStart;
    	}
    }
    function Autocopy_DeselectAfterCopy_ExtendSelection(SelectionfocusNode, SelectionfocusOffset)
    {
    	var focusedWindow = document.commandDispatcher.focusedWindow;
    	try
    	{
    		var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    		var Selection = winWrapper.getSelection();
    	}
    	catch(e)
    	{
    		var Selection = focusedWindow.getSelection();
    	}
    	Selection.extend(SelectionfocusNode, SelectionfocusOffset);
    }
    function Autocopy_DeselectAfterCopy_CollapseSelection()
    {
    	var focusedWindow = document.commandDispatcher.focusedWindow;
    	try
    	{
    		var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    		var Selection = winWrapper.getSelection();
    	}
    	catch(e)
    	{
    		var Selection = focusedWindow.getSelection();
    	}
    	var SelectionanchorNode = Selection.anchorNode;
    	var SelectionanchorOffset = Selection.anchorOffset;
    	Selection.collapse(SelectionanchorNode, SelectionanchorOffset);
    }
    
    
    
    
    
    
    function AutocopyBlinkStatusbarButton(numberofblinks)
    {
    	setTimeout(AutocopyBlinkStatusbarButton, 5000, 0); //resets in 5 seconds just incase
    
    
    	var autocopyStatusBarButton = document.getElementById('autocopy-status');
    	var autocopyStatusBarButtonImage = document.getElementById('autocopy-status-image');
    	var autocopyStatusBarButtonTooltip = document.getElementById('autocopy-tooltip-value');
    	if (numberofblinks > 0)
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") != 0)
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    				if(autocopyStatusBarButtonImage.getAttribute("src") == "chrome://autocopy/skin/AutoCopyEnabled.png")
    				{
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyBlank.png");
    				}
    				else
    				{
    					autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    				}
    				numberofblinks = numberofblinks - 1;
    		     		setTimeout(AutocopyBlinkStatusbarButton, 300, numberofblinks);
    			 }
    		}
    	}
    	else
    	{
    		if (autocopyPrefs.getIntPref("StatusBarState") != 0)
    		{
    			 if(autocopyPrefs.getBoolPref("optStatusBar")){
    				autocopyStatusBarButtonImage.setAttribute("src", "chrome://autocopy/skin/AutoCopyEnabled.png");
    			 }
    		}
    	}
    }
    
    
    
    
    function autocopy_getSelection() 
    {
    	var SelectionText = "";
    	var trywindow = false;
    
    	var focusedElement = document.commandDispatcher.focusedElement;
    	if(focusedElement && null != focusedElement)
    	{
    		try
    		{
    			SelectionText = focusedElement.value.substring(focusedElement.selectionStart, focusedElement.selectionEnd);
    		}
    		catch(e)
    		{
    			trywindow = true;
    		}
    	}
    	else
    	{
    		trywindow = true;
    	}
    
    	if(trywindow)
    	{
    		var focusedWindow = document.commandDispatcher.focusedWindow;
    		try
    		{
    			var winWrapper = new XPCNativeWrapper(focusedWindow, 'document', 'getSelection()');
    			var Selection = winWrapper.getSelection();
    		}
    		catch(e)
    		{
    			var Selection = focusedWindow.getSelection();
    		}
    		SelectionText = Selection.toString();
    
    
    	}
    	return SelectionText;
    }
    
    
    function autocopy_getClipboardContents()
    {
    	var clip = Components.classes["@mozilla.org/widget/clipboard;1"].
                 getService(Components.interfaces.nsIClipboard);
    	if (!clip) return false;
    
    
    	var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    	if (!trans) return false;
    		trans.addDataFlavor("text/unicode");
    
    
    	clip.getData(trans,clip.kGlobalClipboard);
    
    
    	var str = new Object();
    	var strLength = new Object();
    
    
    	try{
    		trans.getTransferData("text/unicode",str,strLength);
    	}
    	catch(e){	
    		return false;
    	}
    	if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    	if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    	return pastetext;
    }
    
    
    function autocopy_setClipboardContents(copytext)
    {	
    	try{
    		var str = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!str) return false;
    		str.data = copytext;
    
    
    		var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    		if (!trans) return false;
    
    
    
    
    		trans.addDataFlavor("text/unicode");
    		trans.setTransferData("text/unicode",str,copytext.length * 2);
    
    
    		var clipid = Components.interfaces.nsIClipboard;
    		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    		if (!clip) return false;
    
    
    		clip.setData(trans,null,clipid.kGlobalClipboard);
    		return true;
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    function autocopy_setClipboardContentsHtml(copyhtml, copytext)
    {	
    	try{
    		var strhtml = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!strhtml) return false;
    		strhtml.data = copyhtml;
    
    
    		var str = Components.classes["@mozilla.org/supports-string;1"].
                createInstance(Components.interfaces.nsISupportsString);
    		if (!str) return false;
    		str.data = copytext;
    
    
    		var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    		if (!trans) return false;
    
    
    		trans.addDataFlavor("text/html");
    		trans.setTransferData("text/html",strhtml,copyhtml.length * 2);
    
    
    		trans.addDataFlavor("text/unicode");
    		trans.setTransferData("text/unicode",str,copytext.length * 2);
    
    
    
    
    		var clipid = Components.interfaces.nsIClipboard;
    		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    		if (!clip) return false;
    
    
    		clip.setData(trans,null,clipid.kGlobalClipboard);
    
    
    		autocopy_saveclipboard()
    
    
    		return true;
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    
    
    function autocopy_saveclipboard()
    {
    	var clip = Components.classes["@mozilla.org/widget/clipboard;1"].
                 getService(Components.interfaces.nsIClipboard);
    	if (!clip) return false;
    
    
    	var trans = Components.classes["@mozilla.org/widget/transferable;1"].
                  createInstance(Components.interfaces.nsITransferable);
    	if (!trans) return false;
    
    
    	var importflavors = trans.flavorsTransferableCanImport();	
    	var exportflavors = trans.flavorsTransferableCanExport();	
    
    
    	trans.addDataFlavor("text/unicode");
    
    
    	clip.getData(trans,clip.kGlobalClipboard);
    
    
    	var dataType = new Object();
    	var data = new Object();
    	var dataLength = new Object();
    
    
    	try{
    		trans.getAnyTransferData(dataType, data, dataLength);
    	}
    	catch(e){	
    		return false;
    	}
    
    
    	var autocopy_clipboardcontents = new AutocopyClipboardContents(dataType, data, dataLength);
    	gautocopy_clipboardcontents.unshift(autocopy_clipboardcontents); //adds to the begining of array
    	if(gautocopy_clipboardcontents.length > 10 + 1)  
    	{
    		gautocopy_clipboardcontents.pop();  //remove last one if length to long
    	}
    
    
    	return true;
    
    
    }
    
    
    function autocopy_replaceoldclipboard(aIndex)
    {
    	try
    	{
    		if(gautocopy_clipboardcontents[aIndex])
    		{
    
    
    			if(autocopy_saveclipboard())
    			{
    				aIndex = aIndex + 1;
    
    
    				var trans = Components.classes["@mozilla.org/widget/transferable;1"].
        			          createInstance(Components.interfaces.nsITransferable);
    				if (!trans) return false;
    
    
    				trans.addDataFlavor(gautocopy_clipboardcontents[aIndex].dataType);
    				trans.setTransferData(gautocopy_clipboardcontents[aIndex].dataType.value, gautocopy_clipboardcontents[aIndex].data.value, gautocopy_clipboardcontents[aIndex].dataLength.value);
    
    
    				var clipid = Components.interfaces.nsIClipboard;
    				var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
    				if (!clip) return false;
    
    
    				clip.setData(trans,null,clipid.kGlobalClipboard);
    
    				if(aIndex > 1)
    				{
    					//move selected clipboardcontents to the begining of the clipboard array
    					var autocopy_clipboardcontents = gautocopy_clipboardcontents[aIndex];
    					gautocopy_clipboardcontents.splice(aIndex,1);
    				}
    				return true;
    			}
    			else
    			{	
    				return false;
    			}
    		}
    	}
    	catch(e)
    	{
    		return false;
    	}
    }
    
    
    function autocopy_pastetolocationbar()
    {
    	var str = autocopy_getClipboardContents();
    	if(str)
    	{
    		var urlbar = document.getElementById('urlbar');
    		urlbar.value = str;
    		urlbar.focus();
    	}
    }
    
    
    function autocopy_pastetosearchbar()
    {
    	var str = autocopy_getClipboardContents();
    	if(str)
    	{
    		var searchbar = document.getElementById('searchbar');
    		if(searchbar)
    		{
    			if(searchbar.textbox.value)
    			{
    				searchbar.textbox.focus();
    				searchbar.textbox.value = str;
    			}
    			if(searchbar.mTextbox.value)
    			{
    				searchbar.mTextbox.value = str;
    				searchbar.mTextbox.focus();
    			}
    		}
    	}
    
    
    }
    
    
    function autocopy_togglepasteonmiddleclick()
    {
    	PasteOnMiddleClickStatusbarOption =  document.getElementById('autocopy-statusbar-PasteOnMiddleClick');
    	if(PasteOnMiddleClickStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optPasteOnMiddleClick"))
    		{
    			autocopyPrefs.setBoolPref("optPasteOnMiddleClick", false);
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optPasteOnMiddleClick", true);
    			PasteOnMiddleClickStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleEnableInTextBoxes()
    {
    	EnableInTextBoxesStatusbarOption =  document.getElementById('autocopy-statusbar-EnableInTextBoxes');
    	if(EnableInTextBoxesStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optEnableInTextBoxes"))
    		{
    			autocopyPrefs.setBoolPref("optEnableInTextBoxes", false);
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optEnableInTextBoxes", true);
    			EnableInTextBoxesStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleAutocopyContextMenu()
    {
    	AutocopyContextMenuStatusbarOption =  document.getElementById('autocopy-statusbar-AutocopyContextMenu');
    	if(AutocopyContextMenuStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optContextMenu"))
    		{
    			autocopyPrefs.setBoolPref("optContextMenu", false);
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optContextMenu", true);
    			AutocopyContextMenuStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleStatusbarBlink()
    {
    	StatusbarBlinkStatusbarOption =  document.getElementById('autocopy-statusbar-StatusbarBlink');
    	if(StatusbarBlinkStatusbarOption)
    	{
    		if (autocopyPrefs.getBoolPref("optStatusbarBlink"))
    		{
    			autocopyPrefs.setBoolPref("optStatusbarBlink", false);
    			StatusbarBlinkStatusbarOption.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optStatusbarBlink", true);
    			StatusbarBlinkStatusbarOption.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_toggleDeselectAfterCopy()
    {
    	StatusbarDeselectAfterCopy =  document.getElementById('autocopy-statusbar-DeselectAfterCopy');
    	if(StatusbarDeselectAfterCopy)
    	{
    		if (autocopyPrefs.getBoolPref("optDeselectAfterCopy"))
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", false);
    			StatusbarDeselectAfterCopy.setAttribute("checked", false);
    		}
    		else
    		{
    			autocopyPrefs.setBoolPref("optDeselectAfterCopy", true);
    			StatusbarDeselectAfterCopy.setAttribute("checked", true);
    		}
    	}
    }
    
    
    function autocopy_appendurltoclipboard() 
    {	
    	var clipboardcontents = autocopy_getClipboardContents();
    	if(clipboardcontents)
    	{
    		var copytext = clipboardcontents + "\r\n\r\n" + window.content.location.href;
    
    
    		var copyhtml = clipboardcontents + "\r\n <br><br>(From: <a href=\"" + window.content.location.href + "\">" + window.content.location.href + ")</a>";
    
    
    		autocopy_setClipboardContents(copytext);
    	}
    }
    
    
    function autocopy_timedhidemenu()
    {
    	window.clearTimeout(gautocopy_hidemenu_timer);
    	var timerinterval = autocopyPrefs.getIntPref("optContextMenuHideTimeout");
    	if(timerinterval > 0)
    	{
    		//if timer interval option is less then or equal to zero then don't timer hide the menu
    		gautocopy_hidemenu_timer = setTimeout("autocopy_hide_contextMenu();", timerinterval, 0); 
    	}
    }
    
    
    function autocopy_canceltimedhidemenu()
    {
    	window.clearTimeout(gautocopy_hidemenu_timer);
    }
    function autocopy_hide_contextMenu()
    {
    	document.getElementById('autocopy-context-menupopup-clipboards').hidePopup();
    	document.getElementById('autocopy-context-menu').hidePopup();
    }
    
    
    function autocopy_contextmenu_onpopupshowing(e)
    {
        	var strings = document.getElementById("autocopyStrings");
    	var localizedstringSearchFor = strings.getString("autocopy-context-menu-searchfor");
    	var searchformenuitem = document.getElementById('autocopy-context-menu-searchforselection');
    	if(searchformenuitem)
    	{
    		var SelectionText = autocopy_getSelection();
    		if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    		{
    			SelectionText = gautocopy_lastSelection;
    		}
    		if(SelectionText)
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' "' + SelectionText.substring(0,12) + '..."');
    		}
    		else
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' ');
    		}
    	}	
    
    
    } 
    
    
    function autocopy_context_onpopupshowing(e)
    {
        	var strings = document.getElementById("autocopyStrings");
    	var localizedstringSearchFor = strings.getString("autocopy-context-menu-searchfor");
    	var searchformenuitem = document.getElementById('autocopy-context-searchforselection');
    	if(searchformenuitem)
    	{
    		var SelectionText = autocopy_getSelection();
    		if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    		{
    			SelectionText = gautocopy_lastSelection;
    		}
    		if(SelectionText)
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' "' + SelectionText.substring(0,12) + '..."');
    		}
    		else
    		{
    			searchformenuitem.setAttribute('label', localizedstringSearchFor + ' ');
    		}
    	}	
    
    
    } 
    
    
    
    
    function autocopy_context_menupopup_clipboards_onpopupshowing()
    {
    	var clipboardsmenupopup = document.getElementById('autocopy-context-menupopup-clipboards');
    
    
    	//remove all menuitems
    	while(clipboardsmenupopup.childNodes.length > 0)
    	{
    		clipboardsmenupopup.removeChild(clipboardsmenupopup.childNodes[0]);
    	}
    
    
    	if(gautocopy_clipboardcontents.length > 0)
    	{
    		for(var x = 0; x < gautocopy_clipboardcontents.length & x < 10; x++)
    		{
    			var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
    			if (!trans) return false;
    
    			trans.addDataFlavor(gautocopy_clipboardcontents[x].dataType.value);
    			trans.setTransferData(gautocopy_clipboardcontents[x].dataType.value, gautocopy_clipboardcontents[x].data.value, gautocopy_clipboardcontents[x].dataLength.value);
    
    
    			var str = new Object();
    			var strLength = new Object();
    
    
    			try{
    				trans.getTransferData(gautocopy_clipboardcontents[x].dataType.value,str,strLength);
    			}
    			catch(e){	
    				return false;
    			}
    			if(gautocopy_clipboardcontents[x].dataType.value == "text/unicode")
    			{
    				if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    				if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    
    				var item = document.createElement('menuitem');
    				item.setAttribute('oncommand', "autocopy_replaceoldclipboard(" + x + ");");
    				item.setAttribute('label', pastetext.substring(0,24));
    				clipboardsmenupopup.appendChild(item);
    			}
    		}
    	}
    } 
    
    
    
    
    function autocopy_context_menupopup_clipboards2_onpopupshowing()
    {
    	var clipboardsmenupopup = document.getElementById('autocopy-context-menupopup-clipboards2');
    
    
    	//remove all menuitems
    	while(clipboardsmenupopup.childNodes.length > 0)
    	{
    		clipboardsmenupopup.removeChild(clipboardsmenupopup.childNodes[0]);
    	}
    
    
    	if(gautocopy_clipboardcontents.length > 0)
    	{
    		for(var x = 0; x < gautocopy_clipboardcontents.length & x < 10; x++)
    		{
    			var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
    			if (!trans) return false;
    
    			trans.addDataFlavor(gautocopy_clipboardcontents[x].dataType.value);
    			trans.setTransferData(gautocopy_clipboardcontents[x].dataType.value, gautocopy_clipboardcontents[x].data.value, gautocopy_clipboardcontents[x].dataLength.value);
    
    
    			var str = new Object();
    			var strLength = new Object();
    
    
    			try{
    				trans.getTransferData(gautocopy_clipboardcontents[x].dataType.value,str,strLength);
    			}
    			catch(e){	
    				return false;
    			}
    			if(gautocopy_clipboardcontents[x].dataType.value == "text/unicode")
    			{
    				if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
    				if (str) pastetext = str.data.substring(0,strLength.value / 2);
    
    
    				var item = document.createElement('menuitem');
    				item.setAttribute('oncommand', "autocopy_replaceoldclipboard(" + x + ");");
    				item.setAttribute('label', pastetext.substring(0,24));
    				clipboardsmenupopup.appendChild(item);
    			}
    		}
    	}
    } 
    
    
    
    
    
    
    function autocopy_searchforselection()
    {
    	var SelectionText = autocopy_getSelection();
    	if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    	{
    		SelectionText = gautocopy_lastSelection;
    	}
    	if(BrowserSearch)
    	{
    		BrowserSearch.loadSearch(SelectionText, true)
    	}
    	else
    	{
    		OpenSearch('internet', SelectionText, true);
    	}
    }
    
    
    function autocopy_openinnewtab()
    {
    	var SelectionText = autocopy_getSelection();
    	if(!(SelectionText.length > 0) && gautocopy_lastSelection)
    	{
    		SelectionText = gautocopy_lastSelection;
    	}
    	window.gBrowser.addTab(SelectionText);
    }
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 29. Mai 2011 um 20:07

    Die Scripte zu verlinken ist einfach unmöglich, weil ich sie in tagelanger Suche, manchmal auch per Zufall nach und nach auf meiner Platte zusammen getragen hab. In sofern weiß ich mtw. ehrlich gar nicht mehr, wo ich dat ganze Zeug her hab.
    Ich weiß nicht, ob das Forum mtw. die Möglichkeit bietet, die Scripte hier unverfälscht als Code zu platzieren. Früher, im alten chrome.js-Thread gabs da so manche Probleme damit. Einige davon sind auch so um die 30-40Kb groß.

    Endor Hombre, du hast Post.

  • userChrome.js Scripte für Fuchs 16 (Zusammenstellung) alt

    • loshombre
    • 29. Mai 2011 um 20:07

    Die Scripte zu verlinken ist einfach unmöglich, weil ich sie in tagelanger Suche, manchmal auch per Zufall nach und nach auf meiner Platte zusammen getragen hab. In sofern weiß ich mtw. ehrlich gar nicht mehr, wo ich dat ganze Zeug her hab.
    Ich weiß nicht, ob das Forum mtw. die Möglichkeit bietet, die Scripte hier unverfälscht als Code zu platzieren. Früher, im alten chrome.js-Thread gabs da so manche Probleme damit. Einige davon sind auch so um die 30-40Kb groß.

    Endor Hombre, du hast Post.

  • userChrome.js Scripte für Fuchs 14 (Zusammenstellung)

    • loshombre
    • 29. Mai 2011 um 20:07

    Die Scripte zu verlinken ist einfach unmöglich, weil ich sie in tagelanger Suche, manchmal auch per Zufall nach und nach auf meiner Platte zusammen getragen hab. In sofern weiß ich mtw. ehrlich gar nicht mehr, wo ich dat ganze Zeug her hab.
    Ich weiß nicht, ob das Forum mtw. die Möglichkeit bietet, die Scripte hier unverfälscht als Code zu platzieren. Früher, im alten chrome.js-Thread gabs da so manche Probleme damit. Einige davon sind auch so um die 30-40Kb groß.

    Endor Hombre, du hast Post.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 28. Mai 2011 um 23:49

    22. Conquery // Websuche der Markierung mit allen in der Searchbar verfügbaren Searchplugins aus dem Kontextmenü heraus. Mit Rechtsklick wird mit allen Suchmaschinen in Tabs gleichzeitig gesucht. Mit Doppelklick auf die Websuche wird in mit dem als Standard eingestellten Suchmoped gesucht. Erspart das gleichnamige und/oder ähnliche Addons (Siehe Beispielbild unten).
    23. DownloadSoundPlay // Ein akustischer Hinweis auf das erfolgreiche Ende eines Downloads. Eine beliebige Sounddatei kann im Script frei von der Platte eingebunden werden.
    24. ImageChangeSize // Eine Möglichkeit, vorhandene Webbilder aus dem Kontextmenü heraus in ihrer Größe zu verändern (Siehe Beispielbild unten).
    25. WebScreenShot // Ein neues Menü unter "Extras", mit dem man wunderbar alle möglichen Bereiche einer Webpage fotografieren kann. Dabei werden die Screenshots sofort automatisch (je nach Browser Einstellungen) im neuen Tab im Hintergrund geöffnet. Im Fuchs Kontextmenü wird auch noch eine zusätzliche Funktion gezaubert, eine Grafik direkt als Base64 Code in die Zwischenablage zu kopieren. Ganz coole Nummer, wenn man zB. damit im Stylish rum schraubt (Siehe Beispielbild unten).
    26. StatusbarInURLBar // Hierbei wird quasi die Statusbar, bzw. deren Inhalt (zB. verschiedene Addon-Buttons, die sich, oder man selber dort platzieren möchte) in die Urlbar verfrachtet. Da aber seit Fuchs 4 diese mtw. Addonbar heißt, muss man eben diese Namensgebung im Script ändern. Geht problemlos. Die Addonbar nimmt Platz in der Urlbar und das Browserfenster hat unten mehr Platz. (Siehe Beispielbild unten).

    Zu 22.)
    [Blockierte Grafik: http://img6.imagebanana.com/img/0padm20d/thumb/Zwischenablage04.jpg]

    Zu 24.)
    [Blockierte Grafik: http://img6.imagebanana.com/img/j2fa90nh/thumb/Zwischenablage03.jpg]

    Zu 25.) [Blockierte Grafik: http://img6.imagebanana.com/img/qow02ztn/thumb/Zwischenablage01.jpg][Blockierte Grafik: http://img6.imagebanana.com/img/3eegct1e/thumb/Zwischenablage02.jpg]

    Zu 26.)
    [Blockierte Grafik: http://www.imagebanana.com/img/hidkcrhl/Zwischenablage02.jpg]

  • userChrome.js Scripte für Fuchs 16 (Zusammenstellung) alt

    • loshombre
    • 28. Mai 2011 um 23:49

    22. Conquery // Websuche der Markierung mit allen in der Searchbar verfügbaren Searchplugins aus dem Kontextmenü heraus. Mit Rechtsklick wird mit allen Suchmaschinen in Tabs gleichzeitig gesucht. Mit Doppelklick auf die Websuche wird in mit dem als Standard eingestellten Suchmoped gesucht. Erspart das gleichnamige und/oder ähnliche Addons (Siehe Beispielbild unten).
    23. DownloadSoundPlay // Ein akustischer Hinweis auf das erfolgreiche Ende eines Downloads. Eine beliebige Sounddatei kann im Script frei von der Platte eingebunden werden.
    24. ImageChangeSize // Eine Möglichkeit, vorhandene Webbilder aus dem Kontextmenü heraus in ihrer Größe zu verändern (Siehe Beispielbild unten).
    25. WebScreenShot // Ein neues Menü unter "Extras", mit dem man wunderbar alle möglichen Bereiche einer Webpage fotografieren kann. Dabei werden die Screenshots sofort automatisch (je nach Browser Einstellungen) im neuen Tab im Hintergrund geöffnet. Im Fuchs Kontextmenü wird auch noch eine zusätzliche Funktion gezaubert, eine Grafik direkt als Base64 Code in die Zwischenablage zu kopieren. Ganz coole Nummer, wenn man zB. damit im Stylish rum schraubt (Siehe Beispielbild unten).
    26. StatusbarInURLBar // Hierbei wird quasi die Statusbar, bzw. deren Inhalt (zB. verschiedene Addon-Buttons, die sich, oder man selber dort platzieren möchte) in die Urlbar verfrachtet. Da aber seit Fuchs 4 diese mtw. Addonbar heißt, muss man eben diese Namensgebung im Script ändern. Geht problemlos. Die Addonbar nimmt Platz in der Urlbar und das Browserfenster hat unten mehr Platz. (Siehe Beispielbild unten).

    Zu 22.)
    [Blockierte Grafik: http://img6.imagebanana.com/img/0padm20d/thumb/Zwischenablage04.jpg]

    Zu 24.)
    [Blockierte Grafik: http://img6.imagebanana.com/img/j2fa90nh/thumb/Zwischenablage03.jpg]

    Zu 25.) [Blockierte Grafik: http://img6.imagebanana.com/img/qow02ztn/thumb/Zwischenablage01.jpg][Blockierte Grafik: http://img6.imagebanana.com/img/3eegct1e/thumb/Zwischenablage02.jpg]

    Zu 26.)
    [Blockierte Grafik: http://www.imagebanana.com/img/hidkcrhl/Zwischenablage02.jpg]

  • userChrome.js Scripte für Fuchs 14 (Zusammenstellung)

    • loshombre
    • 28. Mai 2011 um 23:49

    22. Conquery // Websuche der Markierung mit allen in der Searchbar verfügbaren Searchplugins aus dem Kontextmenü heraus. Mit Rechtsklick wird mit allen Suchmaschinen in Tabs gleichzeitig gesucht. Mit Doppelklick auf die Websuche wird in mit dem als Standard eingestellten Suchmoped gesucht. Erspart das gleichnamige und/oder ähnliche Addons (Siehe Beispielbild unten).
    23. DownloadSoundPlay // Ein akustischer Hinweis auf das erfolgreiche Ende eines Downloads. Eine beliebige Sounddatei kann im Script frei von der Platte eingebunden werden.
    24. ImageChangeSize // Eine Möglichkeit, vorhandene Webbilder aus dem Kontextmenü heraus in ihrer Größe zu verändern (Siehe Beispielbild unten).
    25. WebScreenShot // Ein neues Menü unter "Extras", mit dem man wunderbar alle möglichen Bereiche einer Webpage fotografieren kann. Dabei werden die Screenshots sofort automatisch (je nach Browser Einstellungen) im neuen Tab im Hintergrund geöffnet. Im Fuchs Kontextmenü wird auch noch eine zusätzliche Funktion gezaubert, eine Grafik direkt als Base64 Code in die Zwischenablage zu kopieren. Ganz coole Nummer, wenn man zB. damit im Stylish rum schraubt (Siehe Beispielbild unten).
    26. StatusbarInURLBar // Hierbei wird quasi die Statusbar, bzw. deren Inhalt (zB. verschiedene Addon-Buttons, die sich, oder man selber dort platzieren möchte) in die Urlbar verfrachtet. Da aber seit Fuchs 4 diese mtw. Addonbar heißt, muss man eben diese Namensgebung im Script ändern. Geht problemlos. Die Addonbar nimmt Platz in der Urlbar und das Browserfenster hat unten mehr Platz. (Siehe Beispielbild unten).

    Zu 22.)
    [Blockierte Grafik: http://img6.imagebanana.com/img/0padm20d/thumb/Zwischenablage04.jpg]

    Zu 24.)
    [Blockierte Grafik: http://img6.imagebanana.com/img/j2fa90nh/thumb/Zwischenablage03.jpg]

    Zu 25.) [Blockierte Grafik: http://img6.imagebanana.com/img/qow02ztn/thumb/Zwischenablage01.jpg][Blockierte Grafik: http://img6.imagebanana.com/img/3eegct1e/thumb/Zwischenablage02.jpg]

    Zu 26.)
    [Blockierte Grafik: http://www.imagebanana.com/img/hidkcrhl/Zwischenablage02.jpg]

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 26. Mai 2011 um 21:40

    21. ExternalApplications // Eine sehr schöne Nummer für n schnellen Zugriff auf externe Anwendungen direkt aus dem Fuchs heraus. Erspart das Addon External Application Buttons. Das Script bring 5 vordefinierte Anwendungen mit, u.a. den IE, CMD, Notepad,... und platziert diese als kleine Icons in der Menubar (Siehe Beispielbild unten). Die Buttons greift das Script aus der Systemvorlage ab, die man mit einem entsprechenden *css Code verändern kann. Man kann nach belieben die Anwendungen selber und deren Reihenfolge, sowie die Anzahl im Script umschrauben. Auch der Positionswechsel in eine andere Toolbar scheint nach meinem Selbstversuch problemlos möglich. Es gibt auch immer einen passenden Tooltip dazu. Ist es einem zu viel mit den ganzen Buttons in der Leiste, kann man dat ganze wunderbar zu einem Menüpunkt zusammen fassen:

    [Blockierte Grafik: http://www.imagebanana.com/img/9w375u8w/Zwischenablage02.jpg] [Blockierte Grafik: http://img6.imagebanana.com/img/lpau0xvd/Zwischenablage02.jpg]

  • userChrome.js Scripte für Fuchs 16 (Zusammenstellung) alt

    • loshombre
    • 26. Mai 2011 um 21:40

    21. ExternalApplications // Eine sehr schöne Nummer für n schnellen Zugriff auf externe Anwendungen direkt aus dem Fuchs heraus. Erspart das Addon External Application Buttons. Das Script bring 5 vordefinierte Anwendungen mit, u.a. den IE, CMD, Notepad,... und platziert diese als kleine Icons in der Menubar (Siehe Beispielbild unten). Die Buttons greift das Script aus der Systemvorlage ab, die man mit einem entsprechenden *css Code verändern kann. Man kann nach belieben die Anwendungen selber und deren Reihenfolge, sowie die Anzahl im Script umschrauben. Auch der Positionswechsel in eine andere Toolbar scheint nach meinem Selbstversuch problemlos möglich. Es gibt auch immer einen passenden Tooltip dazu. Ist es einem zu viel mit den ganzen Buttons in der Leiste, kann man dat ganze wunderbar zu einem Menüpunkt zusammen fassen:

    [Blockierte Grafik: http://www.imagebanana.com/img/9w375u8w/Zwischenablage02.jpg] [Blockierte Grafik: http://img6.imagebanana.com/img/lpau0xvd/Zwischenablage02.jpg]

  • userChrome.js Scripte für Fuchs 14 (Zusammenstellung)

    • loshombre
    • 26. Mai 2011 um 21:40

    21. ExternalApplications // Eine sehr schöne Nummer für n schnellen Zugriff auf externe Anwendungen direkt aus dem Fuchs heraus. Erspart das Addon External Application Buttons. Das Script bring 5 vordefinierte Anwendungen mit, u.a. den IE, CMD, Notepad,... und platziert diese als kleine Icons in der Menubar (Siehe Beispielbild unten). Die Buttons greift das Script aus der Systemvorlage ab, die man mit einem entsprechenden *css Code verändern kann. Man kann nach belieben die Anwendungen selber und deren Reihenfolge, sowie die Anzahl im Script umschrauben. Auch der Positionswechsel in eine andere Toolbar scheint nach meinem Selbstversuch problemlos möglich. Es gibt auch immer einen passenden Tooltip dazu. Ist es einem zu viel mit den ganzen Buttons in der Leiste, kann man dat ganze wunderbar zu einem Menüpunkt zusammen fassen:

    [Blockierte Grafik: http://www.imagebanana.com/img/9w375u8w/Zwischenablage02.jpg] [Blockierte Grafik: http://img6.imagebanana.com/img/lpau0xvd/Zwischenablage02.jpg]

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 23. Mai 2011 um 21:39
    Zitat von Hombre

    zusätzlich noch ein Skript, welches alle Dateien mit .uc.js und .uc.xul als Dateiendung aus dem Ordner chrome nutzt

    Dafür brauchst du kein zusätzliches. Ein kleiner Einzeiler in der chrome.js reicht dafür mtw. aus.

    Code
    userChrome.import("*", "UChrm");
  • userChrome.js Scripte für Fuchs 16 (Zusammenstellung) alt

    • loshombre
    • 23. Mai 2011 um 21:39
    Zitat von Hombre

    zusätzlich noch ein Skript, welches alle Dateien mit .uc.js und .uc.xul als Dateiendung aus dem Ordner chrome nutzt

    Dafür brauchst du kein zusätzliches. Ein kleiner Einzeiler in der chrome.js reicht dafür mtw. aus.

    Code
    userChrome.import("*", "UChrm");
  • userChrome.js Scripte für Fuchs 14 (Zusammenstellung)

    • loshombre
    • 23. Mai 2011 um 21:39
    Zitat von Hombre

    zusätzlich noch ein Skript, welches alle Dateien mit .uc.js und .uc.xul als Dateiendung aus dem Ordner chrome nutzt

    Dafür brauchst du kein zusätzliches. Ein kleiner Einzeiler in der chrome.js reicht dafür mtw. aus.

    Code
    userChrome.import("*", "UChrm");
  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 23. Mai 2011 um 00:55

    Zusammenstellung Teil 5, Scripte von 401 - 445


    401. Revert Stop Reload Button // Damit bekommt der Fuchs die beiden separaten "Stopp und Neu laden" Buttons zurück, die man über das Anpassen-Fenster frei positionieren kann.
    402. Revert AddonBar StatusBar // Dieses Script bringt die kleine Statusbar und die Addonbar wieder in den Fuchs zurück.
    403. Add Toolbar Inside LocationBar // Dieses Script kreiert eine neue Toolbar. In dieser platzierte Buttons werden nach dem Verlassen des "Anpassen"-Modus rechts in der Adressleiste angezeigt. Diese Toolbar ist dort auch eingetragen. Möchte man einen Button zB. auf einer anderen Toolbar platzieren, was aber das jeweilige Addon, oder gar der Fuchs selbst nicht zulässt (zB. in Verbindung mit Script 402. Revert AddonBar StatusBar), dann schiebt man den erst mal in die neue Toolbar, um ihn dann in eine andere verschieben zu können. Die neue Toolbar erscheint beim Anpassen links neben der Navbar (leicht rot umrandet) und startet beim ersten Anpassen mit dem Feedbutton in der Leiste.
    404. Progressbar in Tab // Mit diesem Script bekommen die Tabs während des Ladevorgangs oben einen dünnen farbigen Progressmeter spendiert. Farbe, Größe, Position kann im CSS Teil des Scripts eigenen Vorlieben angepasst werden.
    405. Mouse Hover Close Tab // Mit diesem Script wird der Tab automatisch geschlossen, wenn man mit dem Mauszeiger den Schließbutton berührt. Zeitintervall zum Schließen ist in Scriptzeile 4 auf eine halbe Sekunde eingestellt.
    406. Mouseover Open Bookmark Folder // Mit diesem Script öffnen die Ordner auf der Lesezeichen-Symbolleiste automatisch, wenn man diese mit dem Mauszeiger berührt.
    407. Overwrite Middle Mouse Paste Mod // Erlaubt automatisches Einfügen des zuvor kopierten Wortes/Textes mit der mittleren Maustaste in alle möglichen Textfelder.
    408. Reset Searchbar // Ein Doppelklick in die Searchbar löscht deren Inhalt. In Scriptzeile 7 kann mit "true" auch die Searchbar-Chronik mit gelöscht werden.
    409. Search Plugin-4-About Config // Dieses Script generiert ein neues Searchplugin "aboutConfig" samt Icon in die Searchbar, mit dem man direkt in about:config nach Einträgen suchen kann.
    410. Move Feedbutton To Urlbar // Dieses Script, als aktuelle Alternative zum Script FeedButtonInUrlbar.uc.xul befördert den Feedbutton des Fuchses samt allen seinen Funktionen in die rechte "Ecke" der Urlbar.
    411. Clear Cache Button Movable // Mit diesem Script wird via Button, der im "Anpassen-Modus" frei beweglich ist und einem Eintrag im "Extra" Menü der Cache gelöscht.
    412. Copy Gif // Hiermit kann man mit dem neuen Eintrag im Kontextmenü "GIF kopieren" Gif-Grafiken automatisch auf die Platte in den Fuchs-Cacheordner kopieren.
    413. Show Date And Time // Dieses Script, als Alternative zu den Scripten Uhrzeit+Datum in Titlebar und StatusBar Clock, zeigt das aktuelle Datum und Uhrzeit ganz links am Anfang der Tabbar. Optisch kann man es bei Bedarf im Script in Zeile 5 (style) und die Position in Zeile 6 bearbeiten.
    414. Trigger Zone // Mit diesem Script bekommt man ein kleines optisches Auswahlmenü mittig am rechten Browserrand in Form eines kaum sichtbaren Vierecks, womit man, nach dem er mit der Maus befahren wird, zwischen den Tabs hin und her schalten, die Seite rauf und runter scrollen und den Fuchs neu starten kann. In den Scriptzeilen 8 und 26-31 kann man die ganze Optik bei Bedarf noch bearbeiten.
    415. Search Term Keep In Tab // Der Inhalt der Suchleiste ist damit Tab-abhängig. Das heißt, wenn in einem Tab etwas ins Suchfeld eingegeben wird, ist das für diesen Tab gespeichert und wenn ein Tabwechsel vorgenommen wird, ist dort das Suchfeld leer oder beinhaltet den Text einer dort vorgenommenen Suche.
    416. Addon Lister // Dieses Skript füllt ein wenig die Lücke, die die Erweiterung "InfoLister" hinterlassen hat und schreibt die Konfiguration des Firefox (möglich sind: Useragent, Erweiterungen, Themes, Plugins, Wörterbücher, Dienste, Stylish-Einträge, Greasemonkey- und userChromeJS-Skripte) in eine Datei.
    417. Backup Profile // Fügt eine neue Schaltfläche in die Nav-bar ein, damit kann das ganze Profil inklusive Chromeordner des Profils, gesichert werden. Wichtig: Es muss im Script ein vorhandener Ordner angegeben werden!
    418. Dblclick-Context Menu // Damit kann mit einem Doppelklick das Rechtsklick Kontextmenü geöffnet werden.
    419. Expand Sidebar // Dieses Script blendet automatisch die Seitenleiste ein und aus, auch im Vollbildmodus. Seitenleiste kann wahlweise Links oder rechts im Browser-Fenster eingeblendet werden. Zum öffnen der Seitenleiste, Maus einfach auf Linken Seitenrand positionieren. Seitenleiste kann auch durch ziehen geöffnet werden. Sobald die Maus die Seitenleiste verlässt schließt sich die leiste automatisch.
    420. Toggle Image Btn // Fügt einen Button in die Nav-bar ein. Damit kann man alle Bilder einer Seite anzeigen oder nicht anzeigen lassen.
    421. View In Other Browser // Lesezeichen direkt aus Lesezeichen-Kontextmenü in anderen Browsern öffnen.
    422. Plugin Btn // Fügt einen Button in die Nav-bar ein, zum aktivieren/ deaktivieren von Plugins.
    423. Inspect Element ModY // Bietet die selbe Funktionalität wie, Script 189 Inspect Element. Zusätzlich kann man unter Web-Entwickler Menü - Extras, über den neuen Eintrag Inspect Element Einstellungen einstellen, ob man den Domi, Firebug, oder den integrierten Betrachter verwenden will.
    424. Global Find Term // Fügt der Findbar links das Wort Suchen hinzu. Beim eintippen wird direkt gesucht, Rechtsklick auf Suchen löscht den Text aus Eingabefeld, Linksklick auf markierten Text fügt diesen in Suchfeld der Findbar ein.
    425. ViewLink Source //Link-Quelltext mit Mittelklick in neuem Tab, mit Rechtsklick in Seitenleiste öffnen.
    426. Copy Without Spaces // Fügt einen Eintrag im Kontextmenü hinzu, um markierte Teile ohne Leerzeichen (z.B. hilfreich für IBAN) zu kopieren.
    427. New Tab Override //Die Adresse der Seite, welche beim Öffnen eines neuen Tabs erscheint, stand bislang in browser.newtab.url. Ab Firefox 41 gibt es diesen Schalter nicht mehr, dafür eine Erweiterung mit dieser Funktion. Mit dem Skript kann man ebenfalls die URL wieder selbst festlegen, sie wird bei const url = ... eingetragen.
    428. Paste Searchbar //Damit kann man Text aus Zwischenablage, mit Doppelklick in die Suchleiste einfügen und je nach Einstellung im Script auch automatisch suchen lassen.
    429. Send To Player //Als Alternative zum nicht mehr richtig funktionierenden Script Open Player.
    430. Clear Search Word //Als Alternative zum nicht mehr funktionierenden Script Clear Search Term.
    431. Copy Tab URL // Mit diesem Skript kann man die Adresse eines Tabs in die Zwischenablage übernehmen.
    432. Multi Row Tab Lite // Eine Lite-Version des gleichnamigen Scriptes als experimentelle CSS Version der mehrzeiligen Tableiste.
    433. Auto Copy Menu // Mit der Maus markierter Text auf einer Webseite wird automatisch in die Zwischenablage übernommen. Einstellung regelbar über das Extra-Menü.
    434. Delay Load // Verzögerung beim Laden von Firefox Erweiterungen beim Browserstart.
    435. FirefoxBtn // Erstellt einen neuen Firefoxbutton in der Tabbar, der sämtliche Menüs in sich vereint.
    436. Full Screen Browser ManipulateBtn // Verändert das Aussehen der Fenster-Schaltflächen im Vollbildmodus, der mit F11 gestartet wird.
    437. Mouse Hover New Tab // Neuen Tab bei Hover über neue Tab-Schaltfläche automatisch öffnen.
    438. Move Downloads2 History with Download Manager Tweek // Mit diesem Skript werden die geladenen Downloads auch in der Chronik aufgelistet. Löschen aus der Chronik entfernt den Eintrag auch aus dem Downloadpanel.
    439. Move Downloads2 History with Library // Mit diesem Skript werden die geladenen Downloads auch in der Bibliothek aufgelistet. Löschen aus der Bibliothek entfernt den Eintrag auch aus dem Downloadpanel.
    440. Right Click Link in NewTab // Öffnet per Rechtsklick einen Link im Hintergrund-Tab.
    441. Toggle Findbar By Double Click // Suchleiste (Findbar, die mit STRG+F geöffnet werden kann) mit Doppelklick in Seitenbereich öffnen/schließen.
    442. Eyedropper2 // Erstellt in der Navbar einen verschiebbaren, bunten Button, über dessen Klick man mit einem Kreuz den Hexcode einer beliebigen sich auf einer Seite befindenden Farbe in die Zwischenablage bekommt (Alternative zu dem veralteten Skript Eyedropper).
    443. LoadingBar-mod // Diese Version zeigt den Ladebalken nicht in der Adressleiste sondern direkt im Browserfenster unter der letzten Leiste. In Zeile 29 kann man die Höhe des Ladebalkens einstellen.
    444. Search Engine Wheel Scroll // Dieses Skript ermöglicht das Wechseln der Suchmaschine mit Scrollen, leert nach dem Suchen die Suchleiste und stellt auf die Standardsuchmaschine zurück. Am Anfang des Skripts ist ein ganzer Teil, in dem man Gewünschtes einstellen kann.
    445. Quick Media Codec // Wenn man einen direkten Link zu einer.mp3./mp4/.m4a/.m4a/.ogv/.ogg öffnet, spielt Firefox diese Datei standardmäßig ab. Wurde vorher die Stop-Taste des Quick Media Codecs gedrückt, wird diese Datei direkt heruntergeladen. Der Stop/Play-Button wird durch das Skript standardmäßig in die Navigationsleiste gesetzt.
    446. Force-Contextmenu // Erstellt in der Navigationsleiste einen Button, mit dem man umschalten kann, ob das Standard-Kontextmenü auf bestimmmten Webseten (z.B. bei Videos auf youtube.de) immer aufgerufen werden oder ausgeblendet werden kann.
    447. Restart Panelbutton // Dieses Script fügt dem Popup Menü des Hamburgerbuttons einen Eintrag zum Neustarten von Firefox hinzu.
    448. Firefox Buttons // Das ist ein Sammelscript, es enthält im Moment 18 verschiedene Schaltflächen(Buttons).


    Scriptdownloads inkl. Beschreibung und Bilder mit freundlicher Unterstützung bei Kamerad Mithrandir auf github.com

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 23. Mai 2011 um 00:55

    Zusammenstellung Teil 4, Scripte von 301 - 400


    301. Combine Manipulate MinMaxClose Button // Dieses Script basiert auf dem Script Multibutton. Hierbei gibt es einen Button, der aus dem Anpassen" Fenster überall hin platziert werden kann, über diesem man den Fuchs Minimieren, Wiederherstellen und Beenden kann.
    302. URLTooltip_mod // Ähnlich wie Nr.56. Popup Url bringt das Script etwas modifiziert 2 Tooltips direkt an einem Link zum Vorschein.
    303. Clear Field Button // Dieses Script bringt einen Button mit, den man über das "Anpassen" Fenster an eine gewünschte Position ziehen kann. Mit einem Linksklick drauf wird die Suchleiste gelöscht, mit Mittelklick die Such -und/oder Eingabefelder innerhalb einer Seite, mit Rechtsklick die Adressbar. Zusätzlich wird ein Button in der unteren Suchleiste (Findbar) positioniert, über den auch deren Eingaben gelöscht werden können.
    304. Findbar Clear Button // Dieses Script bringt den Button zum Löschen der Suchleiste (Findbar) aus dem Script Nr.303. Clear Field Button als alleinige eigenständige Funktion.
    305. Back To The Favicon // Das kleine Script bringt seit den letzten Fuchsversionen vermisstes Favicon wieder in die Adressleiste zurück.
    306. Firefox Appmenu Button // Hierbei handelt es sich um eine echte Alternative zum Skript "Movable Firefox Button". Im Unterschied zum Vorgänger kann der Button tatsächlich ganz einfach bewegt werden, indem man ihn über die Anpassen-Funktion der Symbolleiste verschiebt. (inkompatibel)
    307. Floating Scrollbar // Eine schöne Alternative zum Script Smart Scrollbar. Auch hier gibt es einen Eintrag im Extra Menü, mit dem man die Scrollbar umschalten kann. Das Positive hierbei ist, dass diese sofort wirkt, also ohne das Fenster, den Tab neu laden zu müssen. Dann ist sie fast transparent und sehr schmal. Mit den Größenverhältnissen und der Farbe kann man natürlich bei Bedarf im CSS Abschnitt des Scriptes rum spielen.
    308. Simple Session Manager // Schönes Script zum speichern mehrerer Browser Sitzungen. Im Extra Menü gibt es dafür ein Untermenü, in dem man die Sitzungen speichern, wiederherstellen, löschen, umbenennen und halt verwalten kann. Jede Aktion wird von einem Alert Popup begleitet, in dem man was auswählen, umbenennen, oder löschen kann. Die Sitzungen werden in einer "simple_session_manager.json" Datei im Chromeordner automatisch angelegt. In der zweiten Scriptzeile (Nr.9) kann man mit 0, 1, oder 2 selbst bestimmen, wie die Sitzungswiederherstellung zu erfolgen hat. Im neuen Fenster, durch Überschreiben der aktuell geöffneten Seite, oder die aktuelle Seite wird einfach als ein zusätzlicher Tab an die Wiederherstellung dran gehangen.
    309. Mouse Scroll Close Tab // Mit diesem Script wird der aktive Tab geschlossen, in dem man den Mauszeiger auf dem Tab positioniert und eine minimale Scrollrad-Bewegung (hoch, oder runter) ausführt.
    310. Places_Add Bookmarks // Dieses Script vom wilden Alice bringt anstelle von Fuchskontext ein vernünftiges Kontextmenü in das Menüleisten-Popup der Chronik, mit dem man so einiges anstellen kann.
    311. Vertical Tabbar // Ein Script von Alice, bei dem die Tabs tatsächlich vertikal links neben dem Hauptfenster dargestellt werden. Bei dem Script wird davon abgeraten, irgendwelche Tab Addons ala TMP ect... mit am Start zu haben. Um die Tabs unter einander verschieben zu können, muss das Script Remove Tab Move Animation von Alice mit am Bord sein.
    312. External Applications_Extended // Diese Scriptversion, basierend auf dem Script External Applications bietet gleichzeitig die Applicationen als Buttons in der Toolbar und als Menü unter Extras.
    313. Extension Options Menu // Dieses Script, als Alternative zum Script Nr.59. Options Menu, bringt einen Menübutton in die Menübar mit, über den man schnell an seine installierten Addons dran kommt. Neben den schon aus Options Menu bekannten Funktionen werden noch im Tooltip die Namen, bzw. die XPI Bezeichnungen der Addons angezeigt. Rechtsklick auf Addon de /- aktiviert dieses, Linksklick öffnet dessen Einstellungen, Mittelklick die Addon Homepage und Linksklick auf Button den Addons Manager. Mit Strg + Linksklick auf Addon öffnet dessen Installationordner im Profil. Am Scriptanfang kann man zwischen 3 Buttons wählen, die Versionsnummern ein/-ausblenden, die Toolbar für den Button selbst bestimmen und den automatischen Neustart beim De -/ Aktivieren der Addons ein/-ausschalten.
    314. Link Locationbar Lite_Reverse // Ein nahe zu identisches Script, wie Link Locationbar Lite mit dem Unterschied, dass hierbei der Link in der Urlbar auf der linken Seite vor der Adresse angezeigt wird. Scriptkommentare beachten.
    315. Add Hostname In Titlebar // Mit diesem Script kann man sich in der Titlebar vor dem Seitentitel zusätzlich auch den Hostnamen anzeigen lassen.
    316. Add URL In Titlebar // Mit diesem Skript kann man sich in der Titlebar vor dem Seitentitel zusätzlich auch den URL anzeigen lassen.
    317. Web ScreenShot Button // Dieses Skript erstellt einen Button in der Statusbar, mit dem man einen Screenshot von einem frei wählbaren Bereich einer Webseite erstellen kann. Im Kontextmenü erscheint bei Grafiken die Möglichkeit, diese als Base64-Code in die Zwischenablage zu kopieren.
    318. Tab Open in Sidebar Menu Plus // Dieses Script öffnet den anvisierten Tab über das Tab-Kontextmenü und Links über Hauptkontextmenü in der Sidebar.
    319. Copy Feed URL // Hiermit lassen sich über das Kontextmenü des Feedbuttons die Feedadressen der aktuellen Webseite einzeln in die Zwischenablage kopieren.
    320. Auto Popupable Patch // Dieses Script funktioniert nur in Verbindung mit dem Script Nr.29. Auto Popup und öffnet automatisch das Stylemenü Popup am Stylish Button.
    321. Context Link Text // Dieses Script bringt ein kleines Menü "Linktext" in den Hauptkontext, mit dem man den Text eines Links, der nicht extra markiert werden muss, kopieren, über Google suchen und als neue Url (wird anhand des/der Wörter neu kreiert) öffnen kann.
    322. Undo Close Tab Menu // Eine schlanke Alternative zum Script Nr.182. Undo List In Tabmenu Too mit dem man nur im Tabkontext eine Liste der kürzlich geschlossenen Tabs für deren Wiederherstellung bekommt.
    323. Auto Copy Lite // Eine schlanke Alternative zum Script Nr.1. Auto Copy, die auch genau die gleiche Funktion ausführt, nämlich markierten Text auf einer Webseite automatisch in die Zwischenablage zu übernehmen.
    324. Show Cookies Groupe // Dieses Script von Alice beschäftigt sich mit der Behandlung von Cookies und der Chronik des Fuchses in dem Fenster "Einstellungen > Datenschutz". Sollte es diesbezüglich zum Größenproblem des Fensters kommen, empfiehlt sich Script Nr. 326 Resize Window.
    325. Remove Old Browsing History // Mit diesem Script von Alice wird der komplette Browser-Verlauf nach einer selbst vordefinierten Zeit (in Tagen) automatisch gelöscht. Dies geschieht in der Zeile Nr.7 im Script. Voreingestellt sind 7 Tage.
    326. Resize Window // Damit kann man bei Bedarf einige Fuchsfenster in ihrer Größe und Position verändern. Default Einstellung ist dauerhaft. Veränderungen werden in der Scriptconfig (Zeilen 42, 43) gemacht.
    327. Open Url With // Mit diesem Skript kann die angezeigte Seite, ein Link oder ein (I)FRAME über das Kontextmenü in anderen Applikationen geöffnet werden. Die Pfade zu den vorkonfigurierten Browsern können in den Zeilen 10 bis 13 angepasst werden.
    328. Rebuild Appmenu // Dieses Script modifiziert das Menü des Appbuttons, indem es teils schon vorhandene und einige neue Einträge in die linke Menüseite hinzufügt (alle neuen Einträge haben ein graues Icon). (inkompatibel)
    329. Download Progress In Library // Dieses Script von Alice bringt eine prozentuale Downloadanzeige in die Titlebar jedes Fuchsfensters, während eines Downloads.
    330. Open Link By Long Press // Wenn man mit diesem Script etwas länger auf einem Link klickt, öffnet dieser automatisch in einem neuen Tab. Die "Klickdauer" und ob der Tab im Vor- oder Hintergrund geöffnet werden soll, kann im Script eingestellt werden. Aktiviert ist der Tab im Vordergrund.
    331. Toggle Menubar On Tabbar // Mit diesem Script wird die Menübar per Doppelklick auf die Tabbar automatisch aus -und eingeblendet.
    332. Multi Home Popup // Mit diesem Script bekommt der Homebutton ein Menü spendiert, über das man die Startseite/n bearbeiten kann.
    333. Show Location Mod // Eine Kombination zweier Scripte + ne kleine Modifikation. Zum Vorschein kommt eine kleine Nationalflagge des Landes, wo die aktuelle Seite her kommt + deren Servername und IP. Platziert wird das ganze in der Urlbar links anstelle des Favicons. In der Scriptzeile 14 kann man bei Bedarf auch eine andere Toolbar, oder Position eintragen.
    334. Show Location Mod Special // Als Alternative zum Script Nr. 253. Show Flag wird hier nur die Nationalflagge des Landes, wo die aktuelle Seite her kommt, in der Urlbar links anstelle des Favicons angezeigt.
    335. Findbar Plus // Hiermit werden die auf einer Seite gefundenen Wörter in der Findbar gezählt und gleichzeitig gibt es neben dem Suchfeld einen "Löschen" Button, mit dem man den Inhalt dieser eben löschen kann.
    336. Middle Click Focus Open // Mit diesem Script wird beim kurzen/schnellen Mittelklick auf ein Link, dieser in neuem Tab im Hintergrund geöffnet, beim langen Mittelklick im Vordergrund.
    337. About Config Multiple Selection // Hiermit kann man in den Fuchs Configs (about:config) mit der "Strg" Taste Mehrfachmarkierungen tätigen.
    338. Export HTML Folder // Mit diesem Script bekommt man im Kontext einzelner Lesezeichen und Ordner einen neuen Menüeintrag "Als HTML-Ordner exportieren". Damit werden die Lesezeichen unter ihrem Namen als Ordner auf die Platte exportiert.
    339. Google Search Icons // Hiermit bekommen die Google Suchergebnisse das Favicon der jeweiligen Seite spendiert.
    340. Confirmation To Start Update // Wenn ein Fuchs Update ansteht, bekommt man mit diesem Script vor der Aktualisierung ein Popup angezeigt, welches Update gefunden wurde und ob man den Fuchs auch wirklich aktualisieren möchte. Erst wenn das bestätigt wird, beginnt das Fuchs Update.
    341. Context History Menu Lite // Hiermit kommt nur die reine letzte Fuchschronik als Menü in das Hauptkontextmenü des Fuchses dazu.
    342. Context History Menu // Hierbei wird das gesamte Chronikmenü aus der Menübar zusätzlich in das Hauptkontextmenü des Fuchses eingebaut.
    343. Bookmark Button Lite // Dieses Script platziert einen neue Button in die Navbar mit einem schlanken Lesezeichenmenü als Inhalt.
    344. Bookmark Button Plus // Mit diesem Script bekommt man ebenfalls einen neue Button in der Navbar, allerdings mit dem gesamten Lesezeichenmenü aus der Menübar.
    345. Bookmarkmenu Plus // Dieses Script dient als Ergänzung zu den beiden Bookmark Button Scripten und kann nur mit jeweils einem davon zusammen verwendet werden. Dabei kommt ein neues Menü "Lesezeichen importieren und sichern" mit entsprechendem Untermenü dazu.
    346. Scroll To Top & Bottom // Mit diesem Script kann man mit dem Mausrad durch eine kleine Bewegung direkt ans Ende, oder Anfang einer Seite springen. Das "normale" Scrollverhalten wird dadurch nicht beeinträchtigt, weil die Funktion erst aktiv wird, wenn man ab ca. 50 Pixel den Zeiger rechts neben der Scrollbar positioniert. Das funktioniert auch, wenn die Scrollbar durch ein Script, oder CSS Code ausgeblendet wird.
    347. Close Download Dialog Tab // Basierend auf dem Script CloseBlankTabOnCloseDownloadDialog.uc.js wird damit der Downloadtab nach dem Ende eines Downloads automatisch geschlossen. Voraussetzung ist der "alte" Download Manager vor Fuchs 21(also kein Panel-Download) und ein Script, oder Addon für den Download im Tab.
    348. Open Link in New Tab with Right Click // Mit diesem Script gibt es bei einem Rechtsklick auf ein Link kein Kontextmenü mehr, sonder der Link wird in einem neuen Tab geöffnet.
    349. Double Click To Pin Tab // Hiermit wird ein Tab durch einen Doppelklick drauf angepinnt.
    350. Close Tabs From The Beginning // Mit dem Script bekommt das Tab-Kontextmenü einen neuen Eintrag "Linke Tabs schließen", womit alle Tabs links neben dem aktiven gleichzeitig geschlossen werden.
    351. Copy Bookmark // Damit gibt es überall im Kontextmenü der Lesezeichen neue Einträge "Url kopieren", "Titel kopieren", "Titel und Url kopieren" und eventuell auch "(Ordner)" und "(Kein Titel)".
    352. Historymenu // Mit diesem Script gibt es einen neuen Button (über das Anpassen-Fenster frei platzierbar), mit dem man Zugriff auf die Chronik bekommt.
    353. Super Drag // Ein sehr schlanker Ableger basierend auf dem Script DragNgoModoki.uc.js, auch vergleichbar mit Easy Drag To Go_Mod.uc.js, mit dem man 8 Mausfunktionen durch das "Ziehen und Loslassen" bekommt.
    354. Default Full Zoom Level // Ein alternatives Script zum StatusbarZoomPanel.uc.js. Die Handhabung ist fast die gleiche. Außer im Menü, wird auch am Zoomfaktor in der Adressleiste mit der Maus geschaltet. Linksklick ändert hier automatisch von V = Vollzoom auf T = Textzoom, mit Mittelklick wird zurück gesetzt.
    355. Default Full Zoom Btn // Basierend auf dem Script Default Full Zoom Level gibt es hierbei anstelle des Zoomfaktors einen Button in der Adressleiste. Die Funktionen sind die selben. Beim Umschalten zwischen Text -und Vollzoom verändert der Button sein Aussehen. Den Zoomfaktor gibt es hier dann im Tooltip.
    Tipp: Aufgrund der Buttongröße und der Position empfiehlt sich entweder einen kleineren Button über Base64 Code im Script selbst zu ersetzen (Zeile 690-691), oder dessen Position zu ändern (Zeile 1194).
    356. Restart Firefox Button_Movable // Wie bei den anderen Restart-Scripten ein Neustart des Fuchses mit automatischem Leeren des userChrome.js Cache. Hierbei kann man aber die Buttonposition über das "Anpassen" Fenster frei wählen.
    357. Animation Toggle Button_Movable // Mit diesem Script können die Gif-Animationen auf Seiten ein/-ausgeschaltet und nur ein mal abgespielt werden. Dies geschieht über einen Button, dessen Tooltip die Mausbelegung beschreibt. Der Button kann über das "Anpassen" Fenster frei positioniert werden und ändert je nach Status sein Aussehen (Link zum eigenen Thread).
    358. Scroll With Mouse // Sobald der Mauszeiger die Scrollbar erreicht, ermöglicht dieses Script ein Scrollen mit der Maus, ohne das Scrollrad benutzen zu müssen.
    359. Update Bookmark Lite // Dieses Script schafft einige neue Einträge in das Kontextmenü der Lesezeichen und deren Ordner, mit denen man diese dann zB. mit Titel, Adresse, oder auch alles zusammen aktualisieren und neue Lesezeichen setzten kann.
    360. Sidebar Btn // Dieses Script bringt einen Button (über "Anpassen" Fenster Position frei wählbar) mit, über den man mit der jeweiligen Maustaste die Lesezeichen, die Chronik und den Addons Manager in der Sidebar direkt öffnen kann.
    361. Sidebar Context Menu // Mit diesem Script gibt es in der Sidebar, oberhalb der Suchleiste ein Menü mit Einträgen, die in der Sidebar geöffnet werden können. Die einzelnen Einträge kann man auch (mit zeitlicher Verzögerung) mit dem Mausrad öffnen, in dem man über das Menü leicht scrollt.
    362. Sidebar Menu In Content Area Context Menu // Hiermit kann man das Sidebar Menü mit den dazu gehörigen Einträgen auch über das Hauptkontextmenü des Fuchses erreichen.
    363. Remove Tab Move Animation // Hiermit wird die neue Tabanimation beim Verschieben der Tabs untereinander deaktiviert.
    364. Save UserChromeJS // Mit diesem Script wird das Installieren der Scripte auf Github endlich einfach und leicht gemacht. Ein mal direkt über das "Installieren" auf der Scriptseite und ein mal über "Raw" mit Linksklick. Hierbei bitte auch den Kommentar in der oberen "Installieren" Leiste beachten.
    365. Scroll Search Plus // Eine Kombination mehrerer Such-Funktionen über die Maustasten aus dem Kontextmenü heraus und in der Searchbar selbst, wie zB. Umschalten der Suchmaschinen inkl. Icon per Scrollrad übers Kontextmenü, Suchmaschinenwechsel in der Searchbar mit Scrollrad, Löschen des Inhalts durch Rechtsklick auf das Searchplugin Icon und noch einiges mehr (teils englische Funktionserklärungen im Script vorhanden).
    366. In Form Enter Plus //Ähnlich dem Script In Form Enter Lite, werden hiermit selbst definierte zB: Login Daten zur Anmeldung, oder Suchbegriffe in den Suchmaschinen (IME Eingaben) automatisch mit Rechtsklick eingefügt. Die Konfiguration erfolgt allerdings nicht im Script, sondern über ein Eingabe-Popup direkt im Browser. Gespeicherte Daten werden in der automatisch angelegten Datei InformEnter.json im Chromeordner erfasst und können bei Bedarf direkt auch dort mit einem Editor bearbeitet werden.
    367. Tab Close Middleclick On Page // Schließt den aktuellen Tab mit Mittelklick irgendwo auf der Seite, ausgenommen der Mauszeiger befindet sich über einem Link; dann wird die übliche Funktion des Mittelklicks ausgeführt. Das Skript verträgt sich nicht mit dem automatischen Bildlauf und wird nur ausgeführt, wenn dieser nicht aktiviert ist.
    368. Addons Page // Dieses Script vereint zwei verschiedene Addon Manager-Scripte und erweitert noch die Funktionen, die da wären: Öffnen des jeweiligen Installationsverzeichnisses, ein direkter Link der Installationsseite (nur die auf AMO gelisteten Addons), Link des lokalen Pfades der Plugins, Kopieren des Namen (auch GM, Scriptish und Stylish). Die Funktionen verteilen sich auf das Kontextmenü und die Addonsbeschreibungen selbst.
    369. Hide Tabbar With One Tab // Das Skript basiert auf der gleichnamigen Erweiterung. Seit Firefox 23 kann man die Tableiste nicht mehr ausblenden, wenn nur ein Tab offen ist. Mit diesem Skipt umgeht man dieses Problem. Das Skript setzt browser.tabs.drawInTitlebar auf false, da es sonst bei ausgeblendeter Menüleiste zu einer Überlagerung von Titelleiste und Navigationsleiste kommen kann.
    370. Stylish Custom // Dieses Script bohrt mit seinen zusätzlichen Funktionen die Erweiterung Stylish auf und kann nahezu komplett das gleichnamige Addon ersetzen. Es gibt viele bereits vorgefertigte Regeln, Urls werden automatisch erkannt, den Namen der Styles kann man automatisch als Kommentar markieren, die Vorschau mit einem Klick wieder zurücksetzen und das Ganze gleichzeitig Speichern und Schließen.
    371. IP To Geolocation // Mit diesem Script, auf gleichnamigem Addon basierend, kann man sich die Lokalisierung einer Seite mit allen zur Verfügung stehenden Angaben anzeigen lassen. Dies geschieht in einem Popup, das nach dem Klick auf den neuen Eintrag "IP lokalisieren" im Hauptkontextmenü dann zum Vorschein kommt. Das funktioniert auch mit weiter führenden Links auf einer Seite. Verarbeitet und bereitgestellt (je nach dem, was die jeweiligen Seiten natürlich selbst liefern) werden die Daten von dem Dienst ip-api.com.
    372. Microsoft Translator Tooltip // Dieses Script ist eine chinesische Abwandlung unseres Scriptes "Bing Translator", das wir dennoch in die Sammlung mit aufnehmen werden. Nachdem Text markiert wurde (kein Doppelklick!), erscheint das Bing Symbol, auf das man noch einmal klicken muss, um die Übersetzung zu starten. Markierter Text in einer fast beliebigen Sprache wird mittels Bing-Übersetzungsdienst automatisch übersetzt. Falls der Text als deutsch erkannt wird, erhält man als Ergebnis die englische Übersetzung.
    373. Cut Copy Paste Tabs // 3 neue Menüeinträge des Scriptes erscheinen im Tabkontext (Kopieren, Einfügen, Ausscheiden), mit denen man Tabs kopieren, oder ausschneiden, oder in die Tabbar wieder einfügen (auch kopierte Links aus der Zwischenablage) kann (immer als einen neuen Tab). Script basiert auf der gleichnamigen Erweiterung.
    374. Smartly Close Findbar // Damit wird mit einem Klick irgendwo auf einer Seite die zuvor geöffnete Findbar automatisch wieder geschlossen.
    375. New Tabbutton Undo Tablist // Beim Rechtsklick auf den "Neuer Tab"-Button in der Tabbar erscheint mit dem Script eine Liste der kürzlich geschlossenen Tabs für deren Wiederherstellung. Dazu gibt es einen zusätzlichen Eintrag, um die Chronik in der Sidebar zu öffnen.
    376. Rightclick Undo Close Tab // Mit diesem Script kann man beim Rechtsklick auf den "Neuer Tab"-Button in der Tabbar die letzten geschlossenen Tabs wiederherstellen.
    377. New Tab By Long Press // Das Script ist eine erweiterte Version von Open Link By Long Press. Hierbei werden nicht nur Links, sondern auch die Lesezeichen (aus dem Menü und der Toolbar) und die Chronik in neuen Tabs geöffnet. Die Konfiguration befindet sich am Scriptanfang und in deutsch erklärt.
    378. Purge Tab History // Damit gibt es einen neuen Eintrag "Tab-Chronik löschen" im Tabkontextmenü, womit man eben die Chronik der einzelnen Tabs löschen kann.
    379. Reset Findbar // Hiermit wird der Inhalt der Findbar auf deren Doppelklick gelöscht.
    380. Search Go Button Plus // Dieses Script bringt einen Button mit, der über das Anpassen-Fenster frei positioniert werden kann. Damit gibt es über die Maustasten 3 verschiedene Möglichkeiten der Suche.
    381. Move Downloads 2 History // Mit diesem Script werden die geladenen Downloads oben im Chronikmenü aufgelistet.
    382. Auto Click // Dieses Script ermöglicht das automatische Öffnen von Links, ohne drauf klicken zu müssen. Unter "Extras" kommt auch ein neuer Menüpunkt hinzu "AutoClick aktivieren" (bzw. deaktivieren). Gestartet wird das Script deaktiviert. Das Ganze kann man im Menü umschalten, ohne Neustart und ohne die Seite neu laden zu müssen. Die Zeit bis zum Öffnen eines Links beträgt eine halbe Sekunde, kann aber im Scirpt (Zeile 30) geändert werden.
    383. Show Downloads Window // Der "alte" Download Manager in eigenem Fenster.
    384. Download Progress In Caption // Eine Alternative/Ersatz zum Script Display Download Progress In Library.
    385. Downloads Status Modoki // Eine Art Ersatz für die Erweiterung Download Status-bar. Sobald man einen Download startet, wird das in einer neuen Leiste in der Adoonbar angezeigt.
    386. Open Player // Youtube Videos mit eigenem externen Player öffnen (über einen neuen Eintrag im Kontextmenü) und anschauen. In Scriptzeile 12 muss der Playerpfad auf der Platte angepasst werden. In Zeile 13 kann bei Bedarf auch der Name geändert werden.
    387. User Agent Changer // Eine ausgedehnte Alternative zum Script User Agent Switcher Lite. Hierzu gibt es allerdings eine Konfigurationsdatei (_userAgentChange.js), die man bei Bedarf selbst bearbeiten kann. Diese muss in einem eigenen Ordner Namens "lib" im Chromeordner abgelegt werden.
    388. Warn On Close Protect Tab // Dieses Script funktioniert in Kombination mit TabProtect_mod1.uc.js, in dem es bei offenen geschützten Tabs und gleichzeitigem Schließen des Browsers eine Meldung anzeigt, ob man wirklich auch die geschützten Tabs schließen möchte.
    389. Auto Select Tab // Eine Alternative zum Script TabFocus.uc.js. Tabs mit der Maus mit kurzer Verzögerung ohne weitere Aktion (also ohne Klick) werden in den Vordergrund geholt. Zeitverzögerung (zur Zeit sind es 250 Millisekunden) in der Zeile 20 einstellbar.
    390. Pref Menu // Es gibt ein neues Menü unter Extras mit einigen vordefinierten Einträgen aus "about:config", die man dort direkt umschalten, oder über ein Popup neue Werte eingeben kann. Am Scriptbeginn kann man Einstellen, ob man es doch lieber als ein Menübutton haben will und wo man es haben will.
    391. Auto Copy Mod // Eine Alternative zu den Scripten AutoCopy.uc.js und AutoCopyLite.uc.js. Der Unterschied hierbei besteht darin, dass man über einen Button in der Urlbar (Position kann im Script individuell geändert werden) das automatische Kopieren jederzeit ab -und zuschalten kann. Dabei verändert sich die Buttonoptik und dessen Tooltip. Die Seite muss auch nicht neu geladen werden.
    392. Urlbar Auto Copy // Linksklick auf Adressleiste kopiert automatisch die Adresse der aktuellen Seite.
    393. Awesome Bookmarkbar // Mit diesem Script bleibt die Lesezeichenleiste ausgeblendet. Beim Fokussieren der Addresleiste (auch per Tastenkombi) wird die Lesezeichenleiste automatisch wieder eingeblendet und zwar so lange, bis die Adressleiste ihren Fokus wieder verliert.
    394. Find Next Prev By Mouse Wheel // Dieses Script ermöglicht bei aktivierter Findbar die gefundenen Begriffe rauf und runter zu suchen, in dem man den Mauszeiger in die Suchmaske positioniert und das Scrollrad hoch und runter bewegt.
    395. Tab Down // Damit werden die Tabs wieder nach unten verfrachtet.
    396. Loading Bar // Dieses Script "zaubert" einen animierten Progressmeter in die Adressleiste, der den "Ladevorgang" einer Seite optisch darstellt.
    397. Appmenu // Appmenü Button is back. Zusammengestellt aus verschiedenen Fuchseinträgen. Diese können im Script natürlich selbst erweitert werden (Beispiele im Script gibt es genug). Eingeblendet wird der Button ganz links am Anfang der Tabs Toolbar. In Zeile 165 kann nach Bedarf eine andere Toolbar eingetragen werden. In Zeile 175 sitzt der Button als Base64 Code (falls dieser einem nicht gefällt). Zwischen Zeile 178-183 gibt es noch paar CSS Zeilen (Position, Farbe, Dropmarker) dazu.
    398. Revert Sidebar Toggle Button // Dieses Script bringt 2 über das Anpassen-Fenster frei zu positionierende Buttons in den Fuchs zurück, mit denen man die Lesezeichen und Chronik in der Sidebar öffnen und schließen kann.
    399. Revert Back Forward Button // Hiermit bekommt der Fuchs die beiden separaten "Vor und Zurück" Buttons zurück, die man über das Anpassen-Fenster frei positionieren kann.
    400. Locationbar Characters // Dieses Script, auf gleichnamiger Addonbasis, ermöglicht aus dem Kontextmenü der Adressleiste anhand von Sonderzeichen die Anzeige nur bestimmter Seiten im Urlbar-Popup. Es ist quasi eine schöne Erweiterung der Fuchsfunktion aus den Einstellungen, sich nur ausgewählte Einträge in der Adressleiste anzeigen lassen zu können.(Zum Runden hab ich mir gedacht, mach ich auch mal wieder eins fertig ;) )


    Scriptdownloads inkl. Beschreibung und Bilder mit freundlicher Unterstützung bei Kamerad Mithrandir auf github.com

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 23. Mai 2011 um 00:55

    Zusammenstellung Teil 3, Scripte von 201 - 300


    201. Show Number For Findbar // Anzeige der Trefferanzahl in der Findbar.
    202. Add Bookmark In Last Used Folder // Hinzufügen eines Lesezeichens im zuletzt benutzten Ordner.
    203. Unread Tabs // Mit diesem Script werden die ladenden und ungelesenen Tabs farblich im Text markiert. Im Script gibt es einige Config Einstellungen, wie das Tabverhalten (beim Laden und Tabauswahl) und die Optik (Farbe und Schrift) diesbezüglich auszusehen hat. Als Standard werden nach dem Start alle Tabs in blau geladen. Die ungelesenen ändern dann auf rot und kursiv.
    204. Permission2 // Dieses Script bringt jeweils unter "Extras" und im "Hauptkontext" ein neues Menü mit, das sich mit verschiedenen Berechtigungen der Seiten beschäftigt. Behandelt werden: Javascript, CSS, Bilder (Ausnahmen), Frames und Cookies (Ausnahmen). Diese kann man auf ausgewählten Seiten blockieren (separat auch von fremden URLs der Seite, die automatisch erkennt werden), zulassen, nur für die aktuelle Sitzung zulassen und durch Löschen der Filter nach einem Reload alles wieder rückgängig machen. Auch in den Fuchs Einstellungen unter "Inhalt" kann einiges wieder rückgängig gemacht werden.
    205. Multi Row Tab // Mit diesem Script bekommt die Tableiste bei vielen Tabs automatisch eine neue Ebene, so dass die Tabs sichtbar in der zweiten unteren Reihe dargestellt werden. Scriptstandard sind 3 neue Tabreihen. U.a. kann in den Script Configs die Reihenzahl, Tab Höhe und Breite eingestellt werden.
    Hinweis: Unverträglichkeit mit dem Script 161. Fish Eye Tabs
    206. Bing Translator // Markierter Text in einer beliebigen Sprache wird mittels Mittelklick und dem Bing-Übersetzungsdienst automatisch übersetzt. Falls der Text als deutsch erkannt wird, erhält man als Ergebnis die englische Übersetzung. Mit einem Klick auf das Übersetzungsergebnis wird der Text in die Zwischenablage übernommen und das Fenster geschlossen - die Übernahme findet nicht statt, wenn man den Schließen-Button des Übersetzungsfensters verwendet.
    207. Auto Pagerize // Dieses Script, als Gegenstück zum gleichnamigen Addon und zu dem GM Script, lädt automatisch die Folgeseiten einer Hauptseite (zB. hier im Forum, oder AMO Addons, ect...). Auch dieses Script, wie die schon genannten, kann nicht alle Seiten, Blocks, Foren dieser Onlinewelt abdecken. Der Vorteil zum GM Script ist aber zB. dieser, dass man einen "wilden" Button in der Urlbar erhält, der zum Teil auch animiert die einzelnen Aktionen des Scriptes anzeigt und über Rechtsklick ein Menü mit paar Zusatzfunktionen bietet. Mehr dazu gibt es in der ausführlichen Beschreibung auf Github.
    208. Auto Pagerize Find Highlight // Dieses Skript ist eine Ergänzung des Skriptes AutoPagerize und sorgt dafür , dass auf den nachgeladenen Seiten ein bereits mit Strg+F gesuchtes und hervorgehobenes Wort ebenfalls markiert wird.
    209. Open Link in Tab // Damit werden alle Links, oder "Objekte" auf einer Seite, die irgend eine Url haben immer in neuen Tabs geöffnet.
    210. Lesezeichenmanager // Mit diesem Skript kann man den Lesezeichenmanager per Button in der Menüleiste öffnen. Mit leichter Scriptänderung können anstelle des LZM auch andere Ordner geöffnet werden.
    211. Reload Tab // Dieses Skript erzeugt einen Button in der Tableiste, der das Neuladen mit Umgehung des Browsercache ermöglicht.
    212. Plugin Manager // Das Script basiert auf dem Addon Plugins Toggler. Es bringt ein neuartiges Pluginmenü unter "Extras" mit, mit dem man die installierten Plugins ab und zuschalten kann. Dieses Verhalten kann auch zeitlich und optisch gesteuert werden. Dazu gibt es noch einen Tooltip.
    Die zeitliche Vorgabe im Script liegt bei 3600s. Über den neu anzulegenden Configschalter "pluginmanager.timer.interval" kann man seine gewünschte Schaltzeit (in Sekunden) selbst eintragen. Andere Configschalter werden je nach Menüwahl automatisch hinterlegt.
    213. Alt+1 or 2 for Tabs // Mit diesem Script kann man mit der Alt-Taste + 1 und 2 jeweils links und rechts der Reihe nach durch die offenen Tabs schalten.
    214. Toggle Cookies // Dieses Script bringt einen neuen Eintrag unter "Extras" mit, mit dem man das Setzen der Cookies ein -und ausschalten kann.
    215. Remove Print Time // Dieses Skript sorgt dafür, dass bei einem Ausdruck die Uhrzeit nicht gedruckt wird, indem die möglichen about:config-Einträge gescannt und ggf. die Einstellung "Uhrzeit/Datum" durch das aktuelle Datum ohne Uhrzeit (also "Benutzerdefiniert") ersetzt werden.
    216. New Tab Plus // Ähnlich den Scripten Tab Plus und Open New Tab, kann man mit diesem Script die wichtigsten Sachen (Lesezeichen, Chronik, Searchbar, Urlbar) aus der Fuchs Toolbar in neuem Tab öffnen. Hierbei funktioniert nun auch das Öffnen der Url´s aus dem Popup-Auswahlmenü der Adressleiste in neuen Tabs. Zusätzlich wird per Doppelklick auf ein Tab dieser geschlossen.
    217. Web Developer Toolbar Button // Dieses Script, als Eigenbau auf Basis der gleichnamigen Erweiterung, platziert in der Menübar einen Menübutton (das Menü geht per Rechtsklick auf) mit den Funktionen der "Web-Entwickler" unter "Extras".
    218. Spam by IP Searcher // Mit dem Skript kann man, nachdem Text auf einer Seite markiert wurde, die darin enthaltene IP auf frei konfigurierbaren Seiten (zur Zeit BotScout, Stop Forum Spam, Project Honey Pot, Info Sniper) nachschlagen.
    219. DOMi_de_Info // Dieses Script versteht sich als Ergänzung/Unterstützung für das Script Auto Pagerize, und das Script SITEINFO Writer. Damit hat man die Möglichkeit, über den DOM Inspector neue Seiten als Folgeseiten herauszufinden und gleichzeitig auf Richtigkeit zu testen, um sie dann an das Auto Pagerize Script zu übergeben. Der schon aus dem Auto Pagerize Script bekannte Button findet sich dafür im DOMI links in seiner Toolbar. Auf m Klick drauf öffnet sich unten das Konfigurationsfeld. (inkompatibel)
    220. JSCSS Highlight // Mit diesem Script werden Javascript,-CSS,-XML-und Base-Codes, die im Fuchsfenster betrachtet werden, in ihren Bestandteilen zu besserer Erkennung und Lesbarkeit farblich unterschiedlich dargestellt.
    221. Autoreset Searchbar // Eine kleine Alternative zum Script Nr 2. Clear Search Term. Auch hiermit wird die Searchbar nach bestätigter Eingabe automatisch geleert und es wird auch auf das Standard-Searchplugin zurück geschaltet. Hierbei kann man aber zusätzlich im Script 2 kleine Funktionen dazu schalten. Das automatische Fokussieren der Searchbar nach dem Löschen und eine Zeitverzögerung vor dem Löschen.
    222. Navigator Toolbox Bottom // Eigenbau auf Basis eines JS-Code Schnipsels. Mit diesem Script lässt sich entweder die komplette Navigator Toolbox im Browser nach unten verlegen (im Script deaktiviert), oder jede Fuchs Leiste der Toolbox einzeln. Die Leisten sind im Script in der Reihenfolge nummeriert, in der sie normalerweise im Fuchs von oben nach unten erscheinen. Die Position der Leisten unten kann man bestimmen, in dem man den jeweiligen Scriptabschnitt an eine andere, gewünschte Stelle im Script platziert. Dadurch wird die Reihenfolge der Leisten im Fuchs bestimmt. Man kann auch einzelne Leisten durch Deaktivieren des jeweiligen Codes im Script oben belassen.
    223. View Source Modoki // Ein Script von alice, mit dem man sich aus dem Kontextmenü heraus über vorher selbst bestimmten Editor den Quelltext einer Seite anschauen kann. Mit Quelltext sind alle Dokumente einer Seite gemeint, aus deren die Seite besteht. Im Quelltextfenster kann aus allen Dokumenten zusammen ausgewählt werden. In den Configs des Fuchses müssen der String "view_source.editor.external" auf true gestellt und dem String "view_source.editor.path" der Pfad zum eigenen Editor angegeben werden. Am Anfang des Scriptes gibt es einen kleinen CSS Code als Beispiel, falls man damit im Fuchs das Quelltextfenster etwas größer und übersichtlicher gestalten möchte.
    224. More About // Das Script als Eigenbau auf Basis der gleichnamigen Erweiterung platziert unter "Hilfe" ein Menü mit ner ganzer Menge about-Einträge.
    225. Citebite // Basiert auf der gleichnamigen Erweiterung. Mittels Kontextmenüeintrag unterhalb von "Alles markieren" kann ein markierter Abschnitt durch den Dienst auf http://citebite.com/ kenntlich gemacht und verlinkt werden. Das Skript funktioniert zur Zeit nur mit http:-Seiten, bei Zitaten auf https-Seiten meldet http://citebite.com/ Zertifikatfehler. Beim Markieren eines Zitates und Generierung des Links wird ein Snapshot erstellt. Nachträglich durchgeführte Änderungen auf einer durch citebite.com verlinkten Seite werden also nicht berücksichtigt.
    226. Cookies Export_Import // Wie der Name schon verrät, kann man mit dem Script die Cookies ex -und importieren. Dafür gibt es einen Button in der Status-/Addonbar. Mit Linksklick wird eine cookies.txt am Wunschort auf der Platte abgelegt, mit rechst kann diese von der Platte in den Fuchs wieder eingespielt werden.
    227. Inspector_de_Info // Dieses Skript versteht sich ähnlich wie DOMi_de_Info als Ergänzung/Unterstützung für das Skript Auto Pagerize und das Skript SITEINFO Writer. Damit hat man die Möglichkeit, über den Kontextmenüeintrag "Element untersuchen" und Klick auf "INFO" Folgeseiten herauszufinden und gleichzeitig auf Richtigkeit zu testen, um sie dann an das Auto Pagerize Skript zu übergeben.
    228. Encoding Context Menu // Dieses ältere Script, wieder zum Leben erweckt, bringt das Menü der Zeichenkodierung aus der Menüleiste zusätzlich in das Hauptkontextmenü.
    229. Livebookmark Menu // Mit diesem Script erhalten die Livebookmarks nach dem Start auch sofort das dazugehörige Favicon. Im Script selber kann man diese nach Bedarf auch komplett ausblenden. (Inkompatibel)
    230. Speed Up Canonize URL // Damit soll die Suchgeschwindigkeit der Adressleiste beschleunigt werden.
    231. Appmenu Plus // Mit diesem Script kann man dem Menü des App Buttons zusätzliche Einträge (auch Separatoren) hinzufügen. Das ganze ändert man direkt im Script. Im Script ist auch in deutsch erklärt, wie (id, label, command) man das mit Hilfe des DOMI bewerkstelligen kann. Als Beispiele sind dort bereits 3 neue Menüpunkte (Neustart, Fehlerkonsole und der DOM Inspector) vordefiniert. (inkompatibel)
    232. Charset Changer // Hiermit kann man für selbst ausgewählte Seiten eine bestimmte (die richtige) Zeichenkodierung festlegen. Das ganze ändert man direkt im Script. Damit kann man sich bei betroffenen Seiten das lästige Umschalten der Zeichenkodierung aus der Menüleiste heraus ersparen. Als Beispiel sind im Script 3 vordefinierte japanische Seiten hinterlegt.
    233. Open in IE // Eine Alternative zum Launch IE, oder IE View. Hierbei wird über das Kontextmenü erkannt, ob man einen Link, oder die ganze Seite im IE aufmachen will.
    234. Copy Tab Info Mod // Mit diesem Script kann man einige Angaben eines Tabs in die Zwischenablage übernehmen.
    235. Word Highlight Toolbar // Ein sehr schönes Script zum Suchen und Hervorheben von einzelnen Wörtern, oder ganzen Zeichenfolgen auf einer Seite, deren Unterseiten und zum Teil auch in neuen Tabs. Dafür gibt es 2 neue Einträge im Hauptkontextmenü, mit denen man das Markierte hervorheben kann. Das Ergebnis präsentiert sich als eine bunte Toolbar am unteren Browserrand. Im Tooltip steht erklärt, was man mit der Maus auf den gefundenen Wörtern in der Toolbar so alles anstellen kann (einzeln schließen, rauf und runter weitersuchen). Automatisches Hervorheben der Ergebnisse einer Googlesuche über das Kontextmenü des markierten und hervorgehobenen Wortes gehört ebenfalls zum Scriptumfang. Rechst unten gibt es noch paar Buttons, mit denen man zB. selbst ein Wort zum Suchen über ein kleines Popup eingeben kann, woanders die Anzahl der gefundenen Wörter aktualisieren kann, oder die ganze Toolbar per Button schließen kann.
    236. Mouse Gestures Basic // Eine schlanke Alternative zur Nr. 176. Mouse Gestures. Hiermit kann man tatsächlich "nur" die Basisfunktionen des Fuchses über Mausgesten steuern und zwar 19 an der Zahl. Welche das sind, kann man direkt im Script in deutsch einsehen. Der Tooltip hat neben der Gestenbeschreibung hier diesmal auch eine kleine optische "Richtungsanzeige" in Form von Pfeilen.
    237. Google Suggest Context // Mit diesem Script werden einem nach einer Wortmarkierung über das Kontextmenü einige Google Vorschläge in deutsch zur Auswahl dazu angezeigt.
    238. MC Paste And Go // Ein Script, mit dem man das Kopierte aus der Zwischenablage heraus mit einem Mittelklick, oder Shift + Linksklick in eine Suchleiste übergeben kann und die Suche startet automatisch. Das funktioniert in allen Fuchsleisten (Url -, Search-, Findbar) und einigen Suchleisten, die viele Seiten selbst zur Verfügung stellen.
    239. Tabs Open Relative // Mit diesem Script wird ein neuer Tab immer direkt rechts neben dem aktiven geöffnet.
    240. Open New Tab Right To The Current One // Mit diesem Script wird ein neuer leerer Tab immer direkt rechts neben dem aktiven geöffnet. Ab Fuchs 16 inkompatibel.
    241. Tab Info Copier // Ein Tab Script mit einem ausgedehnten Kontextmenü als Alternative zum Copy Tab Info Mod, mit dem man Tabinfos auf verschiedene Art und Weise in die Zwischenablage bringen kann.
    242. Tab Contextmenu Tools // Mit diesem Script erhalten die Tabs ein großes zusätzliches Kontextmenü mit vielen neuen Einträgen. Bei Bedarf kann man einiges im Script einfach auskommentieren.
    243. Navigational Sounds // Sollte es tatsächlich jemandem geben, der irgend welche "Geräusche" im Fuchs vermisst, sogar die, die der IE im Netz bei Klicks, Popup Blocker, ect... von sich gibt, der ist mit diesem Script zu Hause. Hiermit wird eben diese Geräuschkulisse im Fuchs nachgeahmt.
    244. IContext // Dieses Script verwandelt viele bekannte Kontextmenü-Einträge in so eine Art kleine Button-Toolbar im Kontext. Beim Befahren der Buttons wird der dazugehörige Befehl immer oben drüber in deutsch angezeigt.
    245. Change Password // Mit diesem Script kann man ein, oder mehrere Benutzernamen und Passwörter gleichzeitig direkt im Passwort Manager ändern. Die Änderungen werden sofort wirksam.
    246. URL in Tab Tooltip Auf Basis des gleichnamigen Addons gebastelt, zeigt dieses Script neben dem Titel der inaktiven Tabs auch deren Url im Tooltip.
    247. Build ID To About Dialogue // Hiermit kriegt man die Build ID seines Fuchses im "Über Firefox"- Fenster mit angezeigt.
    248. View Image In Tab // Mit diesem Script wird der Kontextmenüeintrag "Grafik anzeigen" angesprochen und dadurch jedes Bild in neuem Tab geöffnet. Sehr gut nachvollziehbar zB. auf der "about:home" Seite mit dem Fuchslogo.
    249. Eyedropper // Neuer Bunter Button in der Bookmark Leiste (geht mit Sicherheit auch wo anders hin), über dessen Klick man mit einem Kreuz den Hexcode einer beliebigen sich auf einer Seite befindenden Farbe in die Zwischenablage bekommt.
    250. Open In Browser // Im Download-Dialog Fenster kommt "Im Firefox öffnen" Funktion mit der Auswahl: Webseite, Klartext, Bild und XML hinzu.
    251. Image Viewer // Ein über "Grafik anzeigen" dargestelltes Bild kann über Nr.-Tasten 0,1,2 und die Pfeiltasten vergrößert, verkleinert, gedreht und die Hintergrundfarbe zwischen schwarz und weiß geschaltet werden.
    252. Copy Img Data URI // Neuer Kontextmenü Eintrag "Bild in Base64 kopieren" bringt den Base64 Code in die Zwischenablage.
    253. Show Flag // Eine kleine Nationalflagge des Landes, wo die aktuelle Seite her kommt, wird in der Status/Addonbar angezeigt.
    254. Update Bookmark 2 // Ein etwas veränderter, aber funktionierender Script Ersatz für Nr 76. Update Bookmark.
    255. Locationbar // Jedes einzelne "Segment" einer Adresse in der Urlbar, hinter dem sich eine eigene Url verbirgt, wird beim Mausfokus einzeln unterstrichen und "anklickbar" zum Öffnen dieser Seite gemacht.
    256. Do Not Close Menu // Öffnen von Bookmarks aus den Ordnern der Lesezeichenleiste, ohne dass sich diese sofort wieder schließen.
    257. Delete From Document // Markierte "Sachen" auf einer Seite (Texte, Bilder, ect...) werden mit der Entf-Taste temporär entfernt.
    258. Extended Copy Menu // 2 neue Einträge im Kontextmenü "Nur Text kopieren" und "Quellcode kopieren".
    259. Open Multi Links // Markieren und Öffnen mehrerer Links gleichzeitig über neuen Kontextmenü Eintrag "Linkauswahl öffnen".
    260. Copy Multi Links // Markieren und Kopieren mehrerer Links gleichzeitig über neuen Kontextmenü Eintrag "Linkauswahl kopieren".
    261. Show Complete URL // Anzeigen der kompletten Url im Download-Dialog Fenster.
    262. Battery Status // Eine Progressbar in der Status/Addonbar mit der optischen und per Tooltip prozentualen Statusanzeige der Batterieleistung von Laptops.
    263. Remove File From Download Manager // Ein neuer Eintrag "Löschen von der Festplatte" im Kontextmenü des DM löscht damit nicht nur die Downloads im DM Fenster, sondern diese gleichzeitig auch auf der Festplatte.
    264. Close Tab By Left Click // Bei einem einfachen Linksklick auf ein Tab, wird dieser geschlossen. Passend, wenn man keine Schließbuttons auf den Tabs hat, oder nicht immer drauf zielen möchte.
    265. New Tab By Left Click // Ein Linksklick auf die offene Tabbar öffnet einen neuen Tab, oder je nach Config-Einstellungen die Tabvorschau.
    266. Undo Close Tab By Middle Click // Je nach Config-Einstellungen wird im Fuchs per Mittelklick auf die Tabbar entweder ein neuer leerer Tab, oder die Tabvorschau angezeigt. Mit diesem Script öffnet sich per Mittelklick der zuletzt geschlossene Tab.
    267. Load URL In New Tab // Hiermit öffnen sich nur Url´s aus der Adressleiste und deren Popup-Menü in neuen Tabs.
    268. Open Bookmark In New Tab // Hiermit öffnen sich nur die Bookmarks aus der Lesezeichenleiste und dem Lesezeichenmenü der Menübar (auch Appbutton-Menü) in neuen Tabs.
    269. Memory Info // Zusammen geschraubt auf gleichnamiger Addonbasis und noch etwas ausgebaut. Dieses Script ist in etwa vergleichbar mit Memory Monitor Mod. Auch hierbei geht es um den Speicherverbrauch des Fuchses (in MB) über eine Verbrauchsanzeige in der Statusbar (die Anzeige kann man ganz leicht in jede beliebige Fuchs-Toolbar platzieren). Dazu gibt es noch die aktuelle Speicheranzeige des Systems. Um dies zu erreichen gehört zum Script eine DLL Datei. Den Pfad dieser Datei hab ich im Script so gewählt, dass sie einfach nur neben dem Script im Chromeordner abgelegt wird. Über Linksklick öffnet sich der Task-Manager und mit dem Mittelklick "about:memory" in neuem Tab. (inkompatibel)
    270. Favicon Context Menu // Mit diesem Script von den asiatischen Schrauberkollegen bekommt das Favicon einer Seite (links vor der Adresse in der Urlbar) ein Kontextmenü mit einigen neue und eventuell nützlichen Einträgen spendiert.
    Hinweis: Ab Fuchs 14 funktioniert das Script nur in Verbindung mit dem Script Nr. 305. Back To The Favicon.
    271. Focus Last Selected Tab // Hierbei wird nach dem Schließen eines Tabs der zuletzt besuchte Tab automatisch fokussiert.
    272. All Reload // Ein kleiner schneller Eigenbau auf gleichnamiger Addonbasis. Mit dem Script werden durch den neuen Eintrag "Alle Tabs neu laden" im Hauptkontextmenü und (persönliche Zugabe) im Chronik Menü, diese eben alle gleichzeitig neu geladen.
    273. Simple Translate // Ein Eigenbau auf Basis der gleichnamigen Erweiterung. Ähnlich dem Script Nr. 75. Dictionary Lookup bringt dieses Script ein Menü im Hauptkontextmenü mit 3 Einträgen mit. Über "Übersetze" wird das markierte Wort durch den Übersetzungsdienst dict.leo.org übersetzt. Über "Erkläre" gibt es eine Erklärung bei Wikipedia und durch "Öffne" wird aus dem Wort eine Url kreiert und geöffnet. Alles geschieht in neuen Tabs.
    274. Open Book Modoki // Ein Script von alice, vergleichbar mit dem Script Nr. 124. Edit Bookmark Plus. Auch hierbei können die Lesezeichen-Panels in ihrer Größe verändert werden. Hinzu kommt aber ein informativ noch mehr ausgedehntes Panel zum Vorschein.
    275. Tab Wheel Scroll // Damit kann man, nach dem der Mauszeiger auf der Tabbar positioniert wurde, mit dem Mausrad durch die Tabs scrollen/schalten.
    276. Wheel Scroll To Change Search Engine // Mit diesem Script kann man, nach dem der Mauszeiger in der Searchbar positioniert wurde, mit dem Mausrad durch die Search Plugins scrollen/schalten.
    277. Startup Open Pages // Dieses kleine Script ermöglicht es, mehrere Startseiten nach dem Fuchsstart gleichzeitig zu öffnen. Diese werden direkt im Script eingetragen. Ausgangszustand sind 3 Seiten. Je nach Gusto kann man mehr rein schreiben, oder welche auch deaktivieren, wie im Script als Beispiel auch geschehen.
    278. Addons Downloads Sidebar // Mit diesem Script bekommt das Sidebar Menü unter "Ansicht" zwei neue Einträge spendiert (Addons und Downloads), mit denen man den Addon -und Download Manager in der Sidebar geöffnet bekommt.
    Hinweis: Unter Verwendung des Scripts Nr.279. Sidebar Switch, werden damit die Einträge nicht mehr unter "Ansicht > Sidebar" angezeigt, sondern nur im Sidebar Kontext.
    279. Sidebar Switch // Hiermit bekommt man in der Sidebar ein Kontextmenü mit allen Klamotten, die in dieser auch aufgehen können, um nach Bedarf schnell umschalten zu können.
    280. Enable Auto Login // Mit diesem Script wird das automatische Anmelden in Foren, Blogs, Web Mails, ect... aktiviert. Auch wenn der Fuchs es selbst kann, gibt es immer noch genügend Seiten, die das Speichern der Login Daten zu verhindern wissen (zB. Freenet). Dieses Script schafft Abhilfe.
    281. Select Search In Text Area // Dieses Script ermöglicht es, Wörter/Sätze, die in Formularfelder, Searchbars, ect... eingegeben werden, über das Kontextmenü mit dem Search Plugin seiner Wahl suchen zu können.
    282. Vertical Tab // Hiermit werden die Tabs vertikal auf der linken Browserseite angezeigt. Um mehr vom Tabtext lesen zu können, kann der Eintrag in den Configs "browser.tabs.closeButtons" auf 2 gestellt werden. Damit sind die Tab-Schließbuttons weg. Tabs können mit Mittelklick, oder übers Kontextmenü geschlossen werden.
    283. Add More Text To Clipboard // Mit diesem Script als Eigenbau auf Basis der gleichnamigen Erweiterung bekommt man gleichzeitig mehr Text in die Zwischenablage kopiert. Dafür gibt es im Hauptkontextmenü 2 neue Einträge: "Einfügen in Zwischenablage" und "Einfügen mit Zeilenumbruch". Nach dem Kopieren mit dem ersten Eintag steht der Text in der Zwischenablage nebeneinander, mit dem zweiten einzeln untereinander. Diese Funktion erreicht man auch mit dem Key Event Strg+Alt+C. In der Addonbar gibt es einen Button, mit dem man die Zwischenablage wieder leeren kann und bestätigt wird das mit einem kleinen Alert Popup rechts unten in der Ecke.
    Hinweis: Es besteht eine Unverträglichkeit mit dem Script Nr.1 Auto Copy.
    284. View Source in Tab on MiddleClick // Damit kann man sich über das Kontextmenü > "Seitenquelltext anzeigen" diesen mit einem Mittelklick in neuem Tab anzeigen lassen. Mit Rechtsklick geht der Seitenquelltext in der Sidebar auf.
    285. Easy Drag Little // Ein Eigenbau inkl. Name auf Basis einer japanischen Erweiterung. Dieses Script (hierbei liegt der Augenmerk auf Bilder), nur 4 Kb schwer und vergleichbar mit Nr.192 Easy Drag To Go_Mod, ermöglicht durch das Ziehen mit der Maus folgende 6 Funktionen: Bild in neuem Tab öffnen[hoch, runter], Bild herunterladen[links], Suche nach ähnlichen Bildern mit Google[rechts], Link in neuem Tab öffnen[alle Seiten] und Suchfeld Suche nach markiertem Text mit der ausgewählten Suchmaschine[alle Seiten].
    286. Mouse Gestures Visual // Auch das ist ein Eigenbau (10 Kb schwer) inkl. Name auf Basis einer japanischen Erweiterung und vergleichbar mit Nr.236. Mouse Gestures Basic. Hierbei gibt es "nur" 14 wichtigste Mausgesten, die in deutsch im Script einzusehen sind. Der größter Unterschied ist allerdings eine visuelle Richtungsanzeige direkt am Mauszeiger, ala Mouse Gestures Redox von Jochen, das leider von ihm aufgegeben wurde. Natürlich gibt es auch bei diesem Script einen kleinen Tooltip links oberhalb der Addonbar mit den Gestenbeschreibungen.
    287. Context Style Switcher // Eigenbau auf Basis der gleichnamigen Erweiterung. Dieses Script bringt das Menü "Webseiten-Stil" als Button in die Menübar (kann aber auch woanders hin) und als Menüeintrag ins Hauptkontextmenü.
    288. Open Multi Links Button // Dieses Script ist nahe zu identisch mit Nr. 259. Open Multi Links. Hierbei gibt es aber zum Öffnen mehrerer Links statt des Kontextmenüeintrages einen Button in der Navbar.
    289. Find Wrap Play Beep // Dieses Script von alice bringt, wie in früheren Fuchs Versionen der Fall war, ein akustisches Signal, wenn das zu suchende Wort über die Findbar auf einer Seite das Ende dieser erreicht hat.
    290. Text Link // Mit diesem Script von Alice kann man die nicht "klickbaren" Links auf Webseiten öffnen, ohne dass sie, wie bei manchen GM Scripten optisch als Link gekennzeichnet werden. Das Script ist sehr "intelligent" aufgebaut, in dem es beim Doppelklick auf eine Stelle der vermeintlichen Url, diese als solche erkennt und öffnet. Mit einem Links-Doppelklick geht der Link in neuem Tab auf, mit Strg + Links-Doppelklick in aktivem Tab und mit Shift + Links-Doppelklick kann der Link (die Seite) auf der Platte gespeichert werden.
    In den Fuchs-Configs sollte der Eintrag: network.enableIDN auf true stehen.
    291. Open Multiple Files When Drop // Mit diesem Script lassen sich mehrere Dateien, Addons, ect.. im Fuchs gleichzeitig öffnen, wenn sie ins Fuchsfenster hinein gezogen werden. Dabei gehen sie alle in einzelnen Tabs auf.
    292. Auto Select Url // Dieses Script ist eine Alternative zum Script Url-/Searchbar Auto Marker. Der Text der Urlbar wird beim Befahren mit dem Mauszeiger automatisch im Fokus markiert und zwar nur so lange, bis die Maus die Urlbar verlässt. Man kann auch einzelne Segmente der Url markieren. Durch das veränderte Verhalten der Searchbar, hab ich ins Script einen Codeschnipsel eingebaut, mit dem auch der Text der Searchbar automatisch markiert wird.
    Hinweis: Unverträglichkeit mit den Scripten 29. Auto Popup und 255. Locationbar.
    293. Tab Lock // Ähnlich wie Nr. 197. Tab Lock Lite, kann man mit diesem Script durch einen neuen Eintrag "Diesen Tab sperren" im Tab-Kontextmenü die Tabs sperren. Bei Aktivanzeige bekommen die Tabs dafür eine kleine Grafik spendiert. Zur Scriptkonfiguration über about:config gibt es am Scriptanfang dafür 7 Einstellungen in deutsch erklärt.
    294. Searchbar Clear For Wheel Click // Hiermit kann man mit einem Mittelklick auf den Icon der Suchmaschine in der Suchleiste deren Inhalt leeren.
    295. Multibutton // Dieses Script bringt einen Menübutton mit, über den man mit Links,- Rechst,- und Mittelklick an das Lesezeichenmenü, die Chronik und das Menü des Vor/Zurück Buttons dran kommt. Der Button muss beim ersten Scriptstart aus dem "Anpassen" Fenster raus gezogen werden. Platziert wird er dann neben dem Homebutton. Möchte man eine andere Position haben, muss im Script die Button ID in Zeile Nr.79 entsprechend geändert werden.
    296. Send Link// Das kleine Eigenbau-Script auf Basis der Erweiterung Send Link Button, bringt einen Button in die Navbar, hinter die Urlbar und zusätzlich einen Eintrag im Hauptkontextmenü "Link per E-Mail senden..." mit.
    297. Open Addon Folder // Viele Addons bringen nach der Installation mtw. keine *xpi Datei, sondern einen Addon-Installationsordner mit. Und eben diese kann man über das Script aus dem Kontextmenü im Addon Manager mit dem Eintrag "Addon-Ordner öffnen" öffnen.
    298. Open Link in New Tab with Left DoubleClick // Mit diesem Script können Links auf einer Seite durch einen Links Doppelklick auf diese, in neuen Tabs geöffnet werden.
    299. Reduce Memory // Damit bekommt man in der Addonbar einen Button, mit dem man bei Bedarf auf die Schnelle die Speicherauslastung des Fuchses minimieren will. Es wird damit quasi die Funktion "Minimize memory usage" aus about:memory übernommen.
    300. Copy Node List // Mit diesem "Jubiläum"-Script kann man über ein neues Menü "Menüliste kopieren" im Extras Menü, die CSS-label-Menüeinträge aller Fuchs Menüs mit einem entsprechenden Linksklick in die Zwischenablage kopieren.


    Scriptdownloads inkl. Beschreibung und Bilder mit freundlicher Unterstützung bei Kamerad Mithrandir auf github.com

Unterstütze uns!

Jährlich (2025)

105,8 %

105,8% (687,41 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon