How to Enable and Configure GNOME Hot Corners on Fedora

GNOME Hot Corners are disabled by default on Fedora, but you can enable them by installing the "Hot Corners" extension from the GNOME Extensions website or via the `gnome-shell-extension-hot-corners` package, then configuring the specific actions for each corner through the GNOME Tweaks tool.

You move the cursor to the corner and nothing happens

You move your mouse to the top-left corner of the screen. The Activities overview opens. You move it to the bottom-right corner. Nothing happens. You remember how other desktop environments let you trigger actions by touching the edges, and you want that muscle memory back on Fedora. GNOME disables most hot corners by default to keep the interface clean. You can restore them and assign custom commands to every corner using the Hot Corners extension.

What is actually happening

GNOME Shell reserves the top-left corner for the Activities overview. This behavior is hardcoded in the shell. The other three corners are dead zones. The gnome-shell-extension-hot-corners package installs a script that hooks into the shell's event loop. It watches for cursor movement near the screen edges. When the cursor crosses a threshold, the extension fires the configured action.

The extension runs inside the GNOME Shell process. It shares the same memory space. A crash in the extension can crash the shell. That is why extensions are loaded from the repository rather than random websites. Repository packages are tested against the specific GNOME version shipped with your Fedora release. Fedora updates GNOME frequently. A version mismatch between the extension and the shell is the most common cause of crashes. The repository package tracks the Fedora release cycle. It updates when the shell updates.

Convention aside: Fedora packages extensions in the fedora repository. The GNOME Extensions website hosts extensions from developers. The website is useful for discovering new tools. The repository is the safe source for production systems. Use dnf to install extensions whenever the package exists.

Install and enable the extension

Install the extension and the tool to manage it. Fedora packages the extension in the official repositories. Use dnf to pull it down.

sudo dnf install gnome-tweaks gnome-shell-extension-hot-corners
# --refresh forces dnf to check for updates before the transaction starts
# gnome-tweaks provides the GUI to toggle and configure the extension
# gnome-shell-extension-hot-corners contains the extension code

Restart the shell to load the extension. If you are on X11, press Alt+F2, type r, and press Enter. If you are on Wayland, which is the default on Fedora, you must log out and log back in. Wayland does not allow restarting the shell session without a full logout. Check your session type by looking at the power menu in the top-right corner. It will say "Xorg" or "Wayland".

Configure the corners. Open GNOME Tweaks from the Activities overview. Go to the Extensions tab. Find Hot Corners and turn it on. Click the gear icon to open settings. Assign actions to each corner. You can choose Show Desktop, Show Activities, or Run Command.

Restart the shell after every extension change. The UI might lie until the process reloads.

Configure custom commands with gsettings

The GUI covers most use cases. You can assign arbitrary commands to corners using gsettings. This is useful for launching specific applications or scripts that do not appear in the dropdown.

The extension stores settings in the org.gnome.shell.extensions.hot-corners schema. Each corner has two keys. One key defines the action type. The other key defines the command string.

gsettings set org.gnome.shell.extensions.hot-corners corner-top-right 'run-command'
# Sets the action type for the top-right corner to execute a command
gsettings set org.gnome.shell.extensions.hot-corners command-top-right 'gnome-terminal'
# Defines the command string to run when the corner is triggered

The command runs in the environment of the GNOME Shell process. Use full paths or commands available in the default $PATH. Avoid commands that require a TTY or interactive input. The extension does not spawn a terminal window for the command. If the command fails, the error goes to the journal.

Convention aside: gsettings is the safe interface for configuration. dconf-editor reads and writes the same database. gsettings validates values against the schema. dconf-editor does not. Use gsettings to avoid corrupting the configuration.

List all available keys if you need to find an option that is missing from the GUI.

gsettings list-keys org.gnome.shell.extensions.hot-corners
# Lists all configurable properties for the extension
# Use this to find keys if the GUI settings are missing an option

Verify the configuration by reading the value back.

gsettings get org.gnome.shell.extensions.hot-corners command-top-right
# Returns the current command string for the top-right corner
# Output should match the value you set, wrapped in quotes

Run gsettings commands to script the setup. Manual clicks drift. Configuration management tools stay consistent.

Verify the extension is active

Verify the extension is loaded. GNOME Shell maintains a list of enabled extensions. Check the list to confirm the extension is active.

gsettings get org.gnome.shell enabled-extensions
# Returns a list of UUIDs for all active extensions
# Look for 'hot-corners@gnome-shell-extensions.gnome.org' in the output

The output is a list of strings. Each string is a UUID. The Hot Corners extension uses the UUID hot-corners@gnome-shell-extensions.gnome.org. If the UUID is missing, the extension is disabled. Enable it by adding the UUID to the list.

gsettings set org.gnome.shell enabled-extensions "['hot-corners@gnome-shell-extensions.gnome.org']"
# Enables the extension by setting the UUID in the enabled list
# Replace the existing list if other extensions are active

Move the mouse to the corner. If the action fires, the configuration is persistent. If not, check the journal.

Common pitfalls and error handling

The extension might fail to load without a visible error. GNOME Shell logs extension errors to the journal. Check the logs immediately after a failed boot or shell restart.

journalctl -xeu gnome-shell
# -x adds explanatory text to log lines
# -e jumps to the end of the log
# -u filters for the gnome-shell unit
# Look for lines mentioning 'hot-corners' or 'ExtensionError'

You might see a JavaScript error in the output.

JS ERROR: Extension hot-corners@gnome-shell-extensions.gnome.org: TypeError: can't access property "connect", this.actor is null

This error means the extension tried to attach to a UI element that does not exist. This happens when the GNOME version changes and the extension API breaks. Fedora updates GNOME frequently. If you see this, the extension version in the repo might be outdated for your current GNOME version. Wait for the package update or disable the extension.

Check the versions of the extension and the shell.

rpm -q gnome-shell-extension-hot-corners gnome-shell
# Shows the installed version of the extension and the shell
# If the extension version is old, it may crash on a new GNOME release

Custom commands might not run if the command path is wrong. The extension runs commands in a restricted environment. Some commands require environment variables that are not set in the shell process. Use env to debug the environment if a command fails silently.

gsettings set org.gnome.shell.extensions.hot-corners command-bottom-left 'env > /tmp/hot-corner-env.txt'
# Writes the environment variables to a file for inspection
# Check the file to see what the extension sees when running commands

Read the journal before disabling SELinux. Most extension crashes are JavaScript errors, not security denials. SELinux allows GNOME Shell to execute commands defined by the user. Denials are rare for this extension.

Check versions before blaming the extension. A version mismatch is the most common cause of sudden crashes.

When to use hot corners versus alternatives

Use the Hot Corners extension when you want to trigger actions with mouse movement and prefer muscle memory over keyboard shortcuts.

Use the built-in top-left corner when you only need the Activities overview and want to minimize extension overhead.

Use keyboard shortcuts when you need precise control and want to keep your hands on the home row.

Use gsettings configuration when you need to script the setup or manage multiple machines with identical corner behaviors.

Stay on the repository package when you want automatic updates that match your Fedora release cycle.

Extensions add convenience but add complexity. Install only what you use.

Where to go next