Dash-to-panel: Show panel in all monitors

Created on 16 Jan 2017  ·  77Comments  ·  Source: home-sweet-gnome/dash-to-panel

Hi, It would be great if there was a setting to choose whether to show the panel in all monitors. The same setting could also give the option to show the panel in a specific monitor. Right now the panel only appears on the primary monitor.

Thanks.

enhancement high priority

Most helpful comment

Nothing new to report, but this is coming. It affects many existing features of the panel though, and may require work with other extension authors to help maintain compatibility, so it's going to be a slow process. Thanks for your patience :)

All 77 comments

I'm definitely not opposed to having this capability but the implementation isn't trivial. The gnome-shell doesn't support this easily. You can see there is an existing extension, Multi-Monitors Add On, but it clones the contents and all event handlers into a new panel and every possible change that any other extension could make to the main panel has to be predicted. Still, the best route may be to collaborate with them on getting the two extensions to work together.

The easiest work-around is to use Dash-to-Dock and setting the dock on a different monitor than dash-to-panel. That will only give you application access on two monitors, though.

Hi @jderose9, first of all great extension. Just what I was looking for. But like @el-psycho mentioned it multi monitor support would be a dot on the i. Personally I am working as a SW developer and I am more than willing to assist you on this in any way I can. br

@mpbits Contributions would be great, for sure! Pull requests are definitely welcome. My thought for a first step was to first determine why Multi-Monitors Add On is not compatible and see whether it could be resolved by altering either that extension or this one, as they are already a lot further down the path than starting from scratch.

My personal preference, if I was able to make a wish and have it come true, would be to be able to have the same panel appear in all monitors, and choose which panel displays notifications. All the panels would be the same otherwise.

Thanks for this great extension!

@jderose9 I implemented multi-monitor functionality for dash-to-dock, although it isn't merged. You can check it out in case you are interested: https://github.com/franglais125/dash-to-dock/tree/multi_monitor

Another +1 for this as I work on three monitors at work all day.

I can also vouch for the work @franglais125 referenced above. I've been using it for quite some time successfully.

Great extension. Thank you.

@franglais125 In dash-to-dock you can instantiate multiple docks, and all the code manipulating the dock is self-contained in the extension. On the other hand, dash-to-panel needs to maintain compatibility with lots of other extensions that are all manipulating the shell-instantied top bar - dumping widgets into it, connecting to events, etc, and all that stuff needs to be cloned and proxied to a new panel (which is I believe what Multi-monitor add-on tries to do).

@jderose9 Totally understand... I haven't gone through your code in-depth, I suggested that branch just in case.
In dash-to-dock I also had to handle some corner-cases of some instances, so perhaps it can be adapted, although I highly doubt it is as straightforward as the hotkeys thing was.

With the limited reading I did, I guess we would need to instantiate "taskbar" many times? Just being curious!

@franglais125 "taskbar" is basically the entire inner contents of the dock from dash-to-panel. But here it's only a single widget in the leftBox of the main panel. You could instantiate that multiple times and add it to a fresh empty panel on the secondary monitors but you would end up with the "Show Apps" button and application launchers only - any widgets such as the clock or gno-menu or top icons plus etc would not be duplicated to the secondary monitor.

@jderose9 I'm really no one to say the implementation of this feature is in fact trivial, that much I understand. But have you looked plain-old window-list by gcampax? Unfortunately I cannot provide a link at the moment - it would seem the extension that comes with Ubuntu Gnome 16.10 is newer than the one in the repository and has a "show-on-all-monitors" option (if you want, I could put it on github and, of course, give all credits).

I'm more of a back-end web dev and don't have any experience with extensions, but the code base seems very compact in comparison with Multi-Monitors and others. Please let me know what you think and if there's anything I could do to help. I really think that multi-monitor support is the only thing that's keeping dash-to-panel from being absolutely perfect.

@jderose9 The "Show Apps" icon and application launchers are the main functionality I would like to see in multi-monitor panels, support for widgets would be a bonus. Would it be possible to introduce the basic functionality you described, as a starting point or even just on its own? I can get similar results using dash to dock or other docks, but the appearance/behaviour isn't consistent, and in the case of additional dock applications its a bit excessive for the basic functionality I desire. Any sort of feature like this in dash to panel would be fantastic.

Any update on this?

I was playing with Multi-Monitor addon and it adds additional panels which I was able to add a new instance of the dash to. So basically as a proof-of-concept things look good. That said, there is a lot of work to do.

Here's the TODO list:

(Minimal work for initial release)

  1. Pull in/adapt code from Multi-monitor add-on that creates additional topbar panels on each monitor. Probably need to refactor places that access the primary panel directly and tidy a bunch of stuff up.
  2. Add additional instances of the dash into the new panels.
  3. Wire up minimal set of applicable config settings (panel height, font sizes, etc) to handle multiple panels.
  4. Figure out what needs to happen when Isolate Workspaces is on and the secondary monitors are using their own workspace.
  5. Have "Show Apps" button open apps on monitor it was clicked on (currently always opens to primary monitor).
  6. Create a config setting to show/hide the panel on secondary monitors.

(Longer term)

  1. Create new instances of gnome built-in panel buttons if they are enabled. Activities, appMenu, clock, status menu, etc. I was able to add a 2nd clock without issue but adding a 2nd instance of the status menu to a new panel causes an exception.
  2. Possibly duplicate the workspaces slideout on the overview on additional monitors as Multi-Monitor add-on does. (Multi-monitor add-on is incompatible with workspaces-to-dock so that's an extra consideration here)

I'm sure there will be other issues discovered along the way. I don't have much time to work on this in the near term but I am hoping that if I can get say 1 & 2 completed that someone else would be able to chip in some time on some of the smaller items.

Id love this feature also 👍
Would love to know if there may be any opportunity in the future for it please

I cloud spend some time to start implementing this feature, because I'd love to see the panel on multiple monitors. I have never developed a gnome extension though. @jderose9 can you please provide some information how you develop the extension and how you do debugging?

Need it too :)

@smueller18 Check out #58 and let me know what questions you still have - I'll be happy to answer. Thank you!

Ok, thanks for the link. I checked the Looking Glass and the logging, but using only this tools and the missing documentation it's way more difficult than I thought.

Might I ask if there are any updates happening to this? I am really excited for this feature :+1:

+1 for this. I would also love this feature.

Any updates? I would love to see this feature!

I absolutely love this extension but this is a real dealbreaker. Is there atleast a way to hide the icons from applications running on an different screen?

Multi Monitor Panel would be perfect.

any update?

What is the status of this?

I guess the current status is this: https://github.com/home-sweet-gnome/dash-to-panel/issues/35#issuecomment-291893729

The best way we (who would love to get this implemented) can help is find somebody who can do the implementation. I'd be willing to donate some euros/dollars if there was a crowdfunding for this feature! :)

Nothing new to report, but this is coming. It affects many existing features of the panel though, and may require work with other extension authors to help maintain compatibility, so it's going to be a slow process. Thanks for your patience :)

@jderose9 If this is something you can develop in another branch, I'd be happy to help test. Thank you.

Could you use Clutter.Clone perhaps? I.e., clone the panel across monitors, and when the user puts one of them into focus just swap the real panel with the fake one. That would need minimal code.

Hi,
Couldn't you use the same way Dash to Dock use the multi monitor implementation ?

Would really love for this to get implemented.

Just to note: not only having easy mouse-access to running applications is important, but also it is important for notifications (as well as clock + runtime-updated tray icons e.g. of messengers + alt-tab dialogue) to popup where user's attention is (at minimum - to be on the cursor where mouse is). I do not mind option "all that on all displays" as a substitute to "follow mouse". As well as being able to stick that to right or left rather than to top/bottom. It all is just a plain usability (in configurations that are just slightly more complex than a single-monitor-single-language-user-case).

All that seems to lay on so on the surface that I'm just so surprised current Gnome3 doesn't support that... (along with other staff like output-sound-to-speakers-and-then-change-volume-having-headset-still-connected in gnome3, and some general things like inability for 10+ years in general Linux to push upstream the ctrl+shift-language-changeshortcut-not-to-interfere-with-ctrl+shift+something-app-shortcuts patch). That is my second attempt to switch from Unity to Gnome3 and I feel it gradually fails again due to above-mentioned reasons.

Any updates?
Now,i look at the time must turn my head :joy:

Looking forward to see multi-monitor support! :)
Just started using Gnome after years of using Unity, and I really miss this.

Some apps cannot be dragged and dropped once they have been maximized on secondary monitor. You have to minimize them first (from the primary monitor) and then drag.

Yeah, I am also looking forward for the multi-monitor support! :)

Very interested in this feature. Let us know what we can do to help! (testing? etc)

Thanks for being patient, everyone! @charlesg99 and I have been working on this feature and are excited to share it. Feedback is appreciated.

It is in the branch called feature-multimon

Commands to install it are as follows:

git clone https://github.com/home-sweet-gnome/dash-to-panel.git
cd dash-to-panel
git checkout feature-multimon
make install

Then Alt-F2 -> 'r' to restart GNOME (doesn't work on Wayland) or disable/re-enable the extension to load the changes.

@jderose9 Cant wait to check it out, I'm so excited that this feature is being worked on!

@jderose9, firstly thank you for this work!
Just installed it. Quick feedback - is it possible to make it configurable in such way that:

  • On main monitor we see 'favorite' apps and apps that are running on this monitor
  • On 2nd monitor we see only apps that are running on this monitor. Without favorite apps

?

@oryol A setting for the favorites was just added to the feature-multimon branch, let us know it that works for you. Also added a setting to display the status menu (system indicators). Thanks for the feedback!

Thanks for being patient, everyone! @charlesg99 and I have been working on this feature and are excited to share it. Feedback is appreciated.

It is in the branch called feature-multimon

Commands to install it are as follows:

git clone https://github.com/home-sweet-gnome/dash-to-panel.git
cd dash-to-panel
git checkout feature-multimon
make install

Then Alt-F2 -> 'r' to restart GNOME (doesn't work on Wayland) or disable/re-enable the extension to load the changes.

Wow, thanks a lot ! But on Ubuntu 18.04.1 I just don't see it on my second screen :/ Any ideas why ?

@charlesg99, thank you for update. But by some reason it doesn't work for me.

If I checkout and install code from this commit: https://github.com/home-sweet-gnome/dash-to-panel/commit/581498064a002e9fa962aa8032f622ca2d2cdb82

It works fine (but there is no setting for favorites of course).

Any subsequent commit - just don't display panel at all (may be it crashes somewhere, didn't investigate where logs for it are located)

And I can see settings dialog. It includes checkbox for favorites.

This is a feature I really wanted.
I use Ubuntu 18.04. However, when I install this version, an exclamation mark appears next to the dash-to-panel (gnome-tweak-tool) and I will not be able to use it.
Is there a version restriction?
P.S. : I use gnome shell version 3.28

A fix for ubuntu was added to feature-multimon. Please pull/install again. Thanks!

A fix for ubuntu was added to feature-multimon. Please pull/install again. Thanks!

Perfect, works great :)
I notice a huge lag when I move a window to the second screen, when "isolate screen" is on. Sometime I have to switch workspace to see the windows on the correct screen. I don't know if I'm clear enough :/

Very nice feature....I feel gratitude you.
And.. I have a question.
When window and panel meet or overlap, in primary monitor panel's color change gray.
But secondary monitor panel's color don't change.
Are you planning to fix this?...
Thank you.

I'm having the same issue as @khpark0203 with 'exclamation mark appears next to the dash-to-panel (gnome-tweak-tool) '

Ubuntu 16.04.5 LTS
GNOME Shell 3.20.4

When window and panel meet or overlap, in primary monitor panel's color change gray.
But secondary monitor panel's color don't change.
Are you planning to fix this?...

Yes, we will be adding new transparency options that will address this.

A fix for ubuntu was added to feature-multimon. Please pull/install again. Thanks!

Thanks @charlesg99 !

A fix for ubuntu was added to feature-multimon. Please pull/install again. Thanks!

Perfect, works great :)
I notice a huge lag when I move a window to the second screen, when "isolate screen" is on. Sometime I have to switch workspace to see the windows on the correct screen. I don't know if I'm clear enough :/

@nathan30 On ubuntu, even when dash-to-panel isn't enabled, I notice the same lag when moving a window across monitors and the workspaces don't span displays (option in tweak tools). Could you confirm this? Thanks!

Thanks @jderose9 and @charlesg99 !

Is it too difficult or out of scope of this issue to have an option for the panel on each monitor only highlight active windows on that monitor? For example, my favorites would show up on all panels, but Chrome would only show as active on the panel on the monitor that Chrome is on. Then I might know that my terminal icon on my left monitor's panel has my SSH sessions, and my terminal icon on my right monitor's panel has my local sessions or something else. This is the last thing I'm missing from KDE, but I'm glad to at least have multi-monitor support.

I'm on Ubuntu 16.04, GNOME Shell 3.18.5, I install extension following https://github.com/home-sweet-gnome/dash-to-panel/issues/35#issuecomment-428471206, but it error when loading.
image

For example, my favorites would show up on all panels, but Chrome would only show as active on the panel on the monitor that Chrome is on.

Hey toddjames, this is already possible with the current settings. Let us know if this is what you had in mind. Thanks!

A fix for ubuntu was added to feature-multimon. Please pull/install again. Thanks!

Perfect, works great :)
I notice a huge lag when I move a window to the second screen, when "isolate screen" is on. Sometime I have to switch workspace to see the windows on the correct screen. I don't know if I'm clear enough :/

@nathan30 On ubuntu, even when dash-to-panel isn't enabled, I notice the same lag when moving a window across monitors and the workspaces don't span displays (option in tweak tools). Could you confirm this? Thanks!

When I'm using dash to dock, the move of a windows across monitors is instantly :/

@nathan30 Thanks a lot for developing this feature, works great on my ubuntu installation altho there is one slight problem: When combined with the no title bar extension I can't un-maximize windows on the second monitor the way i can on the primary one (by dragging down from the top panel). #491

Also, I don't notice any lag when moving windows across monitors whatsoever.

@nathan30 Just noticed another incompatibility: With the dynamic top bar extension (without windows open) the top bar on the main monitor is fully transparent while the one on the second monitor stays dark.

Extension is working on my home computer (ubuntu 18.04), just a note that the transparency sometimes not.
peek 2018-10-11 19-53

I'm on Ubuntu 16.04, GNOME Shell 3.18.5, I install extension following #35 (comment), but it error when loading.

@NothingCtrl A fix for older gnome-shell versions was added, could you please try again on you 3.18.5 system? Thanks!

Latest push fixed my issue earlier. Thank you!

@charlesg99

Hey toddjames, this is already possible with the current settings. Let us know if this is what you had in mind. Thanks!

This is perfect, I didn't check for this option. This is amazing, thanks again for the hard work on this!

Hi, thanks for working on this feature. Very awesome.

Something minor that I noticed, maybe it's just in my case, the panel is always transparent on secondary display even when windows are maximized. Does this happen for anyone else?

@abiosoft it was like that for me too a few restarts ago. Right now it stays dark (even when no windows are maximized).

Thank you for the feedback, I just added the initial dynamic transparency to the panels, it should take care of the opacity of the secondary panel. Please let us know if you have some problems with this new feature. Thanks!

@charlesg99 I can confirm the transparency works perfectly fine for me now. All I have to do was to tweak the settings to my taste.

Thanks.

I'm on Ubuntu 16.04, GNOME Shell 3.18.5, I install extension following #35 (comment), but it error when loading.

@NothingCtrl A fix for older gnome-shell versions was added, could you please try again on you 3.18.5 system? Thanks!

I pull latest commit 4ceb0fc2d9240f203a310bb72a6fea3c83cae3c7. It's working perfectly on Ubuntu 16.04. Thanks you.

Hi, this feature was merged to master. Please open a new issue if you encounter problems with it. Thanks everybody!

Is a release planned soon? or should I install from master?

Hey @kunicmarko20, depends on what you call soon :) There is still some testing and translation to be done before the release so we're not there yet. Please install from master and report any issue you encounter, that way you help us with the testing :+1:

Thanks!

Thank you for a fast reply.

I see my status bars apps/icons (slack icon, jetbrains toolbox, etc.) only on the main screen status bar, is that expected or should I open an issue? (or maybe I am missing something)

@kunicmarko20 That typically means an error occurred when disabling the panel. Are you able to turn the extension on and off in Tweak Tool without issue?

Yes, I am able to do that. Should that help? Since indicators are still only on one status bar.

Hey @kunicmarko20, yes it is expected behavior as dash to panel isn't responsible for bringing the status icons over to the main panel. You probably have another extension for this, like TopIcons Plus or AppIndicator. Those external extensions aren't aware of our secondary panels. Thanks!

Thank you, great work!

Hello, first of all thank you! I am loving this multi-monitor feature!

I have stumbled upon what i believe to be a bug. Seems that Dash to panel with multi-monitor has issues when you Log out while Show applications is displayed. After logging back in my Dash to Panel automatically sometimes shows the "Show AppMenu button" even tho it is not enabled. Or even fails to load on my primary monitor (i have a laptop which has a secondary display and a primary external monitor). This does not happen when i log out when the Show Applications is not displayed... in that case it behaves like it should and there are no issues.
https://imgur.com/a/e2i9yNS

Anyways this is not a typical use case for me so I am very satisfied with what you are working on and thank you again! Loving it a lot. Cheers.

Hello @Cariffo, are you using the latest development version? We recently corrected an issue #492 that resembled what you're describing, could it be related? If not, could you please open a new issue? Thanks!

Actual master (version 17) works perfectly on Ubuntu 18.04. :-) Thanks a lot for this feature!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bmccorm2 picture bmccorm2  ·  5Comments

LeeGDavis picture LeeGDavis  ·  6Comments

andrewgazelka picture andrewgazelka  ·  6Comments

ktamp picture ktamp  ·  5Comments

ningacoding picture ningacoding  ·  6Comments