SolarFM/plugins
itdominator 0d01030be3 Refactored externalized widgets, cleanup and subtle bug fixes 2022-12-03 22:03:05 -06:00
..
archiver Changing to pythonic imports, restructured mixins layout 2022-11-28 22:50:37 -06:00
disk_usage Made searcher grep more like wrapper, addeed timestamp ignore 2022-11-29 22:34:25 -06:00
favorites Changing to pythonic imports, restructured mixins layout 2022-11-28 22:50:37 -06:00
file_properties Changing to pythonic imports, restructured mixins layout 2022-11-28 22:50:37 -06:00
movie_tv_info Changing to pythonic imports, restructured mixins layout 2022-11-28 22:50:37 -06:00
searcher Made searcher grep more like wrapper, addeed timestamp ignore 2022-11-29 22:34:25 -06:00
template Changing to pythonic imports, restructured mixins layout 2022-11-28 22:50:37 -06:00
trasher Refactored externalized widgets, cleanup and subtle bug fixes 2022-12-03 22:03:05 -06:00
vod_thumbnailer Changing to pythonic imports, restructured mixins layout 2022-11-28 22:50:37 -06:00
youtube_download Added yt_dlp directly, added rename format options, added xclip clipboard subproc, added copy name context menu option 2022-12-02 20:00:51 -06:00
README.md Rewired settings, improved plugin structural coupling, cleanedup session file generation n load 2022-10-09 20:59:44 -05:00

README.md

Note

Copy the example and rename it to your desired name. Plugins define a ui target slot with the 'ui_target' requests data but don't have to if not directly interacted with. Plugins must have a run method defined; though, you do not need to necessarily do anything within it. The run method implies that the passed in event system or other data is ready for the plugin to use.

Manifest Example (All are required even if empty.)

class Manifest:
    name: str     = "Example Plugin"
    author: str   = "John Doe"
    version: str  = "0.0.1"
    support: str  = ""
    requests: {}  = {
        'ui_target': "plugin_control_list",
        'pass_fm_events': "true"
    }

Requests

requests: {}  = {
    'ui_target': "plugin_control_list",
    'ui_target_id': "<some other Gtk Glade ID>",          # Only needed if using "other" in "ui_target". See below for predefined "ui_target" options...
    'pass_fm_events': "true",                             # If empty or not present will be ignored.
    "pass_ui_objects": [""],                              # Request reference to a UI component. Will be passed back as array to plugin.
    'bind_keys': [f"{name}||send_message:<Control>f"],
                  f"{name}||do_save:<Control>s"]          # Bind keys with method and key pare using list. Must pass "name" like shown with delimiter to its right.

}

UI Targets:

  • main_Window
  • main_menu_bar
  • path_menu_bar
  • plugin_control_list
  • window_(1-4)
  • context_menu
  • other