/workspaces-by-open-apps

GNOME shell estension to display a simple workspace indicator showing icons of apps open in it.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Workspace indicator by open apps

GNOME shell estension to display a simple workspace indicator showing icons of apps open in it instead of classic numbers or dots.

Preview

Features

  • Show a simple indicator to display workspaces and apps open in it
  • Support for drag and drop: change an application workspace just dragging its icon
  • Right/Left click to focus application, Middle click to close
  • Workspaces scrolling: change active workspace scrolling hover the indicator
  • Support for multiple monitor (for both static and dynamic workspaces)
  • Rename workspaces directly from the extension (activate in settings)

Customization

  • Indicator position
  • Scroll direction (normal or inverse)
  • Activate/deactivate "middle click to close app"
  • Activate/deactivate "workspace indicator"
  • Activate/deactivate "app indicator"
  • Customize indicator color
  • Activate/deactivate "round borders"
  • Show/Hide workspaces names
  • Show/Hide empty workspaces
  • Customize apps on all workspaces text indicator
  • Desaturate all icons
  • No effect/Reduce opacity/Desaturate for both minimized and inactive apps
  • Limit icons per workspace
  • Group icons of same application
Preview Preview Preview Preview Preview Preview Preview

Deploy

Available for GNOME 45: gnome shell extensions store.
Legacy version available for GNOME 40-44: gnome-shell-40-44 branch.

Get it on GNOME Extensions

Alternative install

  • Download this folder
  • Execute ./clean-deploy.sh (requires sudo priviledges)

Useful commands

  • Compile settings schema: glib-compile-schemas ./schemas/
  • Show (all) extension(s) logs: journalctl /usr/bin/gnome-shell -f -o cat
  • Show settings logs: journalctl /usr/bin/gjs -f -o cat
  • List settings: dconf dump /org/gnome/shell/extensions/workspaces-indicator-by-open-apps/
  • Edit manually setting: dconf write /org/gnome/shell/extensions/workspaces-indicator-by-open-apps/<setting> <value>

To Do

Go to issues page to see the full list of features and bugs to fix.

Contributions

Any contribution is welcome!

Submit any bug or feature request through an issue, or submit your code creating a pull request.

Commit, Branch and Pull request convention

Commit

Commit message convention: <type>(<scope>): <summary>

Type: build, feat, fix, refactor, docs
Scope: extension, settings, css
Summary: short summary in present tense, not capitalized, no period at the end

Example: feat(extension): add drag and drop

Branch

Create a new branch for new features. Branch name should be self explanatory.
It is possible to not to create the new branch for single-commit fixes or small modifications.

Example: add-drag-and-drop

Pull request

When the feature is ready and stable create a new pull request.

Credits

Due to the poor documentation to develop GNOME shell extensions, I looked at the source code of existing extension (often deprecated and not working anymore):