Skip to content

Change GNOME Shell unsafe-mode via quick settings menu and dconf setting

License

Notifications You must be signed in to change notification settings

linushdot/unsafe-mode-menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unsafe Mode Menu

Simple GNOME extension to change the Gnome Shell unsafe-mode via the quick settings menu/panel menu. Currently runs on Gnome Shell 42-46 using the following extension versions:

Gnome Shell Latest Version Branch
45-46 v9 main
42-44 v8 gnome-42-44

If you want to try it on a newer version you need to add "<version>" to the list of supported versions in unsafe-mode-menu@linushdot.local/metadata.json before installing it. If it just works or if there are bugs with the new Gnome Shell feel free to open an issue here and I will see if I can update the extension.

Install/Update

Clone this repository and copy the extension to your extensions folder.

git clone https://github.com/linushdot/unsafe-mode-menu.git
cd unsafe-mode-menu
mkdir -p ~/.local/share/gnome-shell/extensions/
cp -r unsafe-mode-menu@linushdot.local ~/.local/share/gnome-shell/extensions/

Then restart the shell and enable the extension from https://extensions.gnome.org/local/ or from gnome-extensions-app. Also on this page or in the extensions app the preferences can be modified.

If you need an older version than the current one (for example version 5) clone the repository with the following command instead and follow the rest of the steps.

git clone --branch v8 https://github.com/linushdot/unsafe-mode-menu.git

Preferences

  • Enable on Startup: enable unsafe mode when extension is enabled or when Gnome Shell is started with the extension enabled

Screenshot Gnome Shell 43

Screenshot Gnome Shell 43

Screenshot Gnome Shell 42

Screenshot Gnome Shell 42

Changing Unsafe Mode via dconf

With the extension enabled unsafe mode can be read and changed using dconf:

dconf read /org/gnome/shell/extensions/unsafe-mode-menu/state
dconf write /org/gnome/shell/extensions/unsafe-mode-menu/state <true|false>

Use Cases

Since Gnome 41 unsafe mode is necessary to let applications access certain private D-Bus APIs of the Gnome Shell. This mostly concerns:

  • API for Screenshots (also sometimes used for screen sharing): most applications now use a new interface instead, but legacy applications may need unsafe mode for this
  • Calling the org.gnome.Shell.Eval method to execute javascript inside Gnome Shell: This is useful for keybindings or for controlling the Gnome Shell from a script.

An example for the latter is changing to the secondary input source using a command:

gdbus call --session --dest org.gnome.Shell \
    --object-path /org/gnome/Shell \
    --method org.gnome.Shell.Eval \
    "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

About

Change GNOME Shell unsafe-mode via quick settings menu and dconf setting

Topics

Resources

License

Stars

Watchers

Forks