prefs.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import Gdk from 'gi://Gdk';
  2. import Gtk from 'gi://Gtk';
  3. import { ExtensionPreferences } from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
  4. import { update_from_old_settings } from './conveniences/settings_updater.js';
  5. import { PipelinesManager } from './conveniences/pipelines_manager.js';
  6. import { Settings } from './conveniences/settings.js';
  7. import { KEYS } from './conveniences/keys.js';
  8. import { addMenu } from './preferences/menu.js';
  9. import { Pipelines } from './preferences/pipelines.js';
  10. import { Panel } from './preferences/panel.js';
  11. import { Overview } from './preferences/overview.js';
  12. import { Dash } from './preferences/dash.js';
  13. import { Applications } from './preferences/applications.js';
  14. import { Other } from './preferences/other.js';
  15. import './preferences/pipelines_management/pipeline_choose_row.js';
  16. export default class BlurMyShellPreferences extends ExtensionPreferences {
  17. constructor(metadata) {
  18. super(metadata);
  19. // load the icon theme
  20. let iconPath = this.dir.get_child("icons").get_path();
  21. let iconTheme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default());
  22. iconTheme.add_search_path(iconPath);
  23. }
  24. fillPreferencesWindow(window) {
  25. addMenu(window);
  26. // update from old settings, very important for hacks level specifically
  27. update_from_old_settings(this.getSettings());
  28. const preferences = new Settings(KEYS, this.getSettings());
  29. const pipelines_manager = new PipelinesManager(preferences);
  30. const pipelines_page = new Pipelines(preferences, pipelines_manager, window);
  31. window.add(pipelines_page);
  32. window.add(new Panel(preferences, pipelines_manager, pipelines_page));
  33. window.add(new Overview(preferences, pipelines_manager, pipelines_page));
  34. window.add(new Dash(preferences, pipelines_manager, pipelines_page));
  35. window.add(new Applications(preferences, window));
  36. window.add(new Other(preferences, pipelines_manager, pipelines_page));
  37. window.search_enabled = true;
  38. }
  39. }