Application#
- class ignis.app.IgnisApp(*args: Any, **kwargs: Any)#
Application class.
Danger
Do not initialize this class! Instead, use the already initialized instance as shown below.
from ignis.app import IgnisApp app = IgnisApp.get_default()
- classmethod get_default() IgnisApp #
Get the default Application object for this process.
- Return type:
- signal ready#
Emitted when the configuration has been parsed.
Hint
To handle shutdown of the application use the
shutdown
signal.
- gproperty windows: list[gi.repository.Gtk.Window]#
read-only
Deprecated since version 0.6: Use
windows
instead.
- gproperty autoreload_config: bool#
read-write
Whether to automatically reload the configuration when it changes (only .py files).
Default:
True
.
- gproperty autoreload_css: bool#
read-write
Whether to automatically reload the CSS style when it changes (only .css/.scss/.sass files).
Default:
True
.
- gproperty reload_on_monitors_change: bool#
read-write
Whether to reload Ignis on monitors change (connect/disconnect).
Default:
True
.
- gproperty widgets_style_priority: Literal['application', 'fallback', 'settings', 'theme', 'user']#
read-write
The priority used for each widget style unless a widget specifies a custom style priority using
style_priority
. More info about style priorities:Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
.Default:
"application"
.Warning
Changing this property won't affect already initialized widgets! If you want to set a custom global style priority for all widgets, do this at the start of the configuration.
from ignis.app import IgnisApp app = IgnisApp.get_default() app.widgets_style_priority = "user" # ... rest of config goes here
- apply_css(style_path: str, style_priority: Literal['application', 'fallback', 'settings', 'theme', 'user'] = 'application', compiler: Literal['sass', 'grass'] | None = None) None #
Apply a CSS/SCSS/SASS style from a path. If
style_path
has a.sass
or.scss
extension, it will be automatically compiled. Requires eitherdart-sass
orgrass-sass
for SASS/SCSS compilation.- Parameters:
style_path (
str
) -- Path to the .css/.scss/.sass file.style_priority (
Literal
['application'
,'fallback'
,'settings'
,'theme'
,'user'
], default:'application'
) -- A priority of the CSS style. More info about style priorities:Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
.compiler (
Literal
['sass'
,'grass'
] |None
, default:None
) -- The desired Sass compiler.
- Return type:
Warning
style_priority
won't affect a style applied to widgets using thestyle
property, for these purposes usewidgets_style_priority
orignis.base_widget.BaseWidget.style_priority
.- Raises:
StylePathAppliedError -- if the given style path is already to the application.
CssParsingError -- If an error occured while parsing the CSS/SCSS file. NOTE: If you compile a SASS/SCSS file, it will print the wrong section.
- remove_css(style_path: str) None #
Remove the applied CSS/SCSS/SASS style by its path.
- Parameters:
style_path (
str
) -- Path to the applied .css/.scss/.sass file.- Raises:
StylePathNotFoundError -- if the given style path is not applied to the application.
- Return type:
- add_icons(path: str) None #
Add custom SVG icons from a directory.
The directory must contain
hicolor/scalable/actions
directory, icons must be insideactions
directory.For example, place icons inside the Ignis config directory:
~/.config/ignis ├── config.py ├── icons │ └── hicolor │ └── scalable │ └── actions │ ├── aaaa-symbolic.svg │ └── some-icon.svg
Note
To apply a CSS color to an icon, its name and filename must end with
-symbolic
.then, add this to your
config.py
:from ignis import utils from ignis.app import IgnisApp app = IgnisApp.get_default() app.add_icons(f"{utils.get_current_dir()}/icons")
- get_window(window_name: str) gi.repository.Gtk.Window #
- Return type:
Window
Deprecated since version 0.6: Use
get_window()
instead.
- open_window(window_name: str) None #
- Return type:
Deprecated since version 0.6: Use
open_window()
instead.
- close_window(window_name: str) None #
- Return type:
Deprecated since version 0.6: Use
close_window()
instead.
- toggle_window(window_name: str) None #
- Return type:
Deprecated since version 0.6: Use
toggle_window()
instead.
- add_window(window_name: str, window: gi.repository.Gtk.Window) None #
- Return type:
Deprecated since version 0.6: Use
add_window()
instead.
- remove_window(window_name: str) None #
- Return type:
Deprecated since version 0.6: Use
remove_window()
instead.