-
Notifications
You must be signed in to change notification settings - Fork 72
Developer information
Wouter Wijsman edited this page Jan 6, 2020
·
25 revisions
Minigalaxy has been created using the following tools:
Setting up a development environment can simply be done by first installing the following software:
- python3
- python3-gi
- webkit2gtk
- glade
- git
After having done so, the git repo can be cloned and the application started with:
git clone https://github.com/sharkwouter/minigalaxy.git
cd minigalaxy
bin/minigalaxy
Glade is used to create GTK interfaces for Minigalaxy whenever possible. The Glade files all have the following in common:
- The top level GTK item, usually the window, has the composite option enabled. This makes us able to use them as the base for a class.
- The top level GTK item is named with CamelCase.
- All text is in English.
- All strings set within Glade are translatable.
- Signals for buttons and other widgets are added from within Glade.
Glade files are loaded as the base for a class with the following line before the class definition:
@Gtk.Template.from_file(os.path.join(UI_DIR, "file.ui"))
Within the class the __gtype_name__
has to match the name of the top level GTK item. Other items are imported using widget_name_in_glade = Gtk.Template.Child()
.
- bin: contains the minigalaxy launch script
-
data: contains the ui files and other non-python files like translations, images and configuration files
- mo: contains compiled translation
- po: contains translation files
- ui: contains the Glade files which contain the interface of Minigalaxy
- debian: contains the rDebian/Ubuntu packaging specific files. Here is some good documentation on what each file does.
- minigalaxy: contains the source code
- scripts: contains some scripts for managing translations and creating screenshots for the README