Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support GNOME 40 #376

Closed
gavr123456789 opened this issue Mar 18, 2021 · 90 comments · Fixed by #408
Closed

Support GNOME 40 #376

gavr123456789 opened this issue Mar 18, 2021 · 90 comments · Fixed by #408
Assignees

Comments

@gavr123456789
Copy link

No description provided.

@mrspikeroot
Copy link
Contributor

@hedning
Copy link
Member

hedning commented Apr 5, 2021

Have` started working on support for gnome shell 40 here: https://github.com/paperwm/PaperWM/tree/next-release

Things should start and launching windows should work, but there's quite a few bugs (eg. scrolling the workspaces seems to crash the process, and dragging windows are broken).

@hedning hedning self-assigned this Apr 5, 2021
@hedning hedning pinned this issue Apr 5, 2021
@qwIvan
Copy link

qwIvan commented Apr 7, 2021

Have` started working on support for gnome shell 40 here: https://github.com/paperwm/PaperWM/tree/next-release

Things should start and launching windows should work, but there's quite a few bugs (eg. scrolling the workspaces seems to crash the process, and dragging windows are broken).

The configuration panel doesn't works now. How can I modify the configuration manually?

@wbolster
Copy link

wbolster commented Apr 8, 2021

using dconf-editor, orn using the gsettings command line tool. you can check my wbolster/dotfiles repo (gnome subdirectory) for some examples

@qwIvan
Copy link

qwIvan commented Apr 8, 2021

using dconf-editor, orn using the gsettings command line tool. you can check my wbolster/dotfiles repo (gnome subdirectory) for some examples

Animation of switch focus between two monitor is incorrect. How to disable animation?

@qwIvan
Copy link

qwIvan commented Apr 8, 2021

using dconf-editor, orn using the gsettings command line tool. you can check my wbolster/dotfiles repo (gnome subdirectory) for some examples

image
The above command is refer from your dotfile, but it doesn't work.

@wbolster
Copy link

wbolster commented Apr 8, 2021

ah yes, this extension's name is problematic because it contains a : (colon), which the gsettings tool treats as a path separator (GSETTINGS_SCHEMA_DIR). i reported this before in #322.

i use an ugly symlink based hack to work around it:

    # HACK: The colon in the name confuses the GSETTINGS_SCHEMA_DIR
    # environment variable used by the ‘gsettings’ tool, so trick
    # it into picking up the right directory anyway.
    ln -s 'paperwm@hedning:matrix.org/schemas' 'paperwm@hedning'

see https://github.com/wbolster/dotfiles/blob/main/gnome/install-extensions#L39-L42

@qwIvan
Copy link

qwIvan commented Apr 8, 2021

I found a solution to disable the incorrect animation. Just open gnome-teaks and disable the animation option.

@gavr123456789
Copy link
Author

gavr123456789 commented Apr 21, 2021

Cant enable now
image
UPD after alt + f2 -> r It started working
image

@KiaraGrouwstra
Copy link

KiaraGrouwstra commented Apr 21, 2021

after alt + f2 -> r It started working

this gives me: restart is not available on Wayland
😅 reboots have not fixed tho...

@nylki
Copy link

nylki commented Apr 23, 2021

Btw. the Gnome Foundation put up a migration guide from GTK3->GTK4, if you haven't come across this one, this may be useful:
https://developer.gnome.org/gtk4/4.0/gtk-migrating-3-to-4.html

@ludvigng
Copy link

Just a heads up, currently this extension breaks the overview, no windows will be shown. It's probably already known I'm guessing, but might as well mention it.

@Thesola10
Copy link
Collaborator

Thesola10 commented Apr 29, 2021

Just a heads up, currently this extension breaks the overview, no windows will be shown. It's probably already known I'm guessing, but might as well mention it.

To me it looks more like the "show only scratch windows in overview" setting working as intended but without the scratch windows 🤔

@ludvigng
Copy link

ludvigng commented Apr 29, 2021

Just a heads up, currently this extension breaks the overview, no windows will be shown. It's probably already known I'm guessing, but might as well mention it.

To me it looks more like the "show only scratch windows in overview" setting working as intended

Except I don't have that set. And scratch windows aren't shown either. I've attached an excerpt from the journal:
overview-blank.txt

overview.mp4

I did notice something else strange too. Moving the cursor between monitors makes for a really jarring animation (I set OBS to record half of each screen, the seam is in the middle between them):

2-screens.mp4

This is with "Workspaces span displays" set in gnome tweaks. This is the journal output from moving the mouse between a monitor and then back again:

apr 29 11:26:27 harman gnome-shell[1681]: LAYOUT
apr 29 11:26:31 harman gnome-shell[1681]: switchWorkspace 0 1
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:31 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: switchWorkspace 1 0
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed
apr 29 11:26:36 harman gnome-shell[1681]: setup_framebuffers: assertion 'width > 0' failed

E: I've attached log output for these two things. I managed to catch the third bug that was here originally, but it seems to be related to another extension. My bad!

@gcoda
Copy link

gcoda commented May 14, 2021

Just a heads up, currently this extension breaks the overview, no windows will be shown. It's probably already known I'm guessing, but might as well mention it.

for me, it magically got fixed with "Cleaner Overview" extension by gonza_11

@ludvigng
Copy link

Just a heads up, currently this extension breaks the overview, no windows will be shown. It's probably already known I'm guessing, but might as well mention it.

for me, it magically got fixed with "Cleaner Overview" extension by gonza_11

Oh wow, it does fix the problem. Thank you!

@nylki
Copy link

nylki commented May 22, 2021

I was just testing the next-release branch of PaperWM with Gnome40 in Fedora 34.

I can confirm that using the mentioned Cleaner Overview does indeed fix the empty overview. Maybe some of that extensions logic can be adapted for PaperWM.

After that, there are still some gesture-related issue when using multi-finger gestures with a trackpad to control PaperWM:
When switching windows with the 3-finger gesture as before with PaperWM now clashes with Gnome40's 3-finger workspace switching gesture. Both gestures are now fighting, resulting in a broken animation and UX in the current state.
Using the Meta-left/right key-combo does work fine though.

@magthe
Copy link

magthe commented May 24, 2021

I'm testing the next-release branch right now with Gnome40 on Arch.

I do have the Cleaner Overview plugin, but I still have an empty overview. Maybe there's some other extension I have that impacts my setup negatively.

The plugin ddterm still doesn't show its window, but it does take focus!

@randomvariable
Copy link

How have folk got around

Expected type string for argument 'property_name' but got type GObject_Object

@Pacman99
Copy link

Pacman99 commented May 27, 2021

Also enabling the built-in extension "Native Window Placement" fixes the empty overview.

Expected type string for argument 'property_name' but got type GObject_Object

I'm occasionally getting this too

I kind of like the diagonal animation for switching workspaces, it is wrong spatially but a very cool animation to see.

@Pacman99
Copy link

Overall release-next works pretty well thank you for all the work with that.
The animations are definitely a bit odd with the switch to horizontal workspaces.

Also the paperwm settings gui doesn't open at all and changing some top-level settings in dconf seems to just crash gnome. But logging out and logging in seems to fix the crash. So applying paperwm settings requires a restart of gnome. Changing keybindings works fine.

@paradajz
Copy link
Contributor

Some of my observations after trying next-release branch on GNOME 40 (openSUSE Tumbleweed, Wayland on a laptop)

  1. Extension installs and loads fine, although settings can't the changed through GUI
  2. Extension is fighting with the new, built in gestures. This makes it unusable on laptop unless the gestures are changed to 4-finger swipes. See https://github.com/icedman/gnome-shell-hammer
  3. Resizing the windows works with keyboard shortcuts and with mouse, however windows can't be dragged at all.
  4. Overview shows no windows unless Cleaner Overview is installed. https://extensions.gnome.org/extension/3759/cleaner-overview/
  5. Animations when switching from overview are kind of broken, but then again, they are kind of broken on 3.38 as well. See Animations glitch on overview #347

This is actually workable on a laptop, but still unusable for me on a desktop due to broken window movement. I really hope development of this extension isn't abandoned, I'd hate to switch to something else.

@tomkdale
Copy link

I have two machines running Fedora 34, I've installed the "Native Window Placement", and "Cleaner Overview" extensions on both. Yet when I go to install next-release paperwm on both, one works fine, but the other always gives me the Expected type string for argument 'property_name' but got type GObject_Object error.

@Tina-otoge
Copy link

I tried to use next-release on GNOME 40 but I had a lot of issue with my dual monitor setup.
I wasn't able to get PaperWM to "snap" windows in the second display, I could only move and resize them the regular GNOME way, moving between windows on my first monitor using Super+arrow keys works fine but using Super+1,2,3,4 shortcuts made them overlap on the second monitor and breaking them out of PaperWM control
Switching workspaces plays a vertical transition animation, and then when it ends perform the new GNOME 40 horizontal scrolling animation, making it very weird
And generally same issues as mentioned by paradajz right above, with not being able to go in the extensions configuration GUI being a major pain.

@ludvigng
Copy link

You can "fix" the snapping by making workspaces span displays in gnome-tweaks in multi-monitor setup. It works a little funny, since the second monitor uses the second workspace, but it kinda works once you get used to it.

@cstich
Copy link

cstich commented Jun 17, 2021

I can't seem to get the next-release branch to work at all. I am on Gnome 40 on Nixos 21.05. The error message I get when trying to use install.sh is this one:

Trying to load and enable extension:
something went wrong:
Missing metadata.json createExtensionObject@resource:///org/gnome/shell/ui/extensionSystem.js:283:19\
@resource:///org/gnome/shell/ui/shellDBus.js line 63 > eval:20:36\
Eval@resource:///org/gnome/shell/ui/shellDBus.js:63:42\
_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:310:38\
_wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:387:34\
"')

Does anyone know how to fix this/a workaround?

Edit: The install script does not work but manually copying the repo into ~/.local/share/gnome-shell/extensions/paperwm@hedning:matrix.org/ seems to enable the extension as well. However, now I am stuck with the Expected type string for argument 'property_name' but got type GObject_Object error.

Edit 2:
A quick and dirty workaround for the Expected type string for argument error is to comment out line 197 in extension.js.

@NelsonJeppesen
Copy link

NelsonJeppesen commented Jun 23, 2021

I've been running PapperWM full-time on Gnome 40 (NixOS) for about a week now. Everything works as I expect, without any issues. No changes except switching PapperWM branches.

For anyone wanting to test this in NixOS, I added this overlay to home-manager to switch branch
https://github.com/NelsonJeppesen/nix-lifestyle/blob/main/nixpkgs/overlays/paperwm.nix

@Gelbana
Copy link
Collaborator

Gelbana commented Dec 23, 2021

I have just been fixing small issues as I come across them since I still daily drive this extension (honestly don't know if it's possible to live without it on a 32:9 monitor).
In line with @tadfisher, some of the changes made are not backwards compatible.

If any changes happen to be useful to the project, I am happy to contribute.

@cstich
Copy link

cstich commented Dec 23, 2021

If we setup a (soft) fork, I'll help out as best as I can as well, which won't be a massive contribution given that I don't know JavaScript.

I was just wondering whether we need to maintain backwards compatibility at all. Everyone stuck on a version before Gnome 40 could just use PaperWM from this repo, no?

@michaelhthomas
Copy link
Contributor

Just created an org with a new fork of the main repo (PaperWM-community/PaperWM), and invited several of you. Let me know if there's anyone else wanting to contribute, I'd be happy to add you on as well. Feel free to add all your existing changes @Gelbana, it's already working great for me!

@MikiVanousek
Copy link

So is the fork already compatible with gnome 40? If so, please update the read me and I will test it out.

@sammael-s1
Copy link

sammael-s1 commented Dec 30, 2021

Animation on switching workspaces is broken when using multiple screen setup. It was mentioned already. However suggestion to disable animation in gnome-tweaks was... not entirely satisfying. Than I came across this extension: https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/
This made my life good again. Cheers

@jsravn
Copy link

jsravn commented Jan 6, 2022

There's a PR in the fork to fix workspace animations. Now to wait for the fork to merge the PRs ...

@gavr123456789
Copy link
Author

So, can you write instructions for those who are not in the topic how to run paper wm in GNOME 41 now?

@cstich
Copy link

cstich commented Jan 17, 2022

So, can you write instructions for those who are not in the topic how to run paper wm in GNOME 41 now?

Don't the instructions for GNOME 40 (see above) still work?

@gavr123456789
Copy link
Author

gavr123456789 commented Jan 24, 2022

Ye, for everybody who not familiar with all of this:

  1. go https://github.com/PaperWM-community/PaperWM/tree/next-release and git clone / download
  2. put folder to .local/share/gnome-shell/extensions/
  3. install.sh restart shell, turn on extension

Checked on GNOME 41.1 Arch
Everything works except the switch between desktops by win + page up/down
https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/ didnt help

@jsravn
Copy link

jsravn commented Jan 24, 2022

All I needed was the vertical overview plugin to fix workspace switching. No other extensions necessary with the fork.

@magthe
Copy link

magthe commented Jan 26, 2022

@gavr123456789 so next-release is better than develop at the moment?

@jsravn
Copy link

jsravn commented Jan 26, 2022

Yes, especially since the prefs window works.

@paven
Copy link

paven commented Jan 27, 2022 via email

@wraithm
Copy link
Contributor

wraithm commented Jan 27, 2022

I'm running the https://github.com/PaperWM-community/PaperWM/tree/next-release version. I've noticed that a handful of keyboard shortcuts don't work in my current set up with GNOME 40. Things like Super-V (look at notifications) and Super-` don't behave as expected. When I disable paperwm, those shortcuts work. So, the new paperwm seems to be swallowing those keyboard shortcuts.

Also, how do I get my custom user.js shortcuts and such working?

@MikiVanousek
Copy link

Shortcuts don't work for me in vanilla gnome all the time. For example, right now, moving to the second desktop with super+2 stopped working. All other desktops (1..6) work fine. Sometimes different shortcuts don't work.

@MikiVanousek
Copy link

Ye, for everybody who not familiar with all of this:

1. go https://github.com/PaperWM-community/PaperWM/tree/next-release and git clone / download

2. put folder to .local/share/gnome-shell/extensions/

3. install.sh restart shell, turn on extension

Checked on GNOME 41.1 Arch Everything works except the switch between desktops by win + page up/down https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/ didnt help

I followed the steps and ended up getting a version error.
image

@magthe
Copy link

magthe commented Jan 28, 2022

I got the broken shortcuts back to working by going into the ordinary Gnome settings and aggressively turning off shortcuts there.

@jsravn
Copy link

jsravn commented Jan 28, 2022

Yeah there is some issue with shortcuts, I noticed this too. I fixed it I think by resetting shortcuts and toggling the extension off/on again. Doesn't help though the shortcut reset crashes in gnome 41.

@ccope
Copy link
Contributor

ccope commented Feb 14, 2022

I'm using (abusing?) this discussion thread to document issues I'm finding with the soft-fork under Ubuntu 22.04/GNOME 41/Wayland: PaperWM-community#20

@oguzserbetci
Copy link

@MikulasVanousek I got an error as well, but it was because popos-shell was activated. After I turned it off and restarted gnome shell PaperWM worked.

@smichel17
Copy link
Collaborator

In the fork, there is code which:

  • Adds support for gnome 40 and 41, but breaks compatibility with gnome 38 or earlier
  • Fixes bugs or adds features, and does not affect compatibility
  • Adds support for gnome 42, but breaks compatibility with gnome 41 or earlier

However, much of this code is scattered across a bunch of branches and PRs. The task now is to merge it all together and bring it upstream here.

This issue is very long, and the code to address it already all exists in the master branch of the fork, so I think I am going to merge that first (disregarding any additional bugfixes or features not yet included there), close this issue, and we can continue the discussion of getting gnome 42 work merged here in #409. If there are any other problems that pop up, we can open new issues here to track them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.