Dash-to-dock: Wrong layout with Gnome 3.36

Created on 9 Mar 2020  Â·  45Comments  Â·  Source: micheleg/dash-to-dock

It only displays correctly if I extend the dock.
2020-03-09 10-17-14 的螢幕擷圖

Most helpful comment

+1 got gnome'd AGAIN. You dumbfucks have ZERO respect for your userbase

They really need to do something to improve the compatibility for extensions, they shouldn't let the developers fix it again, again, and again.

All 45 comments

+1 Probably a similar issue, my dock is nearly full-width in Gnome 3.36 on Arch Linux. Edit: I see #1097

image

there's another branch tmp/gnome-3.36 but it has position issue

+1

As for me moving "Dock size limit" slider right moves panel left..

Dock width is messed up on GNOME 3.36. Using the gnome-3-36 branch.

Can confirm the same happens here with my Arch Linux install and dash to dock installed from source from branch tmp/gnome-3.36

+1 Probably a similar issue in Arch Linux. And dash to dock installed from branch tmp/gnome-3.36

+1 also on Arch

+1 anarchy linux (arch) idk why this extension is not already built-in inside Gnome meta-package. Most of users uses it.

+1 got gnome'd AGAIN. You dumbfucks have ZERO respect for your userbase

They really need to do something to improve the compatibility for extensions, they shouldn't let the developers fix it again, again, and again.

+1 anarchy linux (arch) idk why this extension is not already built-in inside Gnome meta-package. Most of users uses it.

Lack of developers I guess? (or maybe a different UI strategy)

+1 Manjaro. Apologies for not seeing this issue and opening a new one (now closed) #1119

As a sidenode, using the tmp/gnome-3.36 scrolling to cycle through workspaces is also not working atm.

+1, gnome 3.36 on arch linux

+1 in gnome 3.36 on Arch, both on wayland and X.
image

+1 on Arch. I don't know if those +1s are helping really.

+1 let's find out.

Further to this issue, the out-of-place dock remains on the screen when the screensaver is started and the dock is set to dodge apps and no dodgeable app is present.

I just installed the extension via the tmp/gnome-3.36 branch. What it changed for me > at first the dock was stretched all over screen, with the regular apps on the left side of the dock, then a stretched void and then the 'show Appllications' icon on the far right side of the dock. Similar to cjdm's post.

Now, after installing from tmp/gnome-3.36 branch, all items are neatly grouped together again, but the dock is still positioned left of center.

I am on Arch (hardened), using gnome 3.36.

I just installed the extension via the tmp/gnome-3.36 branch. What it changed for me > at first the dock was stretched all over screen, with the regular apps on the left side of the dock, then a stretched void and then the 'show Appllications' icon on the far right side of the dock. Similar to cjdm's post.

Now, after installing from tmp/gnome-3.36 branch, all items are neatly grouped together again, but the dock is still positioned left of center.

I am on Arch (hardened), using gnome 3.36.

Try to move "Dock size limit" slider left in Dash-to-Dock settings

I got tmp/gnome-3.36 centering itself correctly -- I'm not submitting a PR because I changed the previous logic without understanding it fully and don't know if the method I used includes any bad practices.

Hopefully it can be used to help ship a working 3.36 release, but if not it should at least help people get it working locally while we wait for a proper solution.

Relates to #1097 #1120 and probably #1116

```
diff --git a/docking.js b/docking.js
index 235f6d3..234c239 100644
--- a/docking.js
+++ b/docking.js
@@ -1052,8 +1052,6 @@ var DockedDash = GObject.registerClass({
}

         this.move_anchor_point_from_gravity(anchor_point);

  • this.x = workArea.x + Math.round((1 - fraction) / 2 * workArea.width);
  • this.y = pos_y;
         if (extendHeight) {
             this.dash._container.set_width(this.width);

@@ -1063,6 +1061,9 @@ var DockedDash = GObject.registerClass({
this.dash._container.set_width(-1);
this.remove_style_class_name('extended');
}
+

  • this.x = workArea.x + Math.round(workArea.width / 2 - this.dash._container.get_width() / 2);
  • this.y = pos_y;
    }
    else {
    this.height = Math.round(fraction * workArea.height);
    @@ -1078,8 +1079,6 @@ var DockedDash = GObject.registerClass({
    }
         this.move_anchor_point_from_gravity(anchor_point);

  • this.x = pos_x;
  • this.y = workArea.y + Math.round((1 - fraction) / 2 * workArea.height);
         if (extendHeight) {
             this.dash._container.set_height(this.height);

@@ -1089,6 +1088,9 @@ var DockedDash = GObject.registerClass({
this.dash._container.set_height(-1);
this.remove_style_class_name('extended');
}
+

  • this.x = pos_x;
  • this.y = workArea.y + Math.round(workArea.height / 2 - this.dash._container.get_height() / 2);
    }
    }
    ```

Edit: Looks like it doesn't update the position once you add new windows to the list... This might not be quite as usable as I was hoping (I'll have to dig deeper)

I got tmp/gnome-3.36 centering itself correctly -- I'm not submitting a PR because I changed the previous logic without understanding it fully and don't know if the method I used includes any bad practices.

Hopefully it can be used to help ship a working 3.36 release, but if not it should at least help people get it working locally while we wait for a proper solution.

Relates to #1097 #1120 and probably #1116

diff --git a/docking.js b/docking.js
index 235f6d3..fdc6cf8 100644
--- a/docking.js
+++ b/docking.js
@@ -1052,7 +1052,7 @@ var DockedDash = GObject.registerClass({
             }

             this.move_anchor_point_from_gravity(anchor_point);
-            this.x = workArea.x + Math.round((1 - fraction) / 2 * workArea.width);
+            this.x = workArea.x + Math.round(workArea.width / 2 - this.dash._container.get_width() / 2);
             this.y = pos_y;

             if (extendHeight) {
@@ -1079,7 +1079,7 @@ var DockedDash = GObject.registerClass({

             this.move_anchor_point_from_gravity(anchor_point);
             this.x = pos_x;
-            this.y = workArea.y + Math.round((1 - fraction) / 2 * workArea.height);
+            this.y = workArea.y + Math.round(workArea.height / 2 - this.dash._container.get_height() / 2);

             if (extendHeight) {
                 this.dash._container.set_height(this.height);

Thanks man, it works! I'll be using your patch until the fix hits the EGO

I got tmp/gnome-3.36 centering itself correctly -- I'm not submitting a PR because I changed the previous logic without understanding it fully and don't know if the method I used includes any bad practices.

Hopefully it can be used to help ship a working 3.36 release, but if not it should at least help people get it working locally while we wait for a proper solution.

Relates to #1097 #1120 and probably #1116

diff --git a/docking.js b/docking.js
index 235f6d3..234c239 100644
--- a/docking.js
+++ b/docking.js
@@ -1052,8 +1052,6 @@ var DockedDash = GObject.registerClass({
             }

             this.move_anchor_point_from_gravity(anchor_point);
-            this.x = workArea.x + Math.round((1 - fraction) / 2 * workArea.width);
-            this.y = pos_y;

             if (extendHeight) {
                 this.dash._container.set_width(this.width);
@@ -1063,6 +1061,9 @@ var DockedDash = GObject.registerClass({
                 this.dash._container.set_width(-1);
                 this.remove_style_class_name('extended');
             }
+
+            this.x = workArea.x + Math.round(workArea.width / 2 - this.dash._container.get_width() / 2);
+            this.y = pos_y;
         }
         else {
             this.height = Math.round(fraction * workArea.height);
@@ -1078,8 +1079,6 @@ var DockedDash = GObject.registerClass({
             }

             this.move_anchor_point_from_gravity(anchor_point);
-            this.x = pos_x;
-            this.y = workArea.y + Math.round((1 - fraction) / 2 * workArea.height);

             if (extendHeight) {
                 this.dash._container.set_height(this.height);
@@ -1089,6 +1088,9 @@ var DockedDash = GObject.registerClass({
                 this.dash._container.set_height(-1);
                 this.remove_style_class_name('extended');
             }
+
+            this.x = pos_x;
+            this.y = workArea.y + Math.round(workArea.height / 2 - this.dash._container.get_height() / 2);
         }
     }

Edit: Looks like it doesn't update the position once you add new windows to the list... This might not be quite as usable as I was hoping (I'll have to dig deeper)

For me this just puts the dash in the bottom of the left edge instead of being centered.

In Manjaro, it becomes like this
2020-03-12 22-03-45 的螢幕擷圖

Hmm, sounds like there might be more factors at play here too-- there's a factor variable I took out because I couldn't get anything lined up with it, but I suspect it probably accounts for some scenarios that aren't in my own setup.

My solution also ended up lacking a recalculation when the items in the dash changed, so they'd extend the bar without repositioning. I'm not sure if that's because the event names changed in gnome 3.36 or because the get_width() value isn't updated after the initial construction. Either way, the more I play with my "fix" the more I'm convinced it's probably not in the direction of the correct solution.

I'm running the tmp/gnome-3.36 branch on an updated ubuntu 20.04 in a virtual macine and I can't reproduce the problem. Tha changes in that branch fixed the problem for me. Is anybody running ubuntu 20.04? Most people here seem on arch.

I'm running the tmp/gnome-3.36 branch on an updated ubuntu 20.04 in a virtual macine and I can't reproduce the problem. Tha changes in that branch fixed the problem for me. Is anybody running ubuntu 20.04? Most people here seem on arch.

I have it on both Arch and Ubuntu, however, somehow on Ubuntu, Ubuntu dock makes it work correctly. If I turn off ubuntu dock, better yet, log in into vanilla gnome, the problem persists.

Also, it if helps, on Ubuntu I recall disabling/enabling parameters in dconf before it started working

@mrpeabody if you have a broken configuration, can you provide your configuration:
dconf dump /org/gnome/shell/extensions/dash-to-dock/

@micheleg I'll send you something within an hour, not around my laptop atm. If someone else can share their (I assume we all have the same problem), please don't hesitate :)

Broken centering on any edge. Here is my conf dump on Arch

[/]
animate-show-apps=false
apply-custom-theme=false
autohide=true
autohide-in-fullscreen=false
background-color='#21232b'
custom-background-color=true
custom-theme-customize-running-dots=false
custom-theme-running-dots-border-width=4
custom-theme-shrink=true
dash-max-icon-size=32
dock-position='LEFT'
extend-height=false
force-straight-corner=false
height-fraction=0.90000000000000002
icon-size-fixed=false
intellihide=true
intellihide-mode='ALL_WINDOWS'
isolate-workspaces=false
multi-monitor=false
preferred-monitor=0
running-indicator-dominant-color=true
running-indicator-style='METRO'
scroll-action='switch-workspace'
show-mounts=false
show-running=true
show-show-apps-button=true
show-trash=false
show-windows-preview=true
unity-backlit-items=false

Screenshot from 2020-03-13 00-19-17

OS: Archlinux
dash-to-dock: branch tmp/gnome-3.36 commit: 253fb3e45e838af2f3886abf5143886957aa34c9

Tested using both Xserver and Wayland.
Using Wayland, the following message keeps appearing on the journal with different 'allocation' values:
gnome-shell[2933]: ../mutter/clutter/clutter/clutter-actor.c:10269: The actor 'dashtodockBox' tried to adjust its allocation to { -58,57, 0,00, 84,00, 948,00 }, which is outside of its orig>

dconf dump /org/gnome/shell/extensions/dash-to-dock/
[/]
dock-position='LEFT'
icon-size-fixed=true
preferred-monitor=0
show-mounts=false

Screenshot from 2020-03-12 21-43-17

Dock width is messed up on GNOME 3.36. Using the gnome-3-36 branch.

It has a issue that is even worse...

By the way, the right click option is gone.

I m in Manjaro, Wayland session and what i can see is this:
dtd does not start when the session starts, i need to disable and re-enable the extension.
not centered as already reported
right click on the dots not work now.
We have built using the last /tmp/gnome3.36 branch commit.
I hope a solution for work in gnome 3.36 can be provided quickly because this are one of the no-go for release gnome 3.36 in our stable branch ..
If a log are needed not esitate
BTW: we appreciate your work in this extension as always

hmm recently new commit (check gnome-3-36 branch) the layout issue was fixed now. but right-clicking 'Show Applications' icon (for opening Dash to Dock settings) still doesn't work Edit: fixed in new latest commit

hmm recently new commit (check gnome-3-36 branch) the layout issue was fixed now. ~but right-clicking 'Show Applications' icon (for opening Dash to Dock settings) still doesn't work~ Edit: fixed in new latest commit

It's working for me now

Seems to work for me too-- awesome job 3v1n0! Thank you!

Reordering dock icons by dragging them still doesn't work for me. Positioning issue is now fixed, thanks.

Issue still present on arch linux.

after fetching changes on branch gnome-3-36, it works now on ArchLinux with Gnome 3.36.0

When is it going to be merged into master branch?

Also being hit by this one on git and tmp/3.36. So its a gnome issue? With no PPA and not informed enough on how to build gnome from source im assuming im gonna live with this one for awhile.

Also being hit by this one on git and tmp/3.36. So its a gnome issue? With no PPA and not informed enough on how to build gnome from source im assuming im gonna live with this one for awhile.

You should use gnome-3-36 branch instead.

You should use gnome-3-36 branch instead.

I cant believe I didn't try that.. thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sethen picture sethen  Â·  4Comments

amansharma07 picture amansharma07  Â·  4Comments

DmitryAstafyev picture DmitryAstafyev  Â·  6Comments

yingw787 picture yingw787  Â·  3Comments

Edenhofer picture Edenhofer  Â·  7Comments