Giter VIP home page Giter VIP logo

favo02 / workspaces-by-open-apps Goto Github PK

View Code? Open in Web Editor NEW
30.0 2.0 6.0 212 KB

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

Home Page: https://extensions.gnome.org/extension/5967/workspaces-indicator-by-open-apps/

License: GNU General Public License v3.0

JavaScript 91.42% CSS 6.27% Shell 2.31%
gnome gnome-extension gnome-shell-extension

workspaces-by-open-apps's Introduction

Workspace indicator by open apps

Get it on GNOME Extensions

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/minimize 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)
  • Hide/show GNOME default workspace indicator (former activities button)

Customization

  • Indicator position
  • Mouse 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.

Warning

Centering vertically the labels independently from the font used is problematic. Tweak .wboa-label classes in stylesheet.css to adjust it.

Preview Preview Preview Preview Preview Preview Preview

Installation

Available for GNOME 45 and 46: gnome shell extensions store.

Tip

Legacy versions (GNOME shell 40-44) available on gnome extensions store. These versions will not receive new updates.

Manual installation

  • Download the extension folder (this repository)
  • 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

See issues page.

Contributions

See CONTRIBUTING.md file.

Credits

See CREDITS.md file.

workspaces-by-open-apps's People

Contributors

bakedbean avatar favo02 avatar neuromorph avatar twouters avatar ybda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

workspaces-by-open-apps's Issues

After removal of css_inline_workspace I don't see workspace border at all

@Favo02 Huge respect for active improvement of one of THE BEST and ESSENTIAL extensions for GNOME.

I stuck a bit. Likely I'm just being stoopid idk.

Expected behavior: border for active workspace is kept and now can be controlled only through stylesheet.css (I don't need to configure workspace bottom border color through anything but css)
Actual behavior: I stop seeing any border at all

In following commit I remove workspace style (style: css_inline_workspace) and I expect to see bottom border anyways because css selector .wboa-workspace.wboa-active has border-bottom: 2px solid #99c1f1;
Commit that causes workspace border to disappear
ybda@66d7835

Moreover, I made a very similar change but for app icons and it does work just fine, as I expect it
ybda@489d751

Note:
I tried the same change on your repo, not in my fork. The results are the same.

Hide empty workspaces

An option to hide empty workspaces might remove some clutter when a fixed number of workspaces is activated instead of dynamic workspaces and show workspace index is enabled.

Maybe Bug? Ghost App icons in the ALL section

Hi,

Thank you so much for making such a wonderful extension!
I wanted to ask and maybe report a bug where you have in my case 2 ghost app icons in the all section. I have renamed mine to just A.
Here is a screenshot:
image
I can confirm I don't have any windows that are invisible from some other applications (this is a new install)

The behavior of those icons is a bit weird:
If you have a window selected when you click the icons nothing happens (then don't get selected)
If you are on an empty workspace and you have no window selected then you can click the icons and switch between them but nothing actually happens. No windows pop up etc,
image
image

And again thank you for making this :)

[FEATURES REQUEST] ADD ICONS STYLING OPTIONS

hi,
i use dash to panel as my desktop's shell's panel, like most of the time i use my laptop, i have a small screen for my work, so better to keep strict and necessary info only , had hopefully your great extension helped a lot to solve the space problem by merging in a clever way taskbar and active workspace indication, which are generally my main information when it come to check my panel, that great,
but it looks like there is a lake of customization options when it came to icons appearance, such as icons size, margin and padding, mostly for the icon's size.

is it possible to add some options relative to icons appearance?

thanks.

inverse scroll behaviar stopped working after update

First of all, thank you for creating this great extension. It has significantly improved my workflow.
After updating my fedora , the "Inverse Scroll" behavior has stopped working. This feature was functioning correctly before the update.
And also he extension interface on my bar appears less sharp and somewhat "dirty" compared to the previous version.
Screenshot from 2024-05-18 14-09-37

System Information:
OS: fedora 40
GNOME Version: 46 wayland
Extension Version: 18

I have tried disabling and re-enabling the extension, as well as restarting GNOME Shell, but the issue persists.

Hovering app icon changes workspace name positioning

Screencast.from.2024-05-02.10-55-59.webm

As you can see from the above screencast (sorry for bad resolution) the workspace name changes position when hovering the app icon.

This only seems to happen when only one application is active on a workspace and not when two or more application icons are displayed.

Feature Request: add support for previous versions of Gnome-shell

Hi, I discovered this extension recently, and it's the best virtual desktop manager I've ever seen. I'm using it on some of my computers already, however, some of my older installs use Gnome-shell versions as old as 40. I was wondering, then: would it be possible to add support for older Gnome-shell versions (ideally as far back as 40)? If it's not too much trouble I mean. I thank you in advance for taking the time to think about this. And thank you for such a useful extension. Regards, Max.

[Feature] Invert workspace and current app indicator position

Hi again :D

Thank you so much for such a useful and now essential extension. Thanks for improving the Gnome experience. Really appreciated. Also for the recent update, I was the one who reported the issue to the Open Bar developer. Glad to see things improving so fast.

Currently using custom CSS and got the idea to swap the indicator of current workspace to the top and the current app to the bottom. Unfortunately I can't do it myself as I know jack about JS or programming in general. I can barely do some customization thru editing the CSS files but I know to swap the indicators would only be possible to do it changing the source code which is something beyond me...

Thank you so much for the time and effort put in this useful extension! have a wonderful day and cheers!!

Double click to minimize

Feature request from GNOME extensions store review:

Double click to minimize window. Add setting to turn on/off this feature.

Dialogs, popovers and tooltip seen make additional icons appear

Steps to reproduce:

  1. Start the extension
  2. Open Settings on GNOME
  3. Open the hamburger menu, on the upper right corner
  4. A popover appears and you can see two "Settings" icons in the panel instead of just one

Same procedure for any other app with a popover menu. I also encountered the same issue with Firefox's right click context menu and the tooltip box when the cursor is hovering on tabs

Touch support

Hi,
I recently discovered this amazing extension on my tablet, thank you for making it.
There is one reason I currently combine it with another workspace indicator extension though: clicking with my finger on a workspace/application does not work. I can click with my pen and mouse, but they are not always conveniently at hand. So I'd love to see this getting support.

Overview when clicking on an empty workspace

Discussed in #56

Originally posted by Okanda November 13, 2023
Hello. I'm testing the extension and I like it :)

I used to use Space Bar but with your extension I can have a better overview of opened apps.
But I missed one feature : it is the activation of the Gnome Overview screen when choosing/clicking on an empty workspace.

It's a killer feature ;)

Maybe we can see that it in workspaces-by-open-apps ?

Thank you for your job.

LCG

Feature Request: Limit Maximum Widget Width (otherwise it might eat up half the taskbar or more)

Hi,
thanks again for this very useful extension. I've been using it and it's a life changer. I have a few comments on potential improvements though. For now, the biggest problem I'm facing is that the visualization on the taskbar (I'm using Dash to Pannel), can get really big (wide) and eat a lot of taskbar space, depending on the number of desktops and open windows.

I know changing the behavior of the extension radically might not be easy, but just in case there is something you could improve, here are a few ideas to make it easier to deal with a big number of desktops or windows. It will be very convenient to have options to set one or more of these behaviors:

  1. Limit the horizontal size the visualization can use, and use scroll bars (maybe one per desktop, or a single one for everything).
  2. Group similar windows (say Firefox windows) into a single icon, like taskbars can typically do with taskbar buttons.
  3. Make the widget a small preview (maybe showing the number of desktops, but no app details yet), then when clicked a full menu could be shown, as a pop-up, like a start menu of sorts (think arcMenu). The desktops could be each on a row, displaying the list of apps like the widget does now, and stacked on top of each other). This will resemble a window-list more than a desktop switcher, but it can get the same job done, with one more click, and without eating so much taskbar space sometimes.
  4. Create a separate panel for the desktop switcher, something that can be, say hidden on the side of the screen and displayed when the mouse hovers nearby.
    In any case, the widget is very useful, and I use it most of the time. Only when I'm working on projects with too many windows (say, dozens of Python plot screens) that I temporarily switch to a more traditional desktop management widget (like workspace indicator).
    Thanks for taking the time to look into this.
    Cheers.
    Max.

Ignore applications by regex

Running Ubuntu 22.

The active workspace always shows a generic window/desktop icon. When viewing the log, it shows as window:x where "x" is an incrementing number that increases each time the system sleeps and wakes up.

Adding it to the ignore list removes it, until the number increments again. Not sure what is causing it to display in the first place, but would be neat if the ignore list could take a regex like /window/i

image

Minor issue overall and great extension!

[Feat] Option to disable scrolling

First, thank you for your work, it is very useful. ๐Ÿ™‚

There are extensions that let you scroll the panel to switch workspace like panel scroll and Panel Workspace Scroll. This extension's scrolling conflicts with them: if both are enabled, you skip 2 workspaces at once.

I suggest adding an option to disable scrolling. If a user is using another panel scroll extension, they could disable scrolling for this extension to avoid conflict.

Workspace names not centered

image

As you can see in above screenshot, the workspace name (indexes in this case) is not vertically centered (or is the hover background positioning wrong?)

GNOME 40 Adw not found

Hi Luca, thanks for the update. Unforutnatelly, version 9 didn't worked on my system. I'm using Alma 9, which comes with Gnome 40. The error on my system was this


Stack trace:
  @/home/user_name/.local/share/gnome-shell/extensions/[email protected]/prefs.js:1:32
  _init@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:216:33
  OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:128:33
  asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
  run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:177:20
  main@resource:///org/gnome/Shell/Extensions/js/main.js:19:13
  run@resource:///org/gnome/gjs/modules/script/package.js:206:19
  start@resource:///org/gnome/gjs/modules/script/package.js:190:8
  @/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17

I made sure all the awd packages available for my system were installed, and still same problem.
For the time beein I went back to version 8. Not a problem, but it will be nice to have the new features working.
Thanks again for this wonderful extension, and your hard work.
Cheers.
Max.

Originally posted by @maxborn in #47 (comment)

Add settings to reorder the position of the indicator

-Can't open the settings for the extension so you got your first bug right there.

-Shows up always to the left. Doesn't like to be re-organized by Top Bar Organizer which is the OG extension to order all your topbar extensions.

Gnome 43.4
Manjaro

CSS issues

Been a user since day one and loved every improvement along the way, specially when they were my suggestions ๐Ÿ˜„ but I've had this problem when using both Workspace Indicator and this extension. I think Workspaces by open apps piggy backs on Workspace Indicator as I did some CSS changes to Workspace Indicator to fit a thin panel bar with better colors and this is the result:

Screenshot from 2023-11-27 18-17-17

But when I enable Workspaces by open apps it distorts Workspace Indicator like so:

Screenshot from 2023-11-27 18-18-41

And I don't know why. I don't think its supposed to happen but I guess the extension is using workspace indicator in a way it interferes.

Lastly we have an option in the extension to enable round indicator borders but the result looks sharp, not round. Not looking nice with the Gnome 'round' aesthetic. Barely better than the default 'square' bars.
I've been trying to make them round but I barely know CSS so here I am.

Thank you so much for the time and effort put in this awesome and useful extension. Hopefully we see more improvements along the way. Have a great day!

Error after updating Extension

Using Fedora 38, Gnome 44

After updating to the last version, I'm getting ab error when I try to open configuration,
the extensions seems to start but not "honoring" configuration.

I'm copying the details that the config shows, any other thing I can inform you please let
me know.

Thanks in advance.
Tonio

Here the details:

The settings of extension [email protected] had an error:

Error: Wrong type number; string expected

Stack trace:

_init/Gtk.Widget.prototype._init@resource:///org/gnome/gjs/modules/core/overrides/Gtk.js:55:50
about_page@/home/tonioc/.local/share/gnome-shell/extensions/[email protected]/prefs.js:488:12
fillPreferencesWindow@/home/tonioc/.local/share/gnome-shell/extensions/[email protected]/prefs.js:68:13
_init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:27:29
ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
OpenExtensionPrefsAsync@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:124:33
async*_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:373:35
_wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
main@resource:///org/gnome/Shell/Extensions/js/main.js:22:13
run@resource:///org/gnome/gjs/modules/script/package.js:206:19
start@resource:///org/gnome/gjs/modules/script/package.js:190:8
@/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17

[Feature Request] Style for minimized apps

A way to distinguish opened apps from minimized apps would be useful. My idea was to make minimized apps appear slightly more transparent, but that is already reserved for non-focused icons.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.