GMX_menu

A simple userscript menu manager, treats all menu items as a GMX_menu object.

Bu script direkt olarak kurulamaz. Başka scriptler için bir kütüphanedir ve meta yönergeleri içerir // @require https://update.greasyfork.org/scripts/473817/1240400/GMX_menu.js

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Zateb bir user-style yöneticim var, yükleyeyim!)

Yazar
DianaBlessU
Versiyon
0.1.1
Oluşturulma
24.08.2023
Güncellenme
25.08.2023
Boyut
2,82 KB
Lisans
N/A

A simple userscript menu manager, treats all menu items as a GMX_menu object.

Key Features:

  1. Create and access menu items via GMX_menu object, no need to care the item order.
  2. Caption text of menu item can be changed at any time.
  3. Menu item can act as a Check box.
  4. Menu items can act as a radio button group.

Usage:

    // To use this script, you need to grant GM_registerMenuCommand and GM_unregisterMenuCommand.

    // Install a new menu, (all previous menu items will be removed)

    //  The value of name must be unique in the menu.
    //  If autoRefresh is true, when the menu item is modified, the rerendering will be automatically executed, 
    //  otherwise its appearance will remain unchanged unless you manually call the GMX_menu.refresh() method.
    //  If a menu item has a checked attribute, it will be rendered as a checkable entry.
    //  If it also has a group attribute at the same time, it will be associated to a radio button group.

    const sampleOptions = {
        autoRefresh: true,
        items: [
            {name: "cmd1", text: "🥣 Radio 1", checked: true, group: "g1", callback: ()=>{alert("Radio 1 clicked!")}},
            {name: "cmd2", text: "⭐ Radio 2", checked: false, group: "g1", callback: ()=>{alert("Radio 2 clicked!")}},
            {name: "sep1", separator: true},
            {name: "cmd3", text: "🍬 Checkbox 3", checked: false, callback: ()=>{alert("Checkbox 3 clicked!")}},
            {name: "cmd4", text: "🍦 Command 4", callback: ()=>{alert("Command 4 clicked!")}},
        ]
    }
    GMX_menu.install(sampleOptions);

    // Remove menu.
    GMX_menu.uninstall()

    // Change the caption text of a menu item by name.
    GMX_menu.setText(name, text)

    // Get the check state of a menu item by name.
    // If the item is unchackable, it will returns undefined.
    GMX_menu.isChecked(name)

    // Trigger the select event of specific menu item by name.
    // The check state of the item will also be changed if it's checkable.
    GMX_menu.triggerSelect(name)

    // Select the specific item on userscript menu without excuting it's callback function.
    // Usually used to modify the check state of a specific menu item.
    GMX_menu.renderSelect(name)

    // Rebuild the whole menu by installed option.
    GMX_menu.refresh()