Browser schließen im Kontextmenü

  • Firefox-Version
    128.1.0esr
    Betriebssystem
    Linux Debian Sid

    Hallo allerseits,

    ich suche schon seit geraumer Zeit ein JavaScript-Schnipsel, mit dem ich aus dem Kontextmenü heraus den Browser schließen kann.

    Ich weiß, es gibt sowas, um den aktuellen Tab zu schließen, aber ich suche halt etwas für das ganze Programm.

    Ich habe schon die bekannten Adressen auf Github von Ardiman, Aris und Endor durchsucht, aber leider nichts gefunden.

    Nun habe ich aber von JavaSript überhaupt keine Ahnung, sonst könnte man vielleicht den TabSchließen-Code abändern, aber leider.

    Hat jemand sowas schon irgendwo gesehen und könnte mir einen Tip geben? Das wäre sehr schön, Dank schonmal im voraus.

  • Ich muss jetzt mal blöd fragen, in welchem Kontextmenü?

    Es gibt das von Dir erwähnte, wenn ich in einem Tab rechts klicke.

    Es gibt die verschiedensten, ja nachdem wo ich rechts klicke, in der Tabbar, in der Adressleiste, in der jeweiligen Page,

    und auch da, ....

    Aber reicht es Dir nicht, dass unter "Datei" ein Schließenbutton vorhanden ist, so wie im "Hamburgermenü"?
    Und gibt es unter Linux nicht auch ein Schließenbutton oben rechts in der Ecke?

    Ich könnte Dir eventuell einen frei beweglichen Button für die "Leisten" basteln!

    Aber wenn die Schaltfläche unbedingt im Kontextmenü der Tabs sein soll/muss, keine Ahnung, ob ich das hinbekomme.

    Mit <3lichem Gruß

    Mira

  • Bitte mal testen!

    Mit <3lichem Gruß

    Mira

  • clio so vielleicht? Hier das Icon: 16power_off_redorange.svg

    Dieser Beitrag wurde ohne Hilfe einer 'KI' erstellt.

  • Mitleser

    Das war genau das, was ich mir vorgestellt hatte, funktioniert perfekt, ganz vielen Dank dafür!

    Das Icon habe ich nicht gebraucht, da ich außer der Tableiste keine Icons verwende.

    Noch eine kurze Erklärung und ein Screenshot zu meinem Wunsch:

    Wie man sehen kann, habe ich die Tableiste nach links gerückt und nur so breit wie das jeweilige Favicon der Seite.

    Weiterhin habe ich die Titelleiste ausgeblendet. Dadurch werden aber die drei hauseigenen Aktionsknöpfe des Browsers nicht mehr angezeigt. Ich habe bis dato ein Addon als Icon zum Schließen verwendet, als Lösung hat mir das aber nicht so recht zugesagt, da ich schon ein JS für "Tab schließen" im Kontextmenü habe. Da war es naheliegend, sowas auch zum Schließen des Browsers zu haben. Nun ist alles so wie gewünscht, sehr schön.

    Mira_Belle

    Auch Dir herzlichen Dank für Deine Mühe. Ja, Seiten-Kontext wäre deutlicher gewesen... aber vielleicht freut sich ja jemand anderes über den Schnipsel.

    Hier mein Screenshot:

  • So, fertig... ich habe es mit CSS nochmal etwas angeglichen, damit die Abstände einheitlich sind. Davon auch ein Screenshot:


    Mira_Belle

    Warum Grr... hier lesen doch viele Leute mit, ich bin sicher, daß sich da jemand bedient...

  • Mit dieser Version - ohne Icon - sollte es auch ohne css klappen :

    Dieser Beitrag wurde ohne Hilfe einer 'KI' erstellt.

  • ...

    Mira_Belle

    Warum Grr... hier lesen doch viele Leute mit, ich bin sicher, daß sich da jemand bedient...

    Naja, es ist schon ein etwas spezielles Skript.
    Ich glaube nicht, dass es soviel Anklang finden wird,
    aber es ist wirklich nicht so schlimm, wie es nach meinem "Grr..." erscheinen mag.

    Mit <3lichem Gruß

    Mira

  • Bitte mal testen!

    Wobei bei mir Zeile 5 (description) nicht stimmt, das menuitem wird hier nicht ans Ende des menupopup gelegt.

    Ja dies kann passieren, gerade dann, wenn man eine Erweiterung (ein Add-on) nutzt, welches auch das Kontextmenü nutzt.
    Wie ich das beeinflussen kann, weiß ich leider nicht! Eventuell kann man das mithilfe eines CSS noch beeinflussen.

    :love::thumbup:

    Mit <3lichem Gruß

    Mira

  • Funkt die eine Erweiterung oder anderes Skript dazwischen?

    Ja dies kann passieren, gerade dann, wenn man eine Erweiterung (ein Add-on) nutzt, welches auch das Kontextmenü nutzt.

    Ja, da haut eine Erweiterung dazwischen, ich löse das erst einmal mittels einer anderen Farbe für das menuitem und gut ist, aber sehr wahrscheinlich bleibt das wohl nur bei einem Test des Scripts.

    Es grüßt,

    Ralf

  • Dharkness
    Bitte teste mal.

    // ==UserScript==

    // Name Quit.uc.js

    // @Version 2.0

    // @author Mira Bellenbaum

    // @Source file RE: Browser schließen im Kontextmenü

    // @description Fügt ans Ende des Kontextmenüs der Tabs eine "Beenden" - Schaltfläche hinzu

    // ==/UserScript==

    location.href.startsWith('chrome://browser/content/browser.x') && (() => {

    document.getElementById('tabContextMenu').addEventListener('popupshowing', function () {

    // Falls die Schaltfläche bereits existiert, zuerst entfernen, um Mehrfacheinträge zu verhindern

    const existingQuitApp = document.getElementById('context_quitApp');

    if (existingQuitApp) {

    existingQuitApp.remove();

    }

    // Neues Menuitem für "Beenden" eigenständig erstellen

    const quitApp = document.createElementNS('http://www.mozilla.org/keymaster/gate…ere.is.only.xul', 'menuitem');

    quitApp.setAttribute('label', 'Beenden');

    quitApp.setAttribute('id', 'context_quitApp'); // Eine ID für einfaches Referenzieren

    quitApp.classList.add('quit-app-separator'); // Klasse für das CSS hinzufügen

    // Event für das Menuitem zum Beenden der Anwendung

    quitApp.addEventListener('command', () => {

    goQuitApplication(); // Anwendung beenden

    });

    // Kontextmenü-Element abrufen

    const tabContextMenu = document.getElementById('tabContextMenu');

    // Schaltfläche immer am Ende des Menüs hinzufügen

    tabContextMenu.appendChild(quitApp);

    }, { once: false }) // { once: false } sorgt dafür, dass das Event jedes Mal bei der Anzeige ausgelöst wird

    })();

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (1. September 2024 um 19:24)

  • Gibt es einen Grund für die umständliche Verwendung von document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'menuitem') anstelle von document.createXULElement('menuitem'), was dir ja kürzlich noch bekannt war? Im gesamten Firefox-Code gibt es die umständliche Schreibweise kein einziges Mal mehr.

    once: false ist für addEventListener außerdem Standard. Das muss man nicht explizit übergeben.