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

Beiträge von harff182

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 7. Dezember 2021 um 18:01
    Zitat von 2002Andreas

    Das sind wohl auch keine einfachen tooltips, sondern tooltiptext.

    Jepp, Codeauszug: item.setAttribute('tooltiptext', app.name);

    OK, dann hake ich das "Problem" ab ;(

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 7. Dezember 2021 um 16:42
    Zitat von 2002Andreas

    Teste bitte mal

    Funktioniert hier nur in der tabstoolbar und der navbar, aber in keiner der zusätzlichen Leisten, die ich habe:

    #ExtAppButtons (vertikale Zusatzleiste links)

    #fp-statusbar-2 (horizontale Zusatzleiste)

    #toolbox_abv / addonbar_v ( vertikale AddOn-Leiste rechts)

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 7. Dezember 2021 um 15:28

    Nachbrenner:

    :/ (Wie) Kann man hier die Position der jeweiligen Tooltips verändern?

    Aus den alten Forenbeiträgen zum Thema Toolips/Tooltipstext bin ich nciht schlau geworden. :(

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 23:00

    :thumbup: :thumbup: :thumbup: Für Deine Hilfen, 2002Andreas

    Ich finde es erstaunlich und klasse, daß hier im CFF so abgedrehte Ideen, wie ich sie manchmal hab, verwirklicht werden können, auch wenn meinereiner überall abguckt, zusammenklaut und vor lauter Rumstümperei irgendwann nur noch kleinlaut um Hilfe bitten kann.

    Chapeau :!: und guuuts nächtle...

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 21:32
    Zitat von 2002Andreas

    Neuer Code für die Separatoren:

    :thumbup: Jawollja. Danke.

    Zitat von 2002Andreas

    Deinen musst du dazu entfernen.

    :/ Grummel... ich hatte doch alles andere aus kommentiert - egal , jezz is ja hübsch :D

    :/ Und womit machen wir jetzt dem Zappelphilip den Garaus ?

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 21:05
    Zitat von 2002Andreas

    Und so?

    :D Jetzt Zappeln alle - Ja sind wir denn hier im Kasperle-Theater?

    Zitat von 2002Andreas

    Dieser Eintrag sorgt für das zucken der Icons bei hover:

    Und wie krieg ich den Zappelphillip da raus?

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 20:01
    Zitat von 2002Andreas

    So klappt das bei dir nicht per hover?

    Nur für den ersten button und dann zapelt der nach rechts weg:

    Um den separator kümmer ich mich gleich, ich muß runter zu meiner Mom zur Nachtpflege....

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 19:50

    Zeile 29: orientation statt horientation, ohne das "h"

    Und hast du den CSS-Schnipsel in deiner userChrome.css drin?

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 19:35

    :huh: Huch... ich hab grade einen Schreibfehler in Zeile 29 entdeckt:

    Da die auskommentiert war, hat das "h" latürnich keine Auswirkung.

    Zitat von 2002Andreas

    Also alle Einträge oben in der Menüleiste und nicht an der Seite

    Und wenn Du Zeile 30 auskommentierst und Zeile 29 aktivierst?

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 19:19

    Aber bittebitte nicht über meine ganzen Versuche/kommentare lachen:

    Code
    //    31_Externals-button-bar.uc.js
    //
    // ==UserScript==
    // @name External-Aplication.uc.js
    // @namespace ithinc#mozine.cn
    // @description External Applications
    // @include main
    // @compatibility Firefox 3.5.x
    // @author ithinc
    // @version 20091212.0.0.1 Initial release
    // @version 20170911.0.0.2 Fix by aborix
    // ==/UserScript==
    //
    //     Herkunft:
    //     https://www.camp-firefox.de/forum/thema/126871
    //
    //     Sinn und Zweck diesmal: Zusatzleiste für App-Buttons im FullScreen-FF
    //     ============
    //     211203:    erste versuche: Buttons immer mit Text :o     => wo unnötig = ''
    //     211204:    CSS-Regeln, u.a. Separatoren-Aussehen ersma in userChrome.css abgelegt.
    //    211205: 2. mögliche Position gefunden: insertafter: 'browser' = gaaanz unten :)
    //            Tests zeigen, daß vertikal irgendwie möglich ist "orientation:" eingebaut
    //            Heureka :-)=
    
    var gExternalApplications = {
        type: 'button', 
    
    //    211205: eingebaut, getestet, funktioniert    
    //    horientation: 'vertical', 
        orientation: 'horizontal',
        
    //  die hier machten nicht das, was ich erwartete ////////////////////////////////////
    //    insertafter: 'navbar',                                     //klappt nicht
    //    insertafter: 'main-window',                             //klappt nicht
    //    insertafter: 'toolbar-menubar',                         // unter menü-bar
    //    insertafter: 'titlebar',                                 // auch unter menü-bar
    //    insertafter: 'TabsToolbar',                             // auch unter menü-bar
    //    insertafter: 'PersonalToolbar',                         // unter Lesezeichen-bar
    //    insertafter: 'TabsToolbar-customization-target',         // hinten _IN_ TabsToolbar
    //    insertafter: 'navigator-toolbox',                         // hinter menü-bar
    //////////////////////////////////////////////////////////////////////////////////////
        insertafter: 'toolbar-menubar',                         // unter menü-bar
    //    insertafter: 'browser',                                 // gaaanz unten :)
        
        apps: [
            {name: 'Calc', path: 'C:/WINDOWS/system32/calc.exe'},
            {name: 'Shell', path: 'C:/WINDOWS/system32/cmd.exe'},
            {name: 'Unreal Commander', path: 'D:/___Stickware/util/uc/Uncom.exe'},
            {name: 'separator'},
            {name: 'Notepad++', path: 'D:/___Stickware/office/NPP/notepad++.exe'},
            {name: 'OO-Writer', path: 'D:/___Stickware/office/OpenOffice/OpenOfficeWriterPortable.exe'},
            {name: 'OO-Calc', path: 'D:/___Stickware/office/OpenOffice/OpenOfficeCalcPortable.exe'},
            {name: 'separator'},
            {name: 'Photofiltre', path: 'D:/___Stickware/gfx/PhotoFiltre/PhotoFiltre.exe'},
            {name: 'separator'},
            {name: 'AVC-Converter', path: 'C:/Program Files (x86)/Anvsoft/Any Video Converter/AVCFree.exe'},
            {name: 'VDub', path: 'D:/___Stickware/av/vdub11005_64/Veedub64.exe'},
            {name: 'TSDoctor', path: 'C:/Program Files (x86)/Cypheros/TSDoctor2/TSDoctor.exe'},
            {name: 'separator'},
            {name: 'Limical', path: 'D:/05_E-Smoke/02_panschen/Limical10.exe'},
            {name: 'SnapTimert', path: 'D:/___Stickware/util/SnapTimer/SnapTimer.exe'},
            {name: '7Zip', path: 'D:/___Stickware/util/7-Zip/7-ZipPortable.exe'},
            {name: 'separator'},
            {name: 'Solitair', path: 'C:/Program Files (x86)/123 Free Solitaire/123FreeSolitaire.exe'},
            {name: 'Click', path: 'D:/___Stickware/fun/ClickOmania/Click.exe'},
            {name: 'separator'},
            {name: 'separator'},
            {name: 'separator'},
            {name: 'this bar', path: 'D:/___Stickware/comm/firefoxportable/Data/profile/chrome/my_js/31_Externals-button-bar.uc.js'},
        ],
    
        init: function() {
            for (var i=0; i<this.apps.length; i++) {
                if (!this.apps[i].path) continue;
                if (!this.apps[i].args) this.apps[i].args = [];
                this.apps[i].path = this.apps[i].path.replace(/\//g, '\\');
                var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path;
    
                if (/^(\\)/.test(this.apps[i].path)) {
                    this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path;
                }
                else if (/^(\.)/.test(this.apps[i].path)) {
                    this.apps[i].path = ffdir + '\\' + this.apps[i].path;
                }
            }
            if (this.type == 'menu') {
                var mainmenu = document.getElementById('main-menubar'); // das war das Original
                var menu = mainmenu.appendChild(document.createXULElement('menu'));
                menu.setAttribute('label', 'Start'); // Menu = "Start"
                menu.setAttribute('accesskey', 't');
                menu.setAttribute('id', 'start-menu');
    
                var menupopup = menu.appendChild(document.createXULElement('menupopup'));
                for (var i=0; i<this.apps.length; i++) {
                    menupopup.appendChild(this.createMenuitem(this.apps[i]));
                }
            }
            else {
                var menubarItems = document.getElementById(this.insertafter);
                var toolbaritem = menubarItems.parentNode.insertBefore(document.createXULElement('toolbaritem'), menubarItems.nextSibling);
                toolbaritem.id = 'ExtAppButtons';
                toolbaritem.setAttribute("class", "chromeclass-toolbar-additional");
    //            toolbaritem.setAttribute("orient", "horizontal");  //original
    //            211205: this.orientation eingebaut    
                toolbaritem.setAttribute("orient", this.orientation);
                for (var i=0; i<this.apps.length; i++) {
                    toolbaritem.appendChild(this.createButton(this.apps[i]));
                }
            }
        },
    
        exec: function(path, args) {
            for (var i=0; i<args.length; i++) {
                args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec);
            }
    
            var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            file.initWithPath(path);
            if (!file.exists()) {
                throw 'File Not Found: ' + path;
            }
    
            if (!file.isExecutable() || args.length==0) {
                file.launch();
            }
            else {
                var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess);
                process.init(file);
                process.run(false, args, args.length);
            }
        },
    
        createButton: function(app) {
            if (app.name == 'separator')
    // hier könnte ich einen eigenen basteln, aber (noch) keine Ahnung, wie....
            return document.createXULElement('toolbarseparator');
    
            var item = document.createXULElement('toolbarbutton');
            item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional');
    //        item.setAttribute('label', app.name);  //überflüssig, Tooltips reichen
            item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
            item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
            item.setAttribute('tooltiptext', app.name);
            item.path = app.path;
            item.args = app.args;
            return item;
        },
    
        createMenuitem: function(app) {
            if (app.name == 'separator')
            return document.createXULElement('menuseparator');
    
            var item = document.createXULElement('menuitem');
            item.setAttribute('class', 'menuitem-iconic');
            item.setAttribute('label', app.name);
            item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
            item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
            item.path = app.path;
            item.args = app.args;
            return item;
        }
    };
    gExternalApplications.init();
    Alles anzeigen
  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 6. Dezember 2021 um 18:55
    Zitat von harff182

    Sind zwar noch 2 Sachen, die mir nicht so ganz gefallen

    Hab heute mal versucht, per css diese 2 Sachen hinzubiegen:

    Die Pfeile zeigen die toolbarseparatoren , die ich nicht waagerecht und dicker bekomme.

    Desweiteren schaffe ich es (mal wieder) nicht, beim hovern zu unterbinden, daß die Default-Farbe (irgendso ein grau) auftaucht.

    Mein aktueller Code:

    CSS
    /*Testspielerei, solange ich keine Leiste mit Start-Exe-Buttons einsetzen kann    */
    #browser{
        margin-left: 40px !important;
    }
    
    /*was für die ganze Leiste gelten soll*/
    #ExtAppButtons {
        background: greenyellow !important;/*lightblue,gold,greenyellow,yellow,chartreuse */
        position: absolute !important;
        display: block !important;
        bottom: -580px !important;                /*damit es weit genug runterrutscht*/
        height: 580px !important;                /*damit der Rahmen um alle Icons geht*/
        width: 35px !important;
        border: 2px solid black !important;
        border-radius: 5px !important;
        margin-left: 2px !important;
        padding: 5px !important;
    }
    
    /*was für die Buttons gelten soll*/
    #ExtAppButtons .toolbarbutton-1 > .toolbarbutton-badge-stack ,
    #ExtAppButtons .toolbarbutton-1 > image{
        height: 20px !important;
        width: 20px !important;
    }
    
    /*und wie bekomme ich jetzt die hover-farbe weg? */
    #ExtAppButtons .toolbarbutton-1,
    #ExtAppButtons .toolbarbutton-1 > .toolbarbutton-badge-stack:hover
    {
        background: greenyellow !important; 
    }
    
    /* Seperatoren anpassen - neuer Versuch - tut auch fast nix */
    #ExtAppButtons > toolbarseparator {
            display: block !important;
    
            padding: 4px !important;
            /* padding-top: 5px !important; */
            /* padding-bottom: 5px !important; */
            /* padding-left: 13px !important; */
            /* padding-right: 13px !important; */
            margin: 4px !important;    
            /* margin-left: 6px !important;     */
            /* margin-right: 6px !important;     */
            max-width: 15px !important;
            max-width: 15px !important;
    }
    
    
    /*Seperatoren anpassen V3 - klappt auch nicht */
    /* #ExtAppButtons > toolbarseparator {
        display: block !important;
        content:  '\0333' !important;
        color: black !important; 
    } */
    Alles anzeigen

    Vielleicht hat ja einer von unseren CSS-Gurus 1-2 helfende Ideen ;)

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 5. Dezember 2021 um 21:01

    :love: Heureka:

    Sind zwar noch 2 Sachen, die mir nicht so ganz gefallen, aber jetzt bin ich ersma arg happy :D

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 5. Dezember 2021 um 19:13

    Hab heute 3 kleine Schritte nach vorne gemacht:

    Als 1. hab ich eine zweite "funktionierende" Positionierung gefunden: insertafter: 'browser'

    Dann hab ich mit "vertical" statt "horizontal" etwas rumgespielt und da tut sich was.

    Als 2. hab ich dann am Anfang hinter type: 'button', noch orientation: 'horizontal', bzw orientation: 'vertical', eingeführt und hier eingesetzt:

    JavaScript
            else {
                var menubarItems = document.getElementById(this.insertafter);
                var toolbaritem = menubarItems.parentNode.insertBefore(document.createXULElement('toolbaritem'), menubarItems.nextSibling);
                toolbaritem.id = 'ExtAppButtons';
                toolbaritem.setAttribute("class", "chromeclass-toolbar-additional");
    //            toolbaritem.setAttribute("orient", "horizontal"); //original
    //            211205: this.orientation eingebaut    
                toolbaritem.setAttribute("orient", this.orientation);
                for (var i=0; i<this.apps.length; i++) {
                    toolbaritem.appendChild(this.createButton(this.apps[i]));
                }
            }
    Alles anzeigen

    Funktionuckelt soweit momentan möglich.

    Als drittes glaube ich im Code zur vertikalbar.uc.js abgucken zu können wie ich insertafter oder insertbefore, also links/rechts neben 'browser' eventuell hinbekommen könnte.

    Zitat von 2002Andreas

    Evtl. kann dir ja unser Fachmann aborix dabei behilflich sein

    Darauf hatte ich mit meinem "S:...."-Thread ja im Stillen gehofft ;) , aber unabhängig davon versuch ich mich weiter versuchsweise durch vorhandenen Code zu beißen... ...und vielleich 'n bischen dazuzulernen...

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 4. Dezember 2021 um 23:27

    Daß ich mit meinem Latein am Ende bin, sollte durch meine nachfrage gestern klar sein - Learning bei Doing is ja ganz nett, aber bei mir isses eher Learning bei Abgucking und find nix mehr zum abgucken :(

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 4. Dezember 2021 um 22:51

    Auch der Wille zu Helfen beschert einen Bonuspunkt ;)

    Vielleicht schaffe ich es ja mit meinem Mini-JS-Vermögen ein script zu basteln, das nicht nur einen Alert, sondern ein Programm öffnet :/

    Dann könnte die von Dir angeboten Lösung wieder ins Gespräch kommen.

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 4. Dezember 2021 um 22:30
    Zitat von grisu2099

    Aber, warum nimmst du ein Script für eine horizontale Leiste, wenn du eine vertikale Leiste möchtest?

    Weil eine vertikale Ausrichtung der Buttons nach meinem Verstandnis in Zeile 93 vorgesehen ist:

    toolbaritem.setAttribute("orient", "horizontal");

    Und zwar indem man "horizontal" durch "vertical" ersetzt.

    Kann latürnich sein, daß ich das fehlinterpretiere :(

    Zitat von grisu2099

    Hier ein Script für eine vertikale Leiste:

    :/ Vielleicht bin ich wieder zudummzumzum, aber ich sehe keine Stelle, wo ich zu startende Programme eintragen könnte .

    Denn grade das geht mit External-Aplication.uc.js und ist das was ich will.

  • External-Aplication.uc.js als vertikale Buttonbar links unter TabsToolbar möglich?

    • harff182
    • 4. Dezember 2021 um 19:49

    Ich bastel seit gestern an meinem Full-Scrren-FF herum.

    Meine Tabstoolbar hab ich hiermit nach unten verfrachtet:

    CSS
    /*    01_tabs_unten_andy_neu_89.css    */
    /*     Tableiste unter Urlbar(Navigationsleiste verschieben und anpassen    */
    /*     210609:    FF89_neu    */
    /*     210612:    mit andys neuem angepinnten ausgetauscht
                https://www.camp-firefox.de/forum/thema/132802     */
    /*    210613: New-Tab-Button rausgenommen - eigenes .css        */
    /*    211106:    überarbeitet von 2002Andreas    */
    
    /*  Note:    Abstand der Tableiste nach oben: Zeile 26 */
            
    #TabsToolbar {
        position: absolute;
        display: block;
        bottom: 0;
        width: 100vw;
        background-clip: padding-box;
        color: var(--toolbar-color);
    }
    
    #tabbrowser-tabs {
        width: 100vw;
    }
    
    #navigator-toolbox {
        position: relative;
        padding-bottom: calc( var(--tab-min-height) + 6px ); /* Abstand gefällt mir besser als die 8 px ;) */
    }
    
    #main-window[tabsintitlebar][sizemode="maximized"]:not([inDOMFullscreen="true"]) #titlebar {
        height: 36px;   /* kein Plan, wofür das gut is :(*/
    }
    
    .titlebar-buttonbox-container {
        position: fixed;
        right: 0;
        visibility: visible;
        display: block;
    }
    
    #TabsToolbar .titlebar-buttonbox-container,
    #TabsToolbar #window-controls {
      display: none;
    }
    Alles anzeigen

    Als nächstes habe ich dann mit External-Aplication.uc.js eine zusätzliche horizontale Button-Leiste erzeugt:

    JavaScript
    //    31_Externals-button-bar.uc.js
    // ==UserScript==
    // @name External-Aplication.uc.js
    // @namespace ithinc#mozine.cn
    // @description External Applications
    // @include main
    // @compatibility Firefox 3.5.x
    // @author ithinc
    // @version 20091212.0.0.1 Initial release
    // @version 20170911.0.0.2 Fix by aborix
    // ==/UserScript==
    //
    //     Herkunft:
    //     https://www.camp-firefox.de/forum/thema/126871
    //
    //     Sinn und Zweck hier: Zusatzleiste für App-Buttons im FullScreen-FF
    //     ============
    //     211203:    erste versuche: Buttons immer mit Text :o     => wo unnötig = ''
    //     211204:    CSS-Regeln, u.a. Separatoren-Aussehen ersma in userChrome.css abgelegt.
    
    var gExternalApplications = {
        type: 'button', 
    //    insertbefore: 'toolbar-menubar',     //klappt nicht
        insertafter: 'toolbar-menubar',     // unter menü-bar
    //    insertafter: 'titlebar',             // auch unter menü-bar
    //    insertafter: 'TabsToolbar',         // auch unter menü-bar
    //    insertafter: 'navbar',                 //klappt nicht
    //    insertafter: 'PersonalToolbar',     // unter Lesezeichen-Bereich
    //    insertafter: 'TabsToolbar-customization-target',         // hinten in TabsToolbar
    //    insertafter: 'main-window',         //klappt nich
        
        apps: [
            {name: '', path: 'C:/WINDOWS/system32/calc.exe'},
            {name: '', path: 'C:/WINDOWS/system32/cmd.exe'},
            {name: '', path: 'D:/___Stickware/util/uc/Uncom.exe'},
            {name: 'separator'},
            {name: '', path: 'D:/___Stickware/office/NPP/notepad++.exe'},
            {name: '', path: 'D:/___Stickware/office/OpenOffice/OpenOfficeWriterPortable.exe'},
            {name: '', path: 'D:/___Stickware/office/OpenOffice/OpenOfficeCalcPortable.exe'},
            {name: '', path: 'D:/___Stickware/gfx/PhotoFiltre/PhotoFiltre.exe'},
            {name: 'separator'},
            {name: '', path: 'C:/Program Files (x86)/Anvsoft/Any Video Converter/AVCFree.exe'},
            {name: '', path: 'D:/___Stickware/av/vdub11005_64/Veedub64.exe'},
            {name: '', path: 'C:/Program Files (x86)/Cypheros/TSDoctor2/TSDoctor.exe'},
            {name: 'separator'},
            {name: '', path: 'D:/05_E-Smoke/02_panschen/Limical10.exe'},
            {name: '', path: 'D:/___Stickware/util/SnapTimer/SnapTimer.exe'},
            {name: '', path: 'D:/___Stickware/util/7-Zip/7-ZipPortable.exe'},
            {name: 'separator'},
            {name: '', path: 'C:/Program Files (x86)/123 Free Solitaire/123FreeSolitaire.exe'},
            {name: '', path: 'D:/___Stickware/fun/ClickOmania/Click.exe'},
            {name: 'separator'},
            {name: 'separator'},
            {name: 'Leisten', path: 'D:/___Stickware/comm/FirefoxPortable_wissen/FF_LeistenBezeichnungen in Firefox.png'},
            {name: 'shortcuts', path: 'D:/___Stickware/comm/firefoxportable_wissen/Tastenkombinationen Hilfe zu Firefox.URL'},
            {name: 'Farben', path: 'D:/___Stickware/comm/firefoxportable_wissen/html-farben.url'},
            {name: 'separator'},
            {name: 'separator'},
            {name: 'this bar', path: 'D:/___Stickware/comm/firefoxportable/Data/profile/chrome/my_js/31_Externals-button-bar.uc.js'},
        ],
    
        init: function() {
            for (var i=0; i<this.apps.length; i++) {
                if (!this.apps[i].path) continue;
                if (!this.apps[i].args) this.apps[i].args = [];
                this.apps[i].path = this.apps[i].path.replace(/\//g, '\\');
                var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path;
    
                if (/^(\\)/.test(this.apps[i].path)) {
                    this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path;
                }
                else if (/^(\.)/.test(this.apps[i].path)) {
                    this.apps[i].path = ffdir + '\\' + this.apps[i].path;
                }
            }
            if (this.type == 'menu') {
                var mainmenu = document.getElementById('main-menubar'); // das war das Original
                var menu = mainmenu.appendChild(document.createXULElement('menu'));
                menu.setAttribute('label', 'Start'); // Menu = "Start"
                menu.setAttribute('accesskey', 't');
                menu.setAttribute('id', 'start-menu');
    
                var menupopup = menu.appendChild(document.createXULElement('menupopup'));
                for (var i=0; i<this.apps.length; i++) {
                    menupopup.appendChild(this.createMenuitem(this.apps[i]));
                }
            }
            else {
                var menubarItems = document.getElementById(this.insertafter);
                var toolbaritem = menubarItems.parentNode.insertBefore(document.createXULElement('toolbaritem'), menubarItems.nextSibling);
                toolbaritem.id = 'ExtAppButtons';
                toolbaritem.setAttribute("class", "chromeclass-toolbar-additional");
                toolbaritem.setAttribute("orient", "horizontal");
                for (var i=0; i<this.apps.length; i++) {
                    toolbaritem.appendChild(this.createButton(this.apps[i]));
                }
            }
        },
    
        exec: function(path, args) {
            for (var i=0; i<args.length; i++) {
                args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec);
            }
    
            var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            file.initWithPath(path);
            if (!file.exists()) {
                throw 'File Not Found: ' + path;
            }
    
            if (!file.isExecutable() || args.length==0) {
                file.launch();
            }
            else {
                var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess);
                process.init(file);
                process.run(false, args, args.length);
            }
        },
    
        createButton: function(app) {
            if (app.name == 'separator')
            return document.createXULElement('toolbarseparator');
    
            var item = document.createXULElement('toolbarbutton');
            item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional');
            item.setAttribute('label', app.name);
            item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
            item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
            // item.setAttribute('tooltiptext', app.name);
            item.path = app.path;
            item.args = app.args;
            return item;
        },
    
        createMenuitem: function(app) {
            if (app.name == 'separator')
            return document.createXULElement('menuseparator');
    
            var item = document.createXULElement('menuitem');
            item.setAttribute('class', 'menuitem-iconic');
            item.setAttribute('label', app.name);
            item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
            item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
            item.path = app.path;
            item.args = app.args;
            return item;
        }
    };
    gExternalApplications.init();
    Alles anzeigen

    Nun hätte ich gerne die Leiste unter der TabsToolbar vertikal ganz links neben dem "Inhaltsbereich", also da wo der Web-Seiten-Inhalt dargestellt wird.

    Ich hoffe, ich hab mich verständlich genug ausgedrückt.

    Irgendwelche Vorschläge, die mich zum Ziel führen könnten?

  • Border um eine komplette Leiste möglich?

    • harff182
    • 4. Dezember 2021 um 17:47

    :huh: Huch, wat simpel. Mir schwirrte da was durchn Kopf mit AFAIR "appearence" oder so..

    :thumbup: Danke, da hab ich ja wieder was zum Rumspielen

  • Border um eine komplette Leiste möglich?

    • harff182
    • 4. Dezember 2021 um 17:30

    Huhu...

    (Wie) Ist es möglich, um eine einzelne komplette Leiste, also navbar, toolbar-menubar, personaltoolbar, fp-statusbar-2 oder was hier sonst noch rumliegt, einen Rahmen (=border) zu setzen?

  • S: Script um per Button ein Programm zu starten

    • harff182
    • 3. Dezember 2021 um 22:30

    'nabend...

    Kennt jemand ein Script, das einen Button erzeugt über den ich ein einzelnes, beliebiges, externes Programm starten kann?

    Das Icon des Programms muß nicht unbedingt übernommen werden, es kann auch vorgebbar (...chrome/icons/...) sein.

    Der Programmname neben dem Icon/Button ist nicht unbedingt notwendig.

    Als Ziel sollte eine eine beliebige ...bar möglich sein, z.B. die Verticalbar, die fp-statusbar-2 oder was sonst noch vorhanden wäre.

    External-Aplication.uc.js ist mir bekannt und wird hier auch in der Menü-Bar eingesetzt; ich hätte nur gern was schnuckeliges kleines für einige Buttons, die ich an exponierter Stelle platzieren kann/will.

    Is nix eiliges/wichtiges, nur so eine Idee, die mir heute kam :D

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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