dsheeler / CoverflowAltTab

Coverflow like Alt-Tab replacement for Gnome-Shell
GNU General Public License v3.0
356 stars 86 forks source link

[FEATURE REQUEST] added a new trigger system #234

Open JE-Amouel opened 1 month ago

JE-Amouel commented 1 month ago

HI, I greatly appreciate your work which is another significant addition to my productivity. I do however have a request if I may. could you add an option that could add a button in the top bar (panel) to trigger the window switcher!?.

THANKS

dsheeler commented 1 month ago

Thanks! I love positive feedback. :)

Thank you for the suggestion! How would you want the button(s) to work? Clicking the button would pull up the switcher? Then how does the switcher close, click the button again, so it's like a toggle? Then while it's up, you can interact like you're holding Alt?

JE-Amouel commented 1 month ago

I admit that I don't really have any idea how it could work internally,

but I present the scenario to you:

coverflow is really great, I see this extension as an innovation in terms of navigation philosophy, the thing is that I have to have my hands on the keyboard all the time to be able to benefit from this wonderful interface, while sometimes I just want to use my mouse to navigate smoothly between some windows, maybe just to observe spots on different windows,

So to facilitate this navigation with the mouse, I would like that when I press the button which will trigger the window switcher, that I can freely scroll the windows, and if I click on a window then I would switch to this window, but if I click somewhere other than in a window or on the same button, then I return to the current window.

dsheeler commented 1 month ago

Very useful description, thanks. For clarification: you click the button, the switcher pops up, how exactly would you flip through windows with the mouse? Mouse wheel? Or would you want 'next/prev' buttons to show up somewhere (on the panel or drawn on the switcher, maybe)?

JE-Amouel commented 1 month ago

I would especially like to keep the elegant appearance of the window switch, so the mouse wheel would be really very very good,

dsheeler commented 1 month ago

Have you tried mouse wheel on a recent version? I changed the behavior so that instead of the wheel causing discrete next/prev transitions, it now causes a smooth transitions between states (which might be something to make optional in case discrete next/prev are preferable). If you try the smooth transition mouse wheel switching, let me know what you think, please!

JE-Amouel commented 1 month ago

Have you tried mouse wheel on a recent version? I changed the behavior so that instead of the wheel causing discrete next/prev transitions, it now causes a smooth transitions between states (which might be something to make optional in case discrete next/prev are preferable). If you try the smooth transition mouse wheel switching, let me know what you think, please!

yes, I try to update with each version, and the result is more than stunning, I made a short video, and in the coverflow settings I have reduce the animation speed to be able to enjoy the spectacle, :point_down:

Screencast_06_03_2024_11:02:53_PM.webm

In reality, it is now that I have just discovered that I can already navigate between windows using the wheel of my mouse. everything is perfect, I would just like a button in the panel, which will act as if I had already pressed ALT+TAB, like that I could just use my mouse to use the interface.

dsheeler commented 1 month ago

You know, it works better in coverflow mode :). It is kinda wonky with the timeline switcher, and that's something I can work on fixing. It switches windows, but not quite as smoothly as the coverflow. Try that mode and you'll see the difference.

JE-Amouel commented 1 month ago

just stunning. the way how smooth are animations, it just Wow!! I will delve again into the settings to see all the possibilities, if there is a way to deactivate the wrapping effect? if I have a lot of similar windows I risk going through them several times without realizing it :smile:

dsheeler commented 1 month ago

No way to disable wrapping EXCEPT the mouse wheel does not wrap, if that works for you? Like if you get to the end of a list normally and press tab, if flips, but more mouse wheeling does not wrap.

JE-Amouel commented 1 month ago

you know what? forget that :point_down: :

No way to disable wrapping EXCEPT the mouse wheel does not wrap, if that works for you? Like if you get to the end of a list normally and press tab, if flips, but more mouse wheeling does not wrap. I already love the extension as it is, this extension rocks !! :wink: .

What do you think about the button idea? till now, I'm not sure if you like the idea or not.

dsheeler commented 1 month ago

Oh, I like the button idea. I'll work on it :).

dsheeler commented 4 weeks ago

Well, @JE-Amouel, the button idea is a bit of work to achieve, and I might still attempt it, but I need to think about it.

Good news though about the timeline switcher: the swipes are now working mostly as they should now, smoothly moving from position to position on mousewheel:

https://github.com/dsheeler/CoverflowAltTab/assets/1632985/f62f7e7a-36f7-460d-bf97-6b859713892f

JE-Amouel commented 4 weeks ago

Good news though about the timeline switcher: the swipes are now working mostly as they should now, smoothly moving from position to position on mousewheel:

:star_struck: it's really good, the animation is so smooth!. :+1: u: :100: .

Well, @JE-Amouel, the button idea is a bit of work to achieve, and I might still attempt it, but I need to think about it.

thank you, the extension is already perfect as is, if the goal has become complicated it doesn't matter, I'm already enjoying the extension with all the other cool stuff provided by the genius that you are. really, thank you for the effort to try, I really appreciate your kindness, and sympathy. :wink:

dsheeler commented 3 weeks ago

Thank you for the kind words! I like getting feedback and suggestions; keep the ideas coming!

BTW, I haven't given up on the button idea...

JE-Amouel commented 3 weeks ago

BTW, I haven't given up on the button idea...

:smile: great,

in this case I would like to share with you a suggestion that has been on my mind lately, if you add a way to trigger coverflow from the terminal (maybe with a dbus input), I could use chc, chc, is an extension which allows you to define a new action to be triggered when the mouse pointer is on the hot corner, this extension also allows you to define shell command type actions, so if coverflow has a dbus input I could use chc to change the behavior of my hot corner, instead of having the gnome activities overview , I could have coverflow window switcher. :grinning: what do you think?.

JE-Amouel commented 2 weeks ago

forget about that :point_up_2: , it's less obvious than it seems, I prefer to leave that to the maestro :wink: .

dsheeler commented 1 week ago

I actually thought the same thing (to use chc) but it's the same level of difficulty as adding a button!

JE-Amouel commented 1 week ago

I just found a solution in the form of a script, It mainly uses xdotool to simulate keyboard shortcuts,

script

#! /usr/bin/bash
$mouse;
xdotool keydown alt key Tab; 
while [[ "$mouse" != "down" ]]; 
do 
  sleep 0.1
  mouse=`xinput --query-state 9 | grep -i button| grep -i 1| awk -F "=" '{print $2}'`       
done; 
xdotool keyup alt

before testing it I recommend, if necessary, to modify the value of the id of your mouse known by xinput, for this you must type xinput --list and you will be able to retrieve the id which corresponds to your mouse, and after in the mouse variable which is found in the loop you will have to modify the start of the command string by replacing the "9" with the id which corresponds to your mouse ,

also a slight problem for the moment is that this script does not work under wayland

and sorry for the quality of the script,

and to make a clickable icon, I wrote a desktop entry, which saves everything as a desktop application, and after that I just need to pin the icon of the application as a favorite application, which will be displayed on the dash-to-panel taskbar

[Desktop Entry]
Name=CoverFlow
Icon=path/to/the/icon/you/want/to/use
Exec=coverflow.sh
Type=Application
JE-Amouel commented 1 week ago

i made a small video for you! but i got a small problem with mouse scrolling, it wraparound two window only.

Screencast from 2024-06-30 17-03-36.webm

dsheeler commented 1 week ago

Can you explain your mouse scrolling issue a bit more? The thing with that is, it does not scroll in a loop, it only goes through the windows once and stops at the ends of the list. I'm looking into making it work in a loop.

JE-Amouel commented 6 days ago

Apparently it was due to a conflict problem with another extension which also used alt+tab, we talk about it on feature request #239