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.
Note
Due to the small amount of time I can dedicate to this project, the extension may not be updated frequently. However, I will try to fix any bugs and add update to new GNOME versions as soon as possible.
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 "click on active workspace to overview"
- Activate/deactivate "click on focused application to minimize"
- 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
- Ignore applications (with regex)
Tip
Customize CSS editing stylesheet.css
file. Add more classes simply searching css_*
variables in extension.js
.
Deploy
Available for GNOME 45: gnome shell extensions store.
Tip
Legacy versions (GNOME shell 40-44) available on gnome extensions store. These versions will not receive new updates.
Alternative install
- Download this folder
- Execute
./install.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):
- BaBar taskbar by @fthx (and various other fthx's extensions)
- TaskIcons by @rliang
- Improved workspace indicator by @MichaelAquilina
- New workspaces shortcut by @barnscott
- AppIndicator Support by @ubuntu
- Top Panel Workspace Scroll by @timbertson
- Focus follows forkspace by @christopher-l