SYMBOL INDEX (545 symbols across 50 files) FILE: data/plugins/alarm.py class AlarmPlugin (line 23) | class AlarmPlugin(plugin.Plugin): method __init__ (line 27) | def __init__(self): method configure (line 32) | def configure(self, bus: Bus, graph: Graph) -> None: method activate (line 37) | def activate(self) -> None: method deactivate (line 45) | def deactivate(self) -> None: method on_end (line 54) | def on_end(self, **__) -> None: method audio_path (line 60) | def audio_path(self) -> str: method volume (line 64) | def volume(self) -> float: method settings_window (line 67) | def settings_window(self, toplevel: Gtk.Dialog) -> "SettingsDialog": class SettingsDialog (line 71) | class SettingsDialog: method __init__ (line 72) | def __init__(self, config: Config, toplevel: Gtk.Dialog): method create_dialog (line 76) | def create_dialog(self, toplevel: Gtk.Dialog) -> Gtk.Dialog: method create_options (line 91) | def create_options(self) -> Gtk.Grid: method create_custom_alarm_input (line 106) | def create_custom_alarm_input(self, custom_audio) -> Gtk.Entry: method create_custom_alarm_switch (line 120) | def create_custom_alarm_switch(self, custom_audio, entry) -> Gtk.Switch: method select_custom_alarm (line 130) | def select_custom_alarm(self, entry: Gtk.Entry, *_) -> None: method dirname (line 139) | def dirname(self, audio_path: str) -> str: method create_file_chooser (line 142) | def create_file_chooser(self, current_folder: str) -> Gtk.FileChooserD... method create_filter (line 160) | def create_filter(name: str, mime_type: str) -> Gtk.FileFilter: method custom_alarm_changed (line 166) | def custom_alarm_changed(self, entry: Gtk.Entry, _) -> None: method custom_alarm_toggle (line 177) | def custom_alarm_toggle(switch: Gtk.Switch, _, entry: Gtk.Entry) -> None: method run (line 183) | def run(self) -> Gtk.Dialog: FILE: data/plugins/autopause.py class AutoPausePlugin (line 15) | class AutoPausePlugin(plugin.Plugin): method on_session_end (line 18) | def on_session_end(self, **_): method pause (line 21) | def pause(self) -> None: FILE: data/plugins/breakscreen.py class Monitor (line 35) | class Monitor(namedtuple("Monitor", "number geometry")): method x (line 37) | def x(self) -> int: method y (line 41) | def y(self) -> int: method width (line 45) | def width(self) -> int: method height (line 49) | def height(self) -> int: class BreakScreen (line 53) | class BreakScreen(Subscriber): method __init__ (line 54) | def __init__(self, monitor: Monitor, session: Session, config: Config): method create_options (line 65) | def create_options(self, config) -> Dict[str, bool]: method create_button (line 71) | def create_button(self) -> Gtk.Button: method skip_break (line 78) | def skip_break(self, _) -> None: method create_content_area (line 83) | def create_content_area(self, countdown: Gtk.Label, skip_button: Gtk.B... method create_window (line 92) | def create_window(self, monitor: Monitor, box: Gtk.Box) -> Gtk.Window: method on_session_start (line 113) | def on_session_start(self, payload=SessionPayload) -> None: method on_session_interrupt (line 121) | def on_session_interrupt(self, **__) -> None: method on_session_end (line 126) | def on_session_end(self, payload: SessionPayload) -> None: method _start_session (line 139) | def _start_session(self) -> bool: method auto_start (line 144) | def auto_start(self) -> bool: method on_timer_update (line 148) | def on_timer_update(self, payload: TimerPayload) -> None: method on_settings_change (line 153) | def on_settings_change(self, payload: ConfigPayload) -> None: class SettingsDialog (line 167) | class SettingsDialog: method __init__ (line 168) | def __init__(self, config: Config, toplevel): method create_dialog (line 173) | def create_dialog(self, toplevel) -> Gtk.Dialog: method create_options (line 188) | def create_options(self): method run (line 194) | def run(self): method create_option (line 198) | def create_option(self, grid: Gtk.Grid, row: int, label: str, option): method on_option_change (line 209) | def on_option_change(self, switch: Gtk.Switch, _, option: str): class BreakScreenPlugin (line 219) | class BreakScreenPlugin(plugin.Plugin): method __init__ (line 223) | def __init__(self, display=Gdk.Display.get_default()): method configure_style (line 230) | def configure_style(): method activate (line 267) | def activate(self): method deactivate (line 279) | def deactivate(self): method settings_window (line 288) | def settings_window(self, toplevel) -> SettingsDialog: FILE: data/plugins/notify.py class NotifyPlugin (line 25) | class NotifyPlugin(plugin.Plugin): method __init__ (line 33) | def __init__(self): method configure (line 38) | def configure(self, bus: Bus, graph: Graph) -> None: method activate (line 43) | def activate(self): method deactivate (line 48) | def deactivate(self): method on_session_started (line 53) | def on_session_started(self, payload: SessionPayload): method on_session_finished (line 57) | def on_session_finished(self, **__): method on_session_stopped (line 61) | def on_session_stopped(self, **__): method get_message (line 64) | def get_message(self, session: SessionType) -> Tuple[str, str]: method show_notification (line 71) | def show_notification(self, title, message=""): method icon_path (line 84) | def icon_path(self): FILE: data/plugins/script.py function strip_space (line 27) | def strip_space(command: Optional[str]) -> Optional[str]: class ScriptPlugin (line 32) | class ScriptPlugin(plugin.Plugin): method __init__ (line 36) | def __init__(self): method configure (line 40) | def configure(self, bus: Bus, graph: Graph) -> None: method on_session_started (line 46) | def on_session_started(self, payload: SessionPayload): method on_session_interrupted (line 51) | def on_session_interrupted(self, payload: SessionPayload): method on_session_end (line 56) | def on_session_end(self, payload: SessionPayload): method call_command (line 59) | def call_command(self, section, event: Events, payload: SessionPayload): method read_command (line 76) | def read_command(self, section: str, repl: Dict[str, str]) -> Optional... method _interpolate (line 81) | def _interpolate(template: str, replacements: Dict[str, str]) -> str: method settings_window (line 84) | def settings_window(self, toplevel): class SettingsDialog (line 88) | class SettingsDialog: method __init__ (line 89) | def __init__(self, config: Config, toplevel): method create_dialog (line 93) | def create_dialog(self, toplevel) -> Gtk.Dialog: method create_options (line 108) | def create_options(self): method create_section (line 117) | def create_section(grid: Gtk.Grid) -> None: method run (line 140) | def run(self) -> None: method create_option (line 144) | def create_option(self, grid: Gtk.Grid, row: int, label: str, option: ... method on_command_change (line 158) | def on_command_change(self, entry: Gtk.Entry, _, option: str) -> None: method on_option_change (line 164) | def on_option_change(self, switch: Gtk.Switch, _, entry: Gtk.Entry, op... method remove_option (line 170) | def remove_option(self, entry: Gtk.Entry, option: str) -> None: FILE: data/plugins/ticking.py class TickingPlugin (line 22) | class TickingPlugin(plugin.Plugin): method __init__ (line 27) | def __init__(self): method configure (line 33) | def configure(self, bus: Bus, graph: Graph) -> None: method activate (line 39) | def activate(self) -> None: method deactivate (line 50) | def deactivate(self) -> None: method on_start (line 59) | def on_start(self, payload: SessionPayload) -> None: method on_end (line 66) | def on_end(self, **_) -> None: method audio_path (line 72) | def audio_path(self) -> str: method volume (line 76) | def volume(self) -> float: FILE: setup.py function find_xdg_data_files (line 7) | def find_xdg_data_files(from_dir, to_dir, package_name, data_files): function find_data_files (line 20) | def find_data_files(data_map, package_name): FILE: tests/conftest.py function session (line 18) | def session(mocker): function bus (line 23) | def bus() -> Bus: function graph (line 28) | def graph() -> Graph: function window (line 35) | def window(mocker): function config (line 40) | def config(bus, tmpdir) -> Config: function shortcut_engine (line 48) | def shortcut_engine(config: Config) -> ShortcutEngine: function plugin_engine (line 53) | def plugin_engine(bus: Bus, graph: Graph, config: Config) -> PluginEngine: FILE: tests/data/tomate/plugins/plugin_a.py class PluginA (line 7) | class PluginA(plugin.Plugin): method __init__ (line 10) | def __init__(self): method listener (line 15) | def listener(self, **__) -> str: method settings_window (line 18) | def settings_window(self, parent: Gtk.Widget) -> Gtk.Dialog: FILE: tests/data/tomate/plugins/plugin_b.py class PluginB (line 5) | class PluginB(plugin.Plugin): method listener (line 9) | def listener(self, **__) -> str: FILE: tests/plugins/test_alarm.py function plugin (line 22) | def plugin(bus, config, graph): class TestPlugin (line 34) | class TestPlugin: method test_loads_configuration_when_is_activated (line 35) | def test_loads_configuration_when_is_activated(self, bus, config, plug... method test_plays_alarm_when_session_ends (line 43) | def test_plays_alarm_when_session_ends(self, player, bus, config, plug... class TestSettingsWindow (line 51) | class TestSettingsWindow: method test_without_custom_alarm (line 52) | def test_without_custom_alarm(self, config, plugin): method test_with_custom_alarm (line 63) | def test_with_custom_alarm(self, plugin, config): method test_configures_custom_alarm (line 76) | def test_configures_custom_alarm(self, config, plugin): method test_disables_custom_alarm (line 91) | def test_disables_custom_alarm(self, config, plugin): FILE: tests/plugins/test_autopause.py function plugin (line 12) | def plugin(bus, graph): function test_stop_all_running_players (line 20) | def test_stop_all_running_players(bus, plugin, mocker): FILE: tests/plugins/test_breakscreen.py function plugin (line 20) | def plugin(bus, config, graph, session): function none (line 33) | def none(values: Iterator) -> bool: function label_text (line 37) | def label_text(countdown: str, plugin) -> bool: class TestPlugin (line 43) | class TestPlugin: method test_shows_when_pause_begins (line 45) | def test_shows_when_pause_begins(self, session_type, bus, plugin): method test_not_show_when_pomodoro_begins (line 54) | def test_not_show_when_pomodoro_begins(self, bus, plugin): method test_hides_when_plugin_is_deactivated (line 62) | def test_hides_when_plugin_is_deactivated(self, bus, plugin): method test_starts_break_when_auto_start_option_is_enabled (line 72) | def test_starts_break_when_auto_start_option_is_enabled(self, bus, con... method test_not_start_break_when_auto_start_is_disabled (line 84) | def test_not_start_break_when_auto_start_is_disabled(self, bus, config... method test_hides_when_session_is_interrupted (line 96) | def test_hides_when_session_is_interrupted(self, bus, plugin): method test_not_start_break_when_is_not_a_pomodoro (line 105) | def test_not_start_break_when_is_not_a_pomodoro(self, session_type, bu... method test_updates_countdown (line 119) | def test_updates_countdown(self, bus, plugin): method test_updates_when_config_changes (line 138) | def test_updates_when_config_changes(self, action, option, initial, va... method test_hide_skip_button_when_config_changes (line 154) | def test_hide_skip_button_when_config_changes(self, action, want, bus,... class TestSettingsWindow (line 163) | class TestSettingsWindow: method test_options_labels (line 164) | def test_options_labels(self, plugin): method test_with_all_options_enabled (line 170) | def test_with_all_options_enabled(self, config, plugin): method test_with_all_options_disabled (line 179) | def test_with_all_options_disabled(self, config, plugin): method test_change_options (line 188) | def test_change_options(self, config, plugin): FILE: tests/plugins/test_notify.py function plugin (line 17) | def plugin(_, graph, bus): function test_enable_notify_when_plugin_active (line 30) | def test_enable_notify_when_plugin_active(init, plugin): function test_disable_notify_when_plugin_deactivate (line 37) | def test_disable_notify_when_plugin_deactivate(uninit, plugin): function test_show_notification_when_session_starts (line 53) | def test_show_notification_when_session_starts(event, session, title, me... FILE: tests/plugins/test_script.py function subprocess_run (line 17) | def subprocess_run(mocker, monkeypatch): function plugin (line 26) | def plugin(bus, config, graph): function test_execute_command_when_event_is_trigger (line 46) | def test_execute_command_when_event_is_trigger(event, option, bus, subpr... function test_command_variables (line 63) | def test_command_variables(event, section, session_type, bus, subprocess... function test_does_not_execute_commands_when_they_are_not_configured (line 80) | def test_does_not_execute_commands_when_they_are_not_configured(event, o... function test_execute_command_fail (line 89) | def test_execute_command_fail(bus, config, plugin): class TestSettingsWindow (line 97) | class TestSettingsWindow: method test_with_custom_commands (line 106) | def test_with_custom_commands(self, option, command, plugin): method test_without_custom_commands (line 116) | def test_without_custom_commands(self, option, config, plugin): method test_disable_command (line 131) | def test_disable_command(self, option, config, plugin): method test_configure_command (line 148) | def test_configure_command(self, option, config, plugin): method test_text (line 166) | def test_text(self, config, plugin): FILE: tests/plugins/test_ticking.py function plugin (line 18) | def plugin(bus, config, graph, session): class TestPlugin (line 31) | class TestPlugin: method test_loads_configuration_when_is_activated (line 32) | def test_loads_configuration_when_is_activated(self, bus, config, plug... method test_starts_player_when_is_activated (line 48) | def test_starts_player_when_is_activated( method test_starts_player_when_session_start (line 59) | def test_starts_player_when_session_start(self, player, bus, config, p... method test_stops_player_when_session_ (line 68) | def test_stops_player_when_session_(self, player, event, bus, config, ... method test_stops_player_when_is_deactivate (line 77) | def test_stops_player_when_is_deactivate(self, player, bus, config, pl... FILE: tests/pomodoro/test_app.py function app (line 14) | def app(graph, window, plugin_engine, mocker) -> Application: function test_module (line 24) | def test_module(graph, app): function test_collects_plugins_on_start (line 31) | def test_collects_plugins_on_start(app, plugin_engine): class TestRun (line 35) | class TestRun: method test_start_window_when_app_is_not_running (line 36) | def test_start_window_when_app_is_not_running(self, app, window): method test_shows_window_when_app_is_running (line 43) | def test_shows_window_when_app_is_running(self, app, window): class TestFromGraph (line 51) | class TestFromGraph: method setup_method (line 52) | def setup_method(self): method teardown_method (line 55) | def teardown_method(self): method test_create_app_instance_when_it_is_not_registered_in_dbus (line 58) | def test_create_app_instance_when_it_is_not_registered_in_dbus(self, g... method mock_dbus (line 68) | def mock_dbus(self): method test_get_dbus_interface_when_is_registered_in_dbus (line 74) | def test_get_dbus_interface_when_is_registered_in_dbus(self, graph, mo... FILE: tests/pomodoro/test_config.py function config (line 11) | def config(graph, bus): function test_module (line 17) | def test_module(graph, config): function test_get_plugin_paths (line 24) | def test_get_plugin_paths(config): function test_get_config_path (line 30) | def test_get_config_path(config): function test_get_media_uri_raises_error_when_media_is_not_found (line 34) | def test_get_media_uri_raises_error_when_media_is_not_found(config): function test_get_media_uri (line 41) | def test_get_media_uri(config): function test_get_icon_path_raises_when_icon_not_found (line 47) | def test_get_icon_path_raises_when_icon_not_found(config): function test_get_icon_path (line 54) | def test_get_icon_path(config): function test_icon_paths (line 59) | def test_icon_paths(config): function test_get_option_as_int (line 63) | def test_get_option_as_int(config): function test_get_option_as_float (line 67) | def test_get_option_as_float(config): function test_get_option (line 71) | def test_get_option(config): function test_get_option_with_fallback (line 75) | def test_get_option_with_fallback(config): function test_get_defaults_option (line 79) | def test_get_defaults_option(config): function test_set_option (line 83) | def test_set_option(bus, config, mocker, tmpdir): function test_remove_option (line 99) | def test_remove_option(bus, config, mocker, tmpdir): FILE: tests/pomodoro/test_event.py class TestBus (line 6) | class TestBus: method test_connect_receiver (line 7) | def test_connect_receiver(self, bus, mocker): method test_disconnect_receiver (line 16) | def test_disconnect_receiver(self, bus, mocker): function test_subscriber (line 24) | def test_subscriber(bus): function test_module (line 47) | def test_module(graph): FILE: tests/pomodoro/test_graph.py function test_module (line 5) | def test_module(): FILE: tests/pomodoro/test_plugin.py function plugin_engine (line 11) | def plugin_engine(bus, graph, config) -> PluginEngine: function test_module (line 15) | def test_module(bus, config, graph): class TestPluginEngine (line 26) | class TestPluginEngine: method test_collect (line 27) | def test_collect(self, bus, graph, plugin_engine): method test_activate (line 38) | def test_activate(self, bus, plugin_engine): method test_deactivate (line 49) | def test_deactivate(self, bus, plugin_engine): method test_all (line 60) | def test_all(self, plugin_engine): method test_lookup (line 70) | def test_lookup(self, plugin_engine): class TestRaiseException (line 80) | class TestRaiseException: method test_does_not_raise_exception_when_debug_is_disabled (line 81) | def test_does_not_raise_exception_when_debug_is_disabled(self): method test_raises_exception_when_debug_enable (line 90) | def test_raises_exception_when_debug_enable(self): FILE: tests/pomodoro/test_session.py function session (line 11) | def session(graph, config, bus, mocker): function test_module (line 18) | def test_module(graph, session): function test_sends_ready_event (line 25) | def test_sends_ready_event(bus, mocker, session): class TestSessionStart (line 35) | class TestSessionStart: method test_not_start_when_session_is_already_running (line 36) | def test_not_start_when_session_is_already_running(self, session): method test_starts_when_session_is_not_running (line 42) | def test_starts_when_session_is_not_running(self, state, session, bus,... class TestSessionStop (line 59) | class TestSessionStop: method test_not_stop_when_session_is_not_running (line 61) | def test_not_stop_when_session_is_not_running(self, state, session): method test_stops_when_session_is_running (line 66) | def test_stops_when_session_is_running(self, session, bus, mocker): class TestSessionReset (line 83) | class TestSessionReset: method test_not_reset_when_session_is_running (line 85) | def test_not_reset_when_session_is_running(self, state, session): method test_resets_when_session_is_not_running (line 97) | def test_resets_when_session_is_not_running(self, state, session_type,... class TestSessionEnd (line 116) | class TestSessionEnd: method test_ends_when_session_is_not_running (line 118) | def test_ends_when_session_is_not_running(self, state, session): method test_not_end_when_session_start_but_time_still_running (line 123) | def test_not_end_when_session_start_but_time_still_running(self, sessi... method test_ends_when_session_is_running (line 137) | def test_ends_when_session_is_running( method test_changes_session_type (line 171) | def test_changes_session_type(self, bus, config, mocker, session): class TestSessionChange (line 190) | class TestSessionChange: method test_not_change_when_session_is_running (line 192) | def test_not_change_when_session_is_running(self, state, session): method test_changes_when_session_is_not_running (line 205) | def test_changes_when_session_is_not_running(self, state, session_type... method test_changes_when_config_change_and_session_is_not_running (line 219) | def test_changes_when_config_change_and_session_is_not_running(self, s... method test_not_change_when_config_section_is_not_timer (line 229) | def test_not_change_when_config_section_is_not_timer(self, bus, config... method test_not_change_when_config_timer_changes_and_session_is_running (line 237) | def test_not_change_when_config_timer_changes_and_session_is_running(s... function test_type_of (line 255) | def test_type_of(number, session_type): function test_type_of_unknown (line 259) | def test_type_of_unknown(): function test_type_option (line 272) | def test_type_option(session_type, option): FILE: tests/pomodoro/test_timer.py function test_module (line 9) | def test_module(bus, graph): class TestTimerStart (line 18) | class TestTimerStart: method test_not_start_when_timer_is_already_running (line 19) | def test_not_start_when_timer_is_already_running(self, bus): method test_starts_when_timer_not_started_yet (line 26) | def test_starts_when_timer_not_started_yet(self, bus, mocker, state): class TestTimerStop (line 39) | class TestTimerStop: method test_not_stop_when_timer_is_not_running (line 41) | def test_not_stop_when_timer_is_not_running(self, bus, state): method test_stops_when_timer_is_running (line 47) | def test_stops_when_timer_is_running(self, bus, mocker): class TestTimerEnd (line 60) | class TestTimerEnd: method test_not_end_when_timer_is_not_running (line 62) | def test_not_end_when_timer_is_not_running(self, bus, state): method test_ends_when_time_is_up (line 68) | def test_ends_when_time_is_up(self, bus, mocker): class TestTimerPayload (line 84) | class TestTimerPayload: method test_remaining_ratio (line 89) | def test_remaining_ratio(self, duration, time_left, ratio): method test_elapsed_ratio (line 116) | def test_elapsed_ratio(self, duration, time_left, ratio): method test_elapsed_percent (line 145) | def test_elapsed_percent(self, duration, time_left, percent): method test_payload_markup (line 158) | def test_payload_markup(self, seconds, formatted): FILE: tests/ui/dialogs/test_about.py function about (line 10) | def about(graph, config): function test_module (line 17) | def test_module(graph, about): function test_dialog_info (line 21) | def test_dialog_info(about): function test_close_dialog (line 31) | def test_close_dialog(about, mocker): FILE: tests/ui/dialogs/test_preference.py function preference (line 11) | def preference(bus, plugin_engine, config, mocker) -> PreferenceDialog: function test_preference_module (line 16) | def test_preference_module(graph, bus, config, plugin_engine): function test_refresh_reload_plugins (line 27) | def test_refresh_reload_plugins(preference, plugin_engine): function test_initial_plugin_list (line 57) | def test_initial_plugin_list(plugin, row, columns, preference, plugin_en... function test_open_plugin_settings (line 68) | def test_open_plugin_settings(preference, plugin_engine): function test_connect_and_disconnect_plugins (line 87) | def test_connect_and_disconnect_plugins(bus, plugin_engine, preference): function test_save_config_when_task_duration_change (line 117) | def test_save_config_when_task_duration_change(duration_name, option, va... FILE: tests/ui/test_shortcut.py function shortcut_engine (line 10) | def shortcut_engine(bus, config, graph) -> ShortcutEngine: function test_module (line 16) | def test_module(graph, shortcut_engine): function test_label (line 23) | def test_label(shortcut_engine): function test_label_with_fallback (line 29) | def test_label_with_fallback(shortcut_engine): function test_connect (line 35) | def test_connect(shortcut_engine, mocker): function test_disconnect (line 46) | def test_disconnect(shortcut_engine, mocker): function test_change (line 55) | def test_change(shortcut_engine, mocker): FILE: tests/ui/test_systray.py function window (line 11) | def window(): function subject (line 16) | def subject(graph, bus, window): function test_module (line 23) | def test_module(graph, subject): function test_hide_view_when_hide_menu_is_clicked (line 30) | def test_hide_view_when_hide_menu_is_clicked(window, subject): function test_show_window_when_hide_item_is_clicked (line 40) | def test_show_window_when_hide_item_is_clicked(window, subject): function test_change_items_visibility (line 51) | def test_change_items_visibility(event, hide, show, bus, subject): FILE: tests/ui/test_window.py function window (line 11) | def window(bus, config, graph, session) -> Window: function test_module (line 24) | def test_module(graph, window): function test_init (line 31) | def test_init(session, window): function test_shortcuts (line 48) | def test_shortcuts(shortcut_engine, window): function test_run (line 54) | def test_run(mocker, window): class TestWindowHide (line 64) | class TestWindowHide: method test_iconify_when_tray_icon_plugin_is_not_registered (line 65) | def test_iconify_when_tray_icon_plugin_is_not_registered(self, window,... method test_deletes_when_tray_icon_plugin_is_registered (line 74) | def test_deletes_when_tray_icon_plugin_is_registered(self, bus, graph,... class TestWindowQuit (line 87) | class TestWindowQuit: method test_quits_when_timer_is_not_running (line 88) | def test_quits_when_timer_is_not_running(self, mocker, session, window): method test_hides_when_timer_is_running (line 96) | def test_hides_when_timer_is_running(self, bus, mocker, session, window): function test_shows_window_when_session_end (line 106) | def test_shows_window_when_session_end(bus, mocker, window): FILE: tests/ui/widgets/test_countdown.py function countdown (line 12) | def countdown(bus, graph) -> Countdown: function test_module (line 18) | def test_module(countdown, graph): function test_updates_countdown_when_session_state_changes (line 34) | def test_updates_countdown_when_session_state_changes(event, payload, bu... FILE: tests/ui/widgets/test_headerbar.py class TestHeaderBar (line 10) | class TestHeaderBar: method menu (line 12) | def menu(self, mocker): method headerbar (line 16) | def headerbar(self, graph, menu, shortcut_engine, session, bus, mocker... method test_module (line 35) | def test_module(self, graph, headerbar): method test_shortcuts (line 49) | def test_shortcuts(self, shortcut, action, headerbar, menu, session, s... method test_change_session (line 62) | def test_change_session(self, button_name, action, session, headerbar): method test_buttons_tooltip (line 79) | def test_buttons_tooltip(self, button_name, tooltip, headerbar): method test_enable_only_the_stop_button_when_session_starts (line 83) | def test_enable_only_the_stop_button_when_session_starts(self, bus, he... method test_disables_reset_button_when_session_is_reset (line 90) | def test_disables_reset_button_when_session_is_reset(self, headerbar, ... method test_buttons_visibility_and_title_in_the_first_session (line 106) | def test_buttons_visibility_and_title_in_the_first_session(self, event... class TestHeaderBarMenu (line 115) | class TestHeaderBarMenu: method preference (line 117) | def preference(self, mocker): method about (line 121) | def about(self, mocker): method menu (line 125) | def menu(self, bus, about, preference, shortcut_engine) -> HeaderBarMenu: method test_module (line 130) | def test_module(self, about, bus, preference, graph, shortcut_engine): method test_menu_items (line 151) | def test_menu_items(self, widget, label, mock_name, menu, about, prefe... method test_shortcut (line 161) | def test_shortcut(self, menu, shortcut_engine, preference): FILE: tests/ui/widgets/test_session_button.py function session_button (line 10) | def session_button(bus, graph, session, shortcut_engine) -> SessionButton: function test_module (line 24) | def test_module(graph, session_button): function test_buttons_content (line 39) | def test_buttons_content(button_name, label, tooltip_text, session_button): function test_disables_buttons_when_session_starts (line 47) | def test_disables_buttons_when_session_starts(bus, session_button): function test_selects_button_when_session_stops_and_begins (line 60) | def test_selects_button_when_session_stops_and_begins(event, payload, se... function test_changes_session_when_button_is_clicked (line 70) | def test_changes_session_when_button_is_clicked(session_type, session_bu... function test_shortcuts (line 86) | def test_shortcuts(shortcut, session_type, session_button, shortcut_engi... function test_selects_button_when_session_changes (line 92) | def test_selects_button_when_session_changes(bus, session_button, session): FILE: tomate/audio/player.py class GStreamerPlayer (line 14) | class GStreamerPlayer: method __init__ (line 15) | def __init__(self, repeat=False): method file (line 31) | def file(self) -> str: method file (line 35) | def file(self, filepath: str) -> None: method volume (line 55) | def volume(self) -> float: method volume (line 59) | def volume(self, volume: float) -> None: method play (line 63) | def play(self) -> None: method stop (line 68) | def stop(self) -> None: method _on_bus_callback (line 72) | def _on_bus_callback(self, _, message): method _on_about_to_finish (line 83) | def _on_about_to_finish(self, _) -> None: method _finished (line 88) | def _finished(self) -> None: FILE: tomate/main.py function main (line 21) | def main(): function setup_logging (line 38) | def setup_logging(options): function parse_options (line 44) | def parse_options(): FILE: tomate/pomodoro/app.py class State (line 11) | class State(enum.Enum): class Application (line 17) | class Application(dbus.service.Object): method __init__ (line 24) | def __init__(self, bus, window, plugins: PluginEngine): method IsRunning (line 31) | def IsRunning(self): method Run (line 35) | def Run(self): method from_graph (line 45) | def from_graph(cls, graph, bus=dbus.SessionBus(mainloop=DBusGMainLoop(... FILE: tomate/pomodoro/config.py class Config (line 19) | class Config: method __init__ (line 34) | def __init__(self, bus: Bus, parser=RawConfigParser(defaults=DEFAULTS,... method __getattr__ (line 39) | def __getattr__(self, attr): method load (line 42) | def load(self) -> None: method save (line 47) | def save(self) -> None: method config_path (line 53) | def config_path(self) -> str: method media_uri (line 57) | def media_uri(self, *resources: str) -> str: method plugin_paths (line 60) | def plugin_paths(self) -> List[str]: method icon_paths (line 63) | def icon_paths(self) -> List[str]: method _resource_path (line 66) | def _resource_path(self, *resources) -> str: method _load_data_paths (line 73) | def _load_data_paths(self, *resources) -> List[str]: method icon_path (line 76) | def icon_path(self, iconname, size=None, theme=None) -> str: method get_int (line 84) | def get_int(self, section: str, option: str, fallback=None) -> int: method get_bool (line 87) | def get_bool(self, section: str, option: str, fallback=None) -> bool: method get_float (line 90) | def get_float(self, section: str, option: str, fallback=None) -> int: method get (line 93) | def get(self, section: str, option: str, fallback=None, method="get") ... method set (line 103) | def set(self, section: str, option: str, value) -> None: method remove (line 116) | def remove(self, section, option) -> None: method normalize (line 128) | def normalize(name: str) -> str: function remove_duplicates (line 132) | def remove_duplicates(original: List[str]) -> List[str]: FILE: tomate/pomodoro/event.py class Events (line 14) | class Events(enum.Enum): class Bus (line 37) | class Bus: method __init__ (line 38) | def __init__(self): method connect (line 41) | def connect(self, event: Events, receiver: Receiver, weak: bool = True): method is_connect (line 44) | def is_connect(self, event: Events, receiver: Receiver) -> bool: method send (line 47) | def send(self, event: Events, payload: Any = None) -> List[Any]: method disconnect (line 51) | def disconnect(self, event: Events, receiver: Receiver): function on (line 55) | def on(*events: Events): class Subscriber (line 69) | class Subscriber: method connect (line 70) | def connect(self, bus: Bus) -> None: method disconnect (line 81) | def disconnect(self, bus: Bus): method __methods_with_events (line 92) | def __methods_with_events(self) -> List[Tuple[Any, List[Events]]]: FILE: tomate/pomodoro/fsm.py class fsm (line 8) | class fsm: method __init__ (line 9) | def __init__(self, target, **kwargs): method is_valid_transition (line 16) | def is_valid_transition(self, instance) -> bool: method is_valid_condition (line 19) | def is_valid_condition(self, instance) -> bool: method change_state (line 25) | def change_state(self, instance) -> None: method call_exit_action (line 39) | def call_exit_action(self, instance) -> None: method __call__ (line 44) | def __call__(self, wrapped, instance, args, kwargs): FILE: tomate/pomodoro/plugin.py class Plugin (line 20) | class Plugin(IPlugin, Subscriber): method __init__ (line 23) | def __init__(self): method configure (line 28) | def configure(self, bus: Bus, graph: Graph) -> None: method activate (line 32) | def activate(self) -> None: method deactivate (line 36) | def deactivate(self) -> None: method settings_window (line 40) | def settings_window(self, parent) -> Union[Gtk.Dialog, None]: class PluginEngine (line 45) | class PluginEngine: method __init__ (line 47) | def __init__(self, bus: Bus, config: Config, graph: Graph): method collect (line 57) | def collect(self) -> None: method _configure_plugin (line 62) | def _configure_plugin(self, plugin: PluginInfo) -> None: method deactivate (line 66) | def deactivate(self, name: str) -> None: method activate (line 69) | def activate(self, name: str) -> None: method all (line 72) | def all(self) -> List[PluginInfo]: method lookup (line 76) | def lookup(self, name: str, category="Default") -> Optional[PluginInfo]: method has_plugins (line 80) | def has_plugins(self) -> bool: method remove (line 85) | def remove(self, plugin: object, category="Default") -> None: function suppress_errors (line 90) | def suppress_errors(wrapped, _, args, kwargs): function in_debug_mode (line 103) | def in_debug_mode(): FILE: tomate/pomodoro/session.py class Payload (line 21) | class Payload(namedtuple("SessionPayload", ["type", "pomodoros", "durati... method countdown (line 23) | def countdown(self) -> str: class Type (line 27) | class Type(enum.Enum): method of (line 33) | def of(cls, index: int) -> Type: method option (line 41) | def option(self) -> str: class State (line 46) | class State(enum.Enum): class Session (line 54) | class Session(Subscriber): method __init__ (line 60) | def __init__(self, bus: Bus, config: Config, timer: Timer): method ready (line 70) | def ready(self) -> None: method start (line 76) | def start(self) -> bool: method is_running (line 81) | def is_running(self) -> bool: method stop (line 90) | def stop(self) -> bool: method reset (line 96) | def reset(self) -> bool: method _on_config_change (line 102) | def _on_config_change(self, payload: ConfigPayload) -> bool: method change (line 109) | def change(self, session: Type) -> bool: method duration (line 115) | def duration(self) -> int: method timer_is_up (line 119) | def timer_is_up(self) -> bool: method _end (line 129) | def _end(self, payload: TimerPayload) -> bool: method _choose_break (line 145) | def _choose_break(self): method _is_long_break (line 148) | def _is_long_break(self) -> bool: method _trigger (line 152) | def _trigger(self, event: Events) -> None: method _create_payload (line 155) | def _create_payload(self, **kwargs) -> Payload: FILE: tomate/pomodoro/timer.py function format_seconds (line 16) | def format_seconds(seconds: int) -> str: class Payload (line 21) | class Payload(namedtuple("TimerPayload", ["time_left", "duration"])): method remaining_ratio (line 23) | def remaining_ratio(self) -> float: method elapsed_ratio (line 30) | def elapsed_ratio(self) -> float: method elapsed_percent (line 34) | def elapsed_percent(self): method countdown (line 42) | def countdown(self) -> str: class State (line 51) | class State(enum.Enum): class Timer (line 58) | class Timer: method __init__ (line 62) | def __init__(self, bus: Bus): method start (line 68) | def start(self, seconds: int) -> bool: method stop (line 75) | def stop(self) -> bool: method _is_up (line 80) | def _is_up(self) -> bool: method is_running (line 83) | def is_running(self) -> bool: method end (line 89) | def end(self) -> bool: method _update (line 93) | def _update(self) -> bool: method _reset (line 106) | def _reset(self) -> None: method _trigger (line 109) | def _trigger(self, event) -> None: FILE: tomate/ui/dialogs/about.py class AboutDialog (line 7) | class AboutDialog(Gtk.AboutDialog): method __init__ (line 9) | def __init__(self, config): method widget (line 29) | def widget(self): FILE: tomate/ui/dialogs/preference.py class PreferenceDialog (line 16) | class PreferenceDialog(Gtk.Dialog): method __init__ (line 21) | def __init__(self, timer_tab, extension_tab): method widget (line 52) | def widget(self): method run (line 55) | def run(self): class TimerTab (line 62) | class TimerTab: method __init__ (line 64) | def __init__(self, config: Config): method _create_section (line 89) | def _create_section(self, name): method _create_option (line 95) | def _create_option(self, name: str, label: str, option: str): method _on_change (line 107) | def _on_change(self, widget, option): class ExtensionTab (line 113) | class ExtensionTab: method __init__ (line 115) | def __init__(self, bus: Bus, config: Config, plugin_engine: PluginEngi... method _on_plugin_changed (line 156) | def _on_plugin_changed(self, selection): method _on_plugin_toggle (line 163) | def _on_plugin_toggle(self, _, path): method _on_plugin_settings_clicked (line 174) | def _on_plugin_settings_clicked(self, _): method _activate (line 180) | def _activate(self, plugin): method _deactivate (line 184) | def _deactivate(self, plugin): method set_toplevel (line 188) | def set_toplevel(self, widget: Gtk.Widget) -> None: method refresh (line 191) | def refresh(self): method _add (line 202) | def _add(self, plugin): method _select_first (line 206) | def _select_first(self): method _clear (line 209) | def _clear(self): class PluginGrid (line 214) | class PluginGrid(object): method __init__ (line 228) | def __init__(self, row): method name (line 232) | def name(self): method is_enable (line 236) | def is_enable(self): method toggle (line 239) | def toggle(self): method instance (line 243) | def instance(self): method has_settings (line 247) | def has_settings(self): method open_settings (line 250) | def open_settings(self, toplevel): method create_row (line 254) | def create_row(plugin, config): method pixbuf (line 264) | def pixbuf(plugin, config): method description (line 270) | def description(plugin): method from_iter (line 276) | def from_iter(cls, tree_store, tree_iter): method from_path (line 280) | def from_path(cls, tree_store, tree_path): FILE: tomate/ui/shortcut.py class Shortcut (line 12) | class Shortcut(namedtuple("Shortcut", ["name", "value"])): method __str__ (line 13) | def __str__(self) -> str: method accel_path (line 17) | def accel_path(self) -> str: class ShortcutEngine (line 22) | class ShortcutEngine: method __init__ (line 24) | def __init__(self, config, accel_group=Gtk.AccelGroup()): method init (line 28) | def init(self, window: Gtk.Window) -> None: method change (line 32) | def change(self, shortcut: Shortcut) -> None: method connect (line 36) | def connect(self, shortcut: Shortcut, callback: Callable[[], Any]) -> ... method disconnect (line 41) | def disconnect(self, shortcut: Shortcut) -> None: method label (line 45) | def label(self, shortcut: Shortcut) -> str: method _parse (line 48) | def _parse(self, shortcut: Shortcut) -> Tuple[int, Gdk.ModifierType]: FILE: tomate/ui/systray.py class Systray (line 11) | class Systray: method show (line 12) | def show(*args, **kwargs): method hide (line 15) | def hide(*args, **kwargs): class Menu (line 20) | class Menu(Subscriber): method __init__ (line 22) | def __init__(self, bus: Bus, window): method _create_menu (line 26) | def _create_menu(self, window) -> Tuple[Gtk.Menu, Gtk.MenuItem, Gtk.Me... method _create_menu_item (line 33) | def _create_menu_item(self, label: str, activate: Callable[[], None], ... method _on_window_show (line 40) | def _on_window_show(self, **__): method _on_window_hide (line 45) | def _on_window_hide(self, **__): FILE: tomate/ui/testing.py function active_shortcut (line 12) | def active_shortcut(shortcut_engine: ShortcutEngine, shortcut: Shortcut,... function create_session_payload (line 21) | def create_session_payload(**kwargs) -> SessionPayload: function run_loop_for (line 31) | def run_loop_for(seconds: int = 1) -> None: function refresh_gui (line 36) | def refresh_gui(delay: int = 0) -> None: class GtkWidgetNotFound (line 42) | class GtkWidgetNotFound(Exception): class Q (line 49) | class Q: method props (line 51) | def props(name: str, value: Any) -> Filter: method combine (line 60) | def combine(*fns: Filter) -> Filter: method select (line 70) | def select(root: Gtk.Widget, *fns: Filter) -> Gtk.Widget: method emit (line 85) | def emit(method: str, *args) -> Callable[[Gtk.Widget], None]: method map (line 92) | def map(widget: Gtk.Widget, *fns: Callable[[Any], Any]): class TV (line 96) | class TV: method model (line 98) | def model(tree_view: Gtk.TreeView) -> Gtk.TreeStore: method column (line 102) | def column(fn: Filter) -> Callable[[Gtk.TreeView], List[Gtk.TreeViewCo... method cell_renderer (line 109) | def cell_renderer(position: int) -> Callable[[Gtk.TreeViewColumn], Gtk... FILE: tomate/ui/widgets/countdown.py class Countdown (line 14) | class Countdown(Subscriber): method __init__ (line 16) | def __init__(self, bus: Bus): method _update_countdown (line 21) | def _update_countdown(self, payload: Union[SessionPayload, TimerPayloa... method timer_markup (line 26) | def timer_markup(time_left: str) -> str: FILE: tomate/ui/widgets/headerbar.py class Menu (line 17) | class Menu(Subscriber): method __init__ (line 26) | def __init__(self, bus: Bus, about, preference, shortcuts: ShortcutEng... method _create_menu_item (line 36) | def _create_menu_item(self, name: str, label: str, dialog: Gtk.Dialog)... class HeaderBar (line 44) | class HeaderBar(Subscriber): method __init__ (line 55) | def __init__(self, bus: Bus, menu: Menu, session: Session, shortcuts: ... method _create_headerbar (line 86) | def _create_headerbar(self): method _add_button (line 93) | def _add_button(self, icon: str, tooltip_text: str, shortcut: Shortcut... method _add_preference_button (line 108) | def _add_preference_button(self, menu, shortcuts) -> None: method _on_session_start (line 119) | def _on_session_start(self, **__): method _on_session_stop (line 126) | def _on_session_stop(self, payload: SessionPayload) -> None: method _on_session_reset (line 134) | def _on_session_reset(self, **__): method _update_title (line 139) | def _update_title(self, pomodoros: int) -> None: FILE: tomate/ui/widgets/mode_button.py class ModeButtonItem (line 6) | class ModeButtonItem(Gtk.ToggleButton): method __init__ (line 7) | def __init__(self, index: int, **props: Dict[str, Any]): class ModeButton (line 12) | class ModeButton(Gtk.Box): method __init__ (line 15) | def __init__(self, **kwargs): method get_selected (line 25) | def get_selected(self): method append_text (line 28) | def append_text(self, text: str, **props: Dict[str, Any]): method on_button_press_event (line 38) | def on_button_press_event(self, widget, event=None): method set_selected (line 41) | def set_selected(self, index): FILE: tomate/ui/widgets/session_button.py class SessionButton (line 27) | class SessionButton(Subscriber): method __init__ (line 37) | def __init__(self, bus: Bus, session: Session, shortcuts: ShortcutEngi... method _create_mode_button (line 48) | def _create_mode_button(self) -> ModeButton: method _add_button (line 58) | def _add_button(self, shortcut: Shortcut, label: str, session_type: Se... method _select (line 66) | def _select(self, session_type: SessionType) -> Callable[[], bool]: method _clicked (line 74) | def _clicked(self, _, number): method _change (line 80) | def _change(self, payload=SessionPayload) -> None: method _disable (line 86) | def _disable(self, **__): method _enable (line 91) | def _enable(self, payload: SessionPayload): FILE: tomate/ui/window.py class Window (line 18) | class Window(Subscriber): method __init__ (line 29) | def __init__( method _create_window (line 51) | def _create_window(self, config: Config, headerbar: HeaderBar, box: Gt... method _create_content (line 64) | def _create_content(self, countdown: Countdown, session_button: Sessio... method run (line 70) | def run(self) -> None: method quit (line 75) | def quit(self, *_) -> None: method hide (line 82) | def hide(self): method show (line 94) | def show(self, **__) -> None: