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. aborix

Beiträge von aborix

  • Meldungen über Spam im Forum

    • aborix
    • 3. Dezember 2016 um 05:56

    https://www.camp-firefox.de/forum/viewtopi…024536#p1024536, Links

    Edit 2002Andreas...User und Beiträge gelöscht.

  • chronik eintrag nicht löschbar

    • aborix
    • 2. Dezember 2016 um 18:06

    Gehe mit dem Mauszeiger auf diesen Eintrag und drücke die Entf-Taste.

  • Button oder Menü Eintrag gesucht [GELÖST]

    • aborix
    • 29. November 2016 um 18:44

    Deine Initiative ist manchen zu wünschen.
    :klasse:

  • Button oder Menü Eintrag gesucht [GELÖST]

    • aborix
    • 26. November 2016 um 23:03

    Es geht tatsächlich einfacher:
    Zwei Buttons, einer für "Standard" und einer für "Reihenfolge der Eingabe, neueste zuerst".
    Die andere Erweiterung braucht man dann nicht.

    Code
    // Standard
    
    
    Services.prefs.setIntPref('browser.formfill.bucketSize', 1);
    Services.prefs.setIntPref('browser.formfill.maxTimeGroupings', 25);
    Services.prefs.setIntPref('browser.formfill.timeGroupingSize', 604800);
    Code
    // Reihenfolge der Eingabe, neueste zuerst
    
    
    Services.prefs.setIntPref('browser.formfill.bucketSize', -1);
    Services.prefs.setIntPref('browser.formfill.maxTimeGroupings', -1);
    Services.prefs.setIntPref('browser.formfill.timeGroupingSize', -1);
  • Button oder Menü Eintrag gesucht [GELÖST]

    • aborix
    • 26. November 2016 um 21:46

    Hallo und Willkommen im Forum!

    Button, Menü, Kontextmenü, Menüeintrag, Tastenkürzel,... lässt sich alles machen, mit unterschiedlichem Aufwand.

    Das einfachste ist ein Button. Installiere dazu die Erweiterung Custom Buttons.
    Eine ausführliche Anleitung steht auch hier: https://www.camp-firefox.de/forum/viewtopi…=914840#p914840
    Ins Feld "Kodieren" trage ein:

    Code
    var features = "chrome,titlebar,toolbar,centerscreen";
    try {
    	var instantApply = Services.prefs.getBoolPref("browser.preferences.instantApply");
    	features += instantApply ? ",dialog=no" : ",modal";
    } catch (e) {
    	features += ",modal";
    };
    openDialog("chrome://searchbarautocomplete/content/pref.xul", "", features);


    Mehr ist nicht zu tun. :)

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

    • aborix
    • 25. November 2016 um 22:55

    Ich habe in Tree Style Tab etwas geändert.
    Teste die angehängte Version, vorher die Endung .zip in .xpi ändern.

    Dateien

    tree_style_tab_abx_1_sgn-0.18.2016111701-fx.zip 398,29 kB – 159 Downloads
  • popup icon ausblenden

    • aborix
    • 25. November 2016 um 19:35

    Teste:

    Code
    #page-report-button {display: none !important}
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 25. November 2016 um 19:29

    Sehen die Zeilen 307, 311 und 319 in OpenBookModoki_fix.uc.js so aus:

    Zitat


    TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;


    Wenn ja, ersetze sie testweise durch

    Code
    {try {TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;} catch(e) {}};
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • aborix
    • 24. November 2016 um 20:18

    Kommen beim Öffnen des Panels oder beim Klick auf den Button JS-Meldungen in der Browserkonsole?

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

    • aborix
    • 23. November 2016 um 23:19

    zu 1.:

    Bei mir fehlt der Button "Lesezeichen entfernen", wenn eines angelegt wird. Ist es bereits vorhanden, ist der Button da. Das ist also anders, als von dir beschrieben, aber auch nicht richtig, denn der Button muss immer da sein.
    Teste das folgende geänderte Skript. Bei mir ist damit der Button immer vorhanden.

    Code
    var openbookResizer = {
    
    
      drag  :false,
      height: null,
      width : null,
      eventOffset: null,
      timer: null,
      PREHIDEROW   : "userChrome.openbook.hideRow",   //description, location, loadInSidebar, keyword
      PREFTREEHEIGHT: "userChrome.openbook.treeHeight",
      PREFTREEWIDTH : "userChrome.openbook.treeWidth",
      PREFOPENTREE: "userChrome.openbook.openTree",
      PREFOPENTAG : "userChrome.openbook.openTag",
    
    
      get tree(){
        return gEditItemOverlay._element('folderTree');
      },
    
    
      get getHideRow(){
        try {
          return gPrefService.getCharPref(this.PREHIDEROW).replace(/\s/g,'').slice(',');
        } catch(e) {
          return [];
        }
      },
    
    
      get getPrefTreeHeight(){
        try {
          return gPrefService.getIntPref(this.PREFTREEHEIGHT);
        } catch(e) {
          return 150;
        }
      },
      get getPrefTreeWidth(){
        try {
          return gPrefService.getIntPref(this.PREFTREEWIDTH);
        } catch(e) {
          return 250;
        }
      },
    
    
      get editBookmarkPanel(){
        return document.getElementById('editBookmarkPanel');
      },
    
    
      get treeExpander(){
        return gEditItemOverlay._element('foldersExpander');
      },
    
    
    
    
      get tagExpander(){
        return gEditItemOverlay._element('tagsSelectorExpander');
      },
    
    
      get getPrefOpenTree(){
        try {
          return gPrefService.getBoolPref(this.PREFOPENTREE);
        } catch(e) {
          return false;
        }
      },
    
    
      get getPrefOpenTag(){
        try {
          return gPrefService.getBoolPref(this.PREFOPENTAG);
        } catch(e) {
          return false;
        }
      },
    
    
      get isFx35(){
        return parseInt(Components.classes["@mozilla.org/xre/app-info;1"]
                         .getService(Components.interfaces.nsIXULAppInfo)
                         .version.substr(0,3) * 10, 10) / 10 > 3.0;
      },
    
    
      get isFx37(){
        parseInt(Components.classes["@mozilla.org/xre/app-info;1"]
                         .getService(Components.interfaces.nsIXULAppInfo)
                         .version.substr(0,3) * 10, 10) / 10 > 3.6;
      },
    
    
      init: function(){  
        if (!window.StarUI)
          return;  
        //window.removeEventListener('load', this, false);
        window.addEventListener('unload', this, false);
    
    
        var style = " \
          .openbookResizerGripper { \
            list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAApklEQVQokY3QK4uCURCA4QeDLCoIXoIYNFiUFVZBq2JQEEx+UcTmpi1b121eosX/a5lg8jvTzsy8M+8cGGKNusQY44QMlRTgAzOcsUqBitH0FVCWpzeNpmZsytUb4oY9qil6BfRxDaiZp1eO5OBl01u9JX7QxiRFr4XfmNbFZ+gdojbCBbt4a6CDP/wH1McDR9SwwB1b+I4bejG1ER8xxwaluHOJ8RM+9xjk9q2RpwAAAABJRU5ErkJggg=='); \
            cursor: sw-resize; \
          }";
        var sspi = document.createProcessingInstruction(
          'xml-stylesheet',
          'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"'
        );
        document.insertBefore(sspi, document.documentElement);
        sspi.getAttribute = function(name) {
        return document.documentElement.getAttribute(name);
        };
    
    
        this.folderTreeRow   = this.isFx35 ? "folderTreeRow"   : "folderTree";
        this.tagsSelectorRow = this.isFx35 ? "tagsSelectorRow" : "tagsSelector";
    
    
        // default all show
        StarUI._doShowEditBookmarkPanel = Task.async(function* (aNode, aAnchorElement, aPosition) {
          if (this.panel.state != "closed")
            return;
          this._blockCommands();
          this._element("editBookmarkPanelTitle").value = this._isNewBookmark ?
            gNavigatorBundle.getString("editBookmarkPanel.pageBookmarkedTitle") :
            gNavigatorBundle.getString("editBookmarkPanel.editBookmarkTitle");
          this._element("editBookmarkPanelDescription").textContent = "";
          this._element("editBookmarkPanelBottomButtons").hidden = false;
          this._element("editBookmarkPanelContent").hidden = false;
          let bookmarks = PlacesUtils.getBookmarksForURI(gBrowser.currentURI);
          let forms = gNavigatorBundle.getString("editBookmark.removeBookmarks.label");
          let label = PluralForm.get(bookmarks.length, forms).replace("#1", bookmarks.length);
          this._element("editBookmarkPanelRemoveButton").label = label;
          this._element("editBookmarkPanelStarIcon").removeAttribute("unstarred");
          this._itemId = aNode.itemId;
          this.beginBatch();
          if (aAnchorElement) {
            let parent = aAnchorElement.parentNode;
            while (parent) {
              if (parent.localName == "toolbarbutton")
                break;
              parent = parent.parentNode;
            }
            if (parent) {
              this._anchorToolbarButton = parent;
              parent.setAttribute("open", "true");
            }
          }
          this.panel.openPopup(aAnchorElement, aPosition);
          gEditItemOverlay.initPanel({ node: aNode
                                     , hiddenRows: openbookResizer.getHideRow
                                     , focusedElement: "preferred" });
        });
    
    
        // selected tree visible
        var func = gEditItemOverlay.toggleFolderTreeVisibility.toString();
        func = func.replace(
          'var currentFolder = this._getFolderIdFromMenuList();',
          ''
        );
        func = func.replace(
          /expander.className = "expander-up";*/,
          'var currentFolder = this._getFolderIdFromMenuList(); \
          var onselect = this._folderTree.getAttribute("onselect"); \
          this._folderTree.removeAttribute("onselect"); \
          $&;'
        );
        func = func.replace(
          'this._folderTree.focus();',
          '$&; \
          setTimeout(function(tree){ \
            var start = new Object(); \
            var end = new Object(); \
            var numRanges = tree.view.selection.getRangeCount(); \
            if (numRanges > 0) { \
              tree.view.selection.getRangeAt(0,start,end); \
              var v = start.value; \
              tree.treeBoxObject.ensureRowIsVisible(v); \
            } \
            tree.setAttribute("onselect", onselect); \
          }, 0, this._folderTree);'
        );
        eval("gEditItemOverlay.toggleFolderTreeVisibility = " + func);
    
        // selected tree visible
        func = gEditItemOverlay.onFolderMenuListCommand.toString();
        func = func.replace(
          'this._folderTree.selectItems([container]);',
          '{var onselect = this._folderTree.getAttribute("onselect"); \
          this._folderTree.removeAttribute("onselect"); \
          $&; \
          setTimeout(function(tree){ \
            var start = new Object(); \
            var end = new Object(); \
            var numRanges = tree.view.selection.getRangeCount(); \
            if (numRanges > 0) { \
              tree.view.selection.getRangeAt(0,start,end); \
              var v = start.value; \
              tree.treeBoxObject.ensureRowIsVisible(v); \
            } \
            tree.setAttribute("onselect", onselect); \
          }, 0, this._folderTree);}'
        );
    
    
        eval("gEditItemOverlay.onFolderMenuListCommand = " + func);
    
    
    
    
        this.editBookmarkPanel.addEventListener('popupshowing', this, false);
        this.editBookmarkPanel.addEventListener('popupshown', this, false);
        this.editBookmarkPanel.addEventListener('popuphiding', this, false);
      },
    
    
      uninit: function(){
        window.removeEventListener('unload', this, false);
        this.editBookmarkPanel.removeEventListener('popupshowing', this, false);
        this.editBookmarkPanel.removeEventListener('popupshown', this, false);
        this.editBookmarkPanel.removeEventListener('popuphiding', this, false);
      },
    
    
      handleEvent: function(event){
        switch(event.type){
          case 'unload':
            this.uninit();
            break;
          case 'popupshowing':
            this.popupshowing(event);
            break;
          case 'popupshown':
            this.popupshown(event);
            break;
          case 'popuphiding':
            this.popuphiding(event);
        }
      },
    
    
      popuphiding: function(event){
        if (this.editBookmarkPanel != event.originalTarget)
          return;
        var state = !gEditItemOverlay._element(this.folderTreeRow).collapsed;
        gPrefService.setBoolPref(this.PREFOPENTREE, state);
        var state = !gEditItemOverlay._element(this.tagsSelectorRow).collapsed;
        gPrefService.setBoolPref(this.PREFOPENTAG, state);
    
    
        gEditItemOverlay._element(this.folderTreeRow).collapsed = true;
        gEditItemOverlay._element(this.tagsSelectorRow).collapsed = true;
    /*
        // xxx Bug 556342  - Invalid Treeview in bookmark menu via star pane
        var tree = document.getElementById("editBMPanel_folderTree");
        if (!this.isFx37)
          var result = tree.getResult();
          if (result) {
            result.root.containerOpen = false;
          }
          tree.view = null;
          // xxx
        }
    */
      },
    
    
      popupshowing: function(event){
        if (this.editBookmarkPanel != event.originalTarget)
          return;
    
    
        this.tree.height = this.getPrefTreeHeight;
        //this.tree.width = this.getPrefTreeWidth;
        //this.editBookmarkPanel.width = this.getPrefTreeWidth;
    
    
        if (!document.getElementById("openbookResizerbottomBox")) {
          var panel = document.getElementById("editBookmarkPanel");
    
          var innerarrow = document.getAnonymousElementByAttribute(panel, "class", "panel-inner-arrowcontent");
          if (innerarrow)
            innerarrow.setAttribute('flex', 1);
    
    
          var box = document.createElement("hbox");
          box.setAttribute('id', 'openbookResizerbottomBox');
          box.setAttribute('align',"start");
    
    
          var resizer = document.createElement("image");
          resizer.setAttribute("class", "openbookResizerGripper");
          resizer.setAttribute('onmousedown', 'openbookResizer.mousedown(event)');
    
    
          box.appendChild(resizer);
          panel.appendChild(box);
    
    
          panel.setAttribute('onmousemove', 'openbookResizer.mousemove(event)');
          panel.setAttribute('onmouseup', 'openbookResizer.mouseup(event)');
    
    
          if ("TreeStyleTabBookmarksServiceEditable" in window) {
            with (window)
            eval('gEditItemOverlay._showHideRows = '+window.gEditItemOverlay._showHideRows.toSource().replace(
              'TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = this._element("keywordRow").collapsed && this._element("folderRow").collapsed;',
              ''
            ).replace(
              "TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = this._element('keywordRow').collapsed && this._element('folderRow').collapsed;",
              ''
            ));
    
    
            TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;
          }
        }
        if ("TreeStyleTabBookmarksServiceEditable" in window)
          TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;
      },
    
    
      popupshown: function(event){
        if (this.editBookmarkPanel != event.originalTarget)
          return;
        setTimeout(function(self){
          if ("TreeStyleTabBookmarksServiceEditable" in window)
            TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;
          if (self.getPrefOpenTree &&
              gEditItemOverlay._element(self.folderTreeRow).collapsed ) {
            gEditItemOverlay.toggleFolderTreeVisibility();
          }
          if (self.getPrefOpenTag &&
              gEditItemOverlay._element(self.tagsSelectorRow).collapsed ) {
            gEditItemOverlay.toggleTagsSelector();
          }
          try {
            gEditItemOverlay._element(gPrefService
              .getCharPref("browser.bookmarks.editDialog.firstEditField")).focus();
          } catch(e) {}
      }, 100, this);
      },
    
    
      mousedown: function(event){
        this.drag = true;
        this.height = parseInt(this.tree.boxObject.height);
        this.width = parseInt(this.editBookmarkPanel.boxObject.width);
        this.eventOffset = event;
      },
    
    
      mousemove: function(event) {
        if (this.timer)
          clearTimeout(this.timer);
        this.timer = setTimeout(function(event, self){
          if (self.drag) {
            // make sure height [150,screen-300] and width is [300,screen-50]
            var newValue;
            newValue = self.height + event.pageY - self.eventOffset.pageY;
            if (newValue <= screen.height - 300 && newValue >= 150) {
              self.tree.height = newValue;
            }
    
    
            newValue = self.width - event.pageX + self.eventOffset.pageX;
            if (newValue <= screen.width - 50 && newValue >= 300) {
              //self.tree.width = newValue;
              self.editBookmarkPanel.width = newValue;
            }
    
    
          }
        }, 10, event, this);
      },
      mouseup: function(event) {
        if (this.drag) {
          gPrefService.setIntPref(this.PREFTREEHEIGHT, this.tree.height);
          gPrefService.setIntPref(this.PREFTREEWIDTH, this.editBookmarkPanel.boxObject.width);
        }
        this.drag = false;
      }
    }
    //window.addEventListener("load", openbookResizer, false);
    openbookResizer.init();
    Alles anzeigen


    zu 2.:

    Seit Fx 47 wird beim Anlegen eines Lesezeichens das Panel geöffnet und dann automatisch geschlossen, wenn man darin 3,5 Sekunden nichts oder nichts mehr tut.
    Siehe dazu auch https://www.camp-firefox.de/forum/viewtopic.php?f=1&t=118195
    Mit folgendem Skript kann man die Zeitdauer verändern, sie wird in Zeile 4 in Sekunden eingetragen:

    Code
    (function() {
       if (!window.StarUI)
          return;
       const delaySec = 10;
       eval('StarUI.handleEvent = ' + StarUI.handleEvent.toString()
          .replace(/delay = \d+/, 'delay = ' + (delaySec * 1000).toString()));
    })();
  • Lesezeichen speichern verselbstständigt sich

    • aborix
    • 21. November 2016 um 22:00

    Neuer Code, in der vierten Zeile bei
    const delaySec =
    wird die Zeit in Sekunden eingetragen:

    Code
    (function() {
    	if (!window.StarUI)
    		return;
    	const delaySec = 10;
    	eval('StarUI.handleEvent = ' + StarUI.handleEvent.toString()
    		.replace(/delay = \d+/, 'delay = ' + (delaySec * 1000).toString()));
    })();


    In der Browserkonsole wirkt der Code nur bis zum Neustart.
    Damit er dauerhaft wirkt, benötigt man eine Erweiterung, üblicherweise userChromeJS.
    Informationen dazu stehen hier: https://github.com/ardiman/userCh…aster/README.md

    Ob man in der Browserkonsole auf "Als globale Variable speichern" klickt, macht meiner Erfahrung nach keinen Unterschied.

  • Der Glückwunsch-Thread

    • aborix
    • 17. November 2016 um 15:58

    Alles Gute! :)

  • Wie das (i) - für Seiteninformation in Adressleiste entfernen ( FF 50 )

    • aborix
    • 17. November 2016 um 15:55

    Lass das .grantedPermissions weg, es funktioniert sonst nicht auf allen Seiten.

  • Erkennung vom aktiven Tab deaktivieren

    • aborix
    • 28. Oktober 2016 um 20:23

    Ich habe in #11 das Skript geändert, es müsste nun funktionieren.

  • Erkennung vom aktiven Tab deaktivieren

    • aborix
    • 27. Oktober 2016 um 09:28

    Der relevante Code der Erweiterung lässt sich auch in ein Greasemonkey-Skript packen.
    Das hat auch den Vorteil, dass man die Seiten, wo es wirkt, festlegen kann.

    Code
    // ==UserScript==
    // @name      Don't Make Me Watch
    // @run-at    document-start
    // @include   *
    // @grant     none
    // ==/UserScript==
    
    
    var f = function() {
    	var a = Node.prototype.addEventListener;
    	Node.prototype.addEventListener = function(e) {
    		if (e == "visibilitychange")
    			{ }
    		else 
    			a.apply(this,arguments)
    	};
    };
    
    
    var c = '(' + f.toString() + ')()';
    
    
    function doNode(node) {
    	node.setAttribute('onreset', c);
    	node.dispatchEvent(new CustomEvent('reset'));
    	node.removeAttribute('onreset');
    };
    
    
    var node = document.documentElement;
    if (node) {
    	doNode(node);
    } else {
    	var observer = new MutationObserver(function(mutations) {
    		for (let mutation of mutations) {
    			for (let node of mutation.addedNodes) {
    				if (node == document.documentElement) {
    					doNode(node);
    					observer.disconnect();
    					return;
    				};
    			};
    		};
    	});
    	observer.observe(document, {childList: true});
    };
    Alles anzeigen
  • Der Glückwunsch-Thread

    • aborix
    • 9. Oktober 2016 um 20:54

    Auch etwas verspätet:
    Alles Gute! :)

  • bei Fux Start Fokus nicht in URL Leiste

    • aborix
    • 9. Oktober 2016 um 20:39

    Bei einer lokalen Startseite ist bei mir der Focus nicht in der Adressleiste.
    Wie auch immer, versuche folgendes:
    Füge in den Quellcode deiner Startseite diesen Teil ein:

    Code
    <script type="text/javascript">
    	addEventListener('pageshow', function onPageshow() {
    		window.focus();
    		removeEventListener('pageshow', onPageshow);
    	});
    </script>
  • Alternative gesucht für SearchLoad Options

    • aborix
    • 4. Oktober 2016 um 20:43
    Zitat von PM


    die Suche nach einer definierten Zeit leeren, nachdem die Suchanfrage abgeschickt wurde


    Ist mit einem Skript machbar; hier ist es eine Minute:

    Code
    (function() {
    	if (!window.BrowserSearch)
    		return;
    	var searchbar = BrowserSearch.searchBar;
    	if (!searchbar)
    		return;
    	var str = searchbar.doSearch.toString().replace(/}$/,
    		'setTimeout(function() { searchbar.value = ""; }, 60000); }'
    	);
    	eval('searchbar.doSearch = ' + str);
    })();
    Alles anzeigen
    Zitat


    die Suchmaschine nach einiger definierten Zeit wieder auf Default setzen


    Was meinst du damit? Die Standardsuchmaschine bleibt ohnehin die gleiche, solange sie nicht unter Einstellungen → Suche geändert wird.

  • Möglich mit ´Stylish´ CODE komplette Oberfläche von FF (+) zoomen?

    • aborix
    • 27. September 2016 um 21:37

    Mit Klick auf den grünen Haken in Beitrag 9 kannst du das Thema als gelöst kennzeichnen.

  • Der Glückwunsch-Thread

    • aborix
    • 26. September 2016 um 20:28

    Alles Gute! :)

Unterstütze uns!

Jährlich (2025)

107,3 %

107,3% (697,41 von 650 EUR)

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