Closed Grinzold closed 3 years ago
This was actually requested before ( #59 ) and there is an unfinished PR that aimed to implement this ( #76 ). The PR is quite stale by now and tried to implement a few other things as well, as far as I can see. Would you like to take up the relevant changes of the PR and send a new one that implements this feature?
Thanks for the quick response. I know a bit of programming, but haven't done real work since long. E.g. "PR" I had too look up, albeit I could have known this. So, I think someone knowing the code should do it. If there is no action, say in a week from now, I might give it a try.
It's unlikely that someone else will pick this up. Besides myself, only @ebeem did some serious work for this extension and we both have no time to spare for this right now. I'm happy to get you started and answer questions, though. I started this extension with zero knowledge to scratch my own itch, too 😉
All right, but no promisses. I know version control, but not git. fossil-SCM fanboy. Most important: how to test my changes? To get started: how to pull/copy, how to compile (Makefile?), run/load into my running gnome sesson? I am working on ubuntu/groovy. How to add, view log-messages in running session? (I grew up with .xsession-errors...) Debug more is there? Compile time? I guess, I am using Wayland, if it matters. (How to check, except with ps? What language is it, actually? :)
Most important: how to test my changes?
You reload GNOME, look at the log output for errors and test if your change is working. Yes, it's that awful :wink: With Wayland it's even more so because you have to log out and back in to reload GNOME. Maybe you set up a VM that uses Xorg. With X you can press Alt+F2 and run the r
command to reload GNOME.
You get the log output with journalctl -f /usr/bin/gnome-shell
. You can include manual logging in the code with log('here is my output')
.
To get started: how to pull/copy, how to compile (Makefile?), run/load into my running gnome sesson?
First, fork this repository. This will create a copy of this repository under your own GitHub account. If you set up a VM (see above), go to the desktop and run git clone git@github.com:Grinzold/gnome-shell-wsmatrix.git
. This will create the new gnome-shell-wsmatrix
directory, containing this repository.
Now create the directory in which GNOME extensions are installed:
mkdir -p $HOME/.local/share/gnome-shell/extensions
and link the content of the repository there:
ln -s \
$HOME/Desktop/gnome-shell-wsmatrix/wsmatrix@martin.zurowietz.de \
$HOME/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz.de
Restart GNOME (see above) and the extension should be installed, no compilation needed. You can directly edit the source and reload GNOME to apply the changes. The language is JavaScript.
If you don't set up a VM, you can clone the repository to some other location and have to delete the original $HOME/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz.de
first. Then change the ln
command according to the new location of the repository.
Good luck!
I will try to go back and implement this feature when I have more free time. However, I can say that probably implementing it with minimal code changes is not going to produce the desired quality. Probably implementing this feature will need some core code changes.
I'll add that this should probably wait for GNOME 40 support (#146), else this would need to be implemented all over again.
However, this feature may break some existing usage:
For example, I'm coding in workspace 1, and reading cpp_reference in workspace 2.
While coding, I use ctrl+alt+right
to move to workspace 2, keep ctrl+alt
being pressed and quickly read the cpp_reference, and press left
to return to my coding workspace 1.
With this feature, the popup would not disappear unless I release ctrl+alt
. I can not quickly read the reference anymore..
Maybe it's better to add an switch to enable/disable this feature? I'm not sure if others has the same experience...
implemented and tested in #152, please let's discuss any issue with the current implementation (if any) in the PR.
Thanks for your work on this extension.
Would it be possible to keep the popup until the modifier keys are released? Instead of the 'Time to show popup (ms)'.
So, after switching once the popup stays until (in my case) 'alt+ctrl' are released.
Sometimes I switch fast and the popup disturbes. Sometimes I want more time to look at it to find where I need to go. Currently I just keep switching, which is a bit annoying.