Questions tagged [gnome-shell-extensions]

The Gnome Shell (Gnome 3) offers JavaScript bindings to customize and extend the shell behavior.

Extension-catalog

Developing

The JavaScript bindings are based on the Gjs project (see ), which has more documentation.

222 questions
2
votes
0 answers

How do I monkey-patch GObjects in a GNOME extension?

Versions GNOME 40.4.0 Ubuntu 21.10 (Wayland) Description I'm writing an extension that provides fixed input method ordering in GNOME, as opposed to its usual MRU ordering. I have patched the InputSourceManager class to not reorder the sources when…
itzjackyscode
  • 970
  • 9
  • 27
2
votes
2 answers

Introduction in developing Cinnamon Shell Extension (Desklet) in CJS / GJS (Gnome JavaScript)?

I started learning how to write Cinnamon extensions. Well, I try to ... While I managed to write a first simple desklet, I still didn't find a really good and up to date documentation and introduction. I have the following questions and would be…
Peter T.
  • 2,927
  • 5
  • 33
  • 40
2
votes
1 answer

Changing icon of a gnome extension

I can't figure out how to modify the icon of the gnome extension Adjust Brightness Icon https://extensions.gnome.org/extension/1388/adjust-brightness-icon/ The default one is not good, it looks crushed. So I took a look at the code of the file…
London Smith
  • 1,622
  • 2
  • 18
  • 39
2
votes
2 answers

How to open extension prefs with DBus?

$ gnome-shell --version GNOME Shell 40.2 I'm trying to open extension prefs in gjs-console. I found a way how to open prefs with dbus-send dbus-send --session --print-reply --reply-timeout=2000 --type=method_call…
mrsndmn
  • 23
  • 5
2
votes
1 answer

Asynchronous extension breaks GNOME Shell

I made a simple async Extension which periodically count Arch Linux's updates and shows them on the panel. The extension works fine IF it's enabled with Gnome Shell already running. In any other case (starting Gnome Shell with the extension…
2
votes
1 answer

Why doesn't overriding a class function work sometimes?

I followed this https://wiki.gnome.org/Projects/GnomeShell/Extensions/StepByStepTutorial for Overwriting a function. For example, I want to override the function _setupKeyboard() on the Keyboard class, but my override isn't invoked. The specific…
PRATAP
  • 127
  • 3
  • 17
2
votes
1 answer

uninstalled gnome extensions keep reappearing

I have a very weird, and extremely annoying, problem. Each time after reboot (or logout), old uninstalled extensions that I tried out and decided not for me, reinstall themselves. I have to go tho gnome extension in Firefox and uninstall them. Side…
Chicko
  • 21
  • 2
2
votes
2 answers

Custom Icon for Gnome Shell Extension in Top Panel not visible

I try to use a custom SVG for my GNOME shell extension as status icon in top panel. But the custom icon is never shown, just the widget's label text. And I find no error in log output. When I try to set a build-in icon like "system-search-symbolic"…
Dodo
  • 156
  • 2
  • 14
2
votes
1 answer

Tool for Integration Testing Gnome-Shell Extensions?

Is there a tool for helping to automate integration tests for Gnome Shell extensions? In web development, it's common to use tools like Selenium to simulate a human interaction by programmatically interacting with a web browser and confirming…
2
votes
1 answer

gnome-shell 3.34 missing ExtensionUtils.extension property

I've written a GNOME shell extension for gnome3.30-3.32 using: const ExtensionUtils = imports.misc.extensionUtils; ... ExtensionSystem.disableExtension(ExtensionUtils.extensions['extension-uuid'].uuid); Updating to 3.34 version, ExtensionUtils…
2
votes
1 answer

Cannot call subclass function in Gnome Shell Extension ES6

I am trying to write a GNOME shell extension. I have a class which extends a GNOME shell type. Whenever I call class method on this subclass, it throws an error. If I do not extend the class, then the method is invoked without a…
2
votes
1 answer

GJS: global.window_manager.get_workspaces() is undefined

I have a code like this for my extension for (let i = 0; i < screen.get_n_workspaces(); ++i) { let w = screen.get_workspace_by_index(i); //Do something } Since gjs maps c functions to javascript, meta_screen_get_n_workspaces become…
Aiono
  • 389
  • 2
  • 10
2
votes
1 answer

GNOME Shell extension that waits for a new window to be opened

I'm writing a GNOME Shell extension in JavaScript that modifies all application windows. As an exercise, I want to start off by getting the application name of just one open window and displaying it in the panel. Right now, in Looking Glass, I can…
2
votes
1 answer

How to darwing the window buttons from a Gtk.Context in gjs

I' m trying to extract the windows buttons from the current gtk active theme and render it inside a cairo context in gjs, to be used in the Gnome-Global-Menu (https://gitlab.com/lestcape/Gnome-Global-AppMenu). As an example, i have one code that I…
lestcape
  • 259
  • 2
  • 9
2
votes
2 answers

Gnome shell extensions, preventing the call of `disable` when the screen gets locked

When the screen gets locked, my gnome shell extension is disabled. The shell calls disable function of the extension and enable is called again when the lock is released. Can I prevent this behavior? My extension needs to do something in background…
rioneli
  • 23
  • 2