Intro To Gtk
StreamController allows plugins to inject GTK widgets into the action configuration area for configuration of the actions.
GTK¶
GTK is a cross-platform GUI toolkit for creating graphical user interfaces. It is a free and open-source toolkit for developing applications with a focus on high quality and customization.
Getting Started¶
Good resources to get started with GTK in python:
Info
If you feel overwhelmed by GTK I have good news for you:
- You don't need to know much about GTK to add config rows to your actions.
- You can check out other plugins to see how they implemented config rows.
- Feel free to ask any questions on the StreamController Discord
Action Configuration Area¶
- The configuration area is splitted into two parts:
-
Custom config rows (marked blue)¶
Here plugins can add Adw.PreferencesRow widgets.
Seeget_config_rows
for more information about the implementation. -
Custom config area (marked green)¶
Here plugins can add any Gtk.Widgets widgets allowing more options for customization but also requiring more work.
Seeget_custom_config_area
for more information about the implementation.