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

[Feature Request] GNOME 45 Support #206

Open
luismxlina opened this issue Oct 22, 2023 · 25 comments · May be fixed by #207
Open

[Feature Request] GNOME 45 Support #206

luismxlina opened this issue Oct 22, 2023 · 25 comments · May be fixed by #207

Comments

@luismxlina
Copy link

luismxlina commented Oct 22, 2023

This extension works and feels as if it should be native on Gnome DE for every laptop. It's great.

The process to adapt existing extensions to the problematic Gnome Shell 45 it is sort of explained here https://gjs.guide/extensions/upgrading/gnome-shell-45.html
However searching through the source code of this extension, every requirement, ESM imports and good practises from the previous guide are already achieved, so changing the metadata.json file, and leaving "45" as the only compatible version, for then reinstalling and enabling "Gestures Improvements" apparently should do the trick. Sadly it doesn't, and the next error is thrown when trying to load the extension:

The settings of extension gestureImprovements@gestures had an error:

SyntaxError: import declarations may only appear at top level of a module


Stack trace:

@file:///home/lviz/.local/share/gnome-shell/extensions/gestureImprovements@gestures/prefs.js:4:12
_init/GLib.MainLoop.prototype.runAsync/</<@resource:///org/gnome/gjs/modules/core/overrides/GLib.js:266:34

I hope @harshadgavali, collaborators or any interested and experienced programmer can find a solution, or guide unexperienced programmers as me to fix this great tool.

@logans3c
Copy link

you got any solutions ?

@luismxlina
Copy link
Author

luismxlina commented Oct 27, 2023

you got any solutions ?

@jaophi got the transpiled version of the source code working, because this project is made with TypeScript. It's not a perfect solution, but it works for now and we gotta give props to this man. I quote him here in case someone didn't see the previous issue: https://github.com/harshadgavali/gnome-gesture-improvements/issues/199#issuecomment-1752162371

Hey guys, I did the necessary changes to run in GNOME 45, here's the zip: gestureImprovements@gestures.zip

I can't make a PR because I don’t know how to make those changes (ESM imports) work with all the ts transpilation this project uses, I just applied them in the final (js) zip release.

The process to get it running:

gnome-extensions install -f ~/Downloads/gestureImprovements@gestures.zip

Logout and login, it should be working already.

@FlynnD273
Copy link

rm -rf ~/.local/share/gnome-shell/extensions/gestureImprovements@gestures;
unzip ~/Downloads/gestureImprovements@gestures.zip;
cp -r ~/Downloads/gestureImprovements@gestures ~/.local/share/gnome-shell/extensions/;
gnome-extensions enable gestureImprovements@gestures;

You can alternatively just run gnome-extensions install -f ~/Downloads/gestureImprovements@gestures.zip instead. The -f flag will overwrite the extension if it's already installed.

@Neo-29
Copy link

Neo-29 commented Oct 29, 2023

Could someone fork and update the project please?

@FlynnD273
Copy link

As discussed previously, that takes a lot of work, and it requires either getting the TypeScript transpilation working, or simply maintaining a JavaScript-only version both of which are... complicated

@grigio
Copy link

grigio commented Oct 31, 2023

+1 please

@mbeps
Copy link

mbeps commented Nov 6, 2023

https://github.com/JoseExposito/touchegg#readme

I think this is a viable alternative. I don't know if the gestures are one-to-one though.

@FlynnD273
Copy link

https://github.com/JoseExposito/touchegg#readme

I think this is a viable alternative. I don't know if the gestures are one-to-one though.

It doesn't seem to work for me. The name of the companion GNOME extension for Touchegg is X11 gestures, maybe it doesn't work on Wayland?

@mbeps
Copy link

mbeps commented Nov 7, 2023

https://github.com/JoseExposito/touchegg#readme
I think this is a viable alternative. I don't know if the gestures are one-to-one though.

It doesn't seem to work for me. The name of the companion GNOME extension for Touchegg is X11 gestures, maybe it doesn't work on Wayland?

Yep, seems like Wayland is not supported yet. This is a major problem. Fedora 39 is out and all of my favourite extensions have also been ported except this one.

@adhadse adhadse linked a pull request Nov 13, 2023 that will close this issue
2 tasks
@adhadse
Copy link

adhadse commented Nov 13, 2023

I tried refactoring the code as per the GJS port extension guide for GNOME 45.

Will need to update how the transpilation works, I'll need help.

@HubKing
Copy link

HubKing commented Jan 27, 2024

Is this project abandoned? Looks like the owner has not posted anything over half a year. Also, why is this issue not going anywhere? Is this because the problem is on Gnome's side and it cannot be fixed until Gnome developers make some changes?

@Neo-29
Copy link

Neo-29 commented Jan 28, 2024

Is this project abandoned? Looks like the owner has not posted anything over half a year. Also, why is this issue not going anywhere? Is this because the problem is on Gnome's side and it cannot be fixed until Gnome developers make some changes?

The Zip version given above is fully operational

https://github.com/harshadgavali/gnome-gesture-improvements/files/12841762/gestureImprovements%40gestures.zip

Only solution for the moment

@nafg
Copy link

nafg commented Jan 30, 2024

Why can't that be merged in and published?

@FlynnD273
Copy link

Because this extension uses TypeScript and a transpiler. The zipped file is a ported version of the transpiled code. So unless the owner wants to switch to JavaScript, it can't be merged until the source code itself is ported.

@nafg
Copy link

nafg commented Jan 30, 2024

What would it take to port the existing (TS) code?

@FlynnD273
Copy link

Unsure. I looked into it a little bit but wasn't familiar enough with how the custom transpilers work generally (and specifically this one). I'm hesitant to speculate at the complexity of porting the TypeScript code. Hopefully someone else has more experience than I

@7HE-W0R1D
Copy link

Coming from GNOME 46, I changed the GNOME version to 46 and version to 27 in metadata.json and its still working perfectly! Credit to @joaophi for porting it and @luismxlina for the install instructions. Post the zip here to save others' time editing the files.

gestureImprovements46@gestures.zip

@medicamin
Copy link

Coming from GNOME 46, I changed the GNOME version to 46 and version to 27 in metadata.json and its still working perfectly! Credit to @joaophi for porting it and @luismxlina for the install instructions. Post the zip here to save others' time editing the files.

gestureImprovements46@gestures.zip

I get this error in gnome 46 by your zip file:
Error: No signal 'actor-added' on object 'Gjs_ui_layout_UiActor'
Any idea?

@7HE-W0R1D
Copy link

7HE-W0R1D commented Mar 28, 2024

Coming from GNOME 46, I changed the GNOME version to 46 and version to 27 in metadata.json and its still working perfectly! Credit to @joaophi for porting it and @luismxlina for the install instructions. Post the zip here to save others' time editing the files.
gestureImprovements46@gestures.zip

I get this error in gnome 46 by your zip file: Error: No signal 'actor-added' on object 'Gjs_ui_layout_UiActor' Any idea?

I'm using Fedora 40 beta with GNOME 46 but cannot replicate the error on my side, however, I remember seeing this actor related comment in the dash to dock pull request for GNOME 46 micheleg/dash-to-dock#2146 (comment)

@Yanndroid
Copy link

@medicamin
For the signal error change "actor-added" to "child-added" in src/snapWindow.js at line 266.

@medicamin
Copy link

@medicamin For the signal error change "actor-added" to "child-added" in src/snapWindow.js at line 266.

Thanks a lot. It's working now

@luismxlina
Copy link
Author

luismxlina commented Mar 30, 2024

@medicamin For the signal error change "actor-added" to "child-added" in src/snapWindow.js at line 266.

This worked fine!
Btw can someone confirm that the 3 finger pinch to close applications has broken?
Btw 2: Github forces me to "close this issue as not planned" because of the fork that was made #207 but feel free to discuss and comment anything related

@swapisticated
Copy link

swapisticated commented Apr 14, 2024

@medicamin For the signal error change "actor-added" to "child-added" in src/snapWindow.js at line 266.

This worked fine! Btw can someone confirm that the 3 finger pinch to close applications has broken? Btw 2: Github forces me to "close this issue as not planned" because of the fork that was made #207 but feel free to discuss and comment anything related

3 finger pinch and 4 finger pinch to close applications and to invoke ctrl + w command, does not seem to work for me too. Do you have any solution for this?

sidevesh added a commit to sidevesh/gnome-gesture-improvements--transpiled that referenced this issue Apr 25, 2024
…ment) which bumps support for 46 on the transpiled version from @joaophi
sidevesh added a commit to sidevesh/gnome-gesture-improvements--transpiled that referenced this issue Apr 25, 2024
@sidevesh
Copy link

I have pushed the transpiled version as a repo to https://github.com/sidevesh/gnome-gesture-improvements--transpiled with all the fixes from this thread and also two PRs from me which were never merged,
#202
#203

all credit goes to the everyone who fixed the issues and got this transpiled and working,
let me know if I missed crediting someone on the repo.

The issue of 3 and 4 finger pinch is still not working but I will be taking a look at fixing that, would appreciate help!

@Beast-Viper
Copy link

My Workspace switching gesture (4 finger swipe) is also not working. Any fixes?

HieuTNg added a commit to HieuTNg/gnome-gesture-improvements that referenced this issue Jul 27, 2024
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.