Closed felixfung closed 1 year ago
@dreamcat4 I am going to merge this now to focus on other tasks, but I would appreciate your input on keysReverseDirection and modiferKeyMaskReverseDirection at your leisure.
thank you @felixfung ...will be planning to get around to it (eventually). i very much hope within next 2 weeks timeframe. this is indeed a very much appreciated these efforts to restore back those recent loss of functionality
Given #120 and #121, redesign alt-tab logic and cmdline entry points:
For expose and paging, skippy invocation should always be toggling. It does not make too much sense to activate skippy more than once.
For alt-tab functionality (now renamed switch, because switch/expose/paging all has 6 characters :)), skippy invocation should always carry a next/prev annotation.
I also did away with
deactivate
cmdline entry point, since it kind of never serve too much purpose to begin with.Hence, now skippy has these entry points:
In this redesigning of entry points, switch usage is performed by the user by setting up their hot key environment:
Then, the code path is
skippy-xd --switch
orskippy-xd --switch-prev
sending pipe commands to skippy daemon. Then, if skippy is not yet activated, activate in switch layout, and focus on next/prev window. If skippy is activated, focus on next/prev window.This is perhaps a different design/code path from before, which involved using keys from config file, keysReverseDirection and modiferKeyMaskReverseDirection to do reverse Alt-Tab direction, by reversing window focus direction within clientwin_handle(). I am not able to set-up keysReverseDirection and modiferKeyMaskReverseDirection, and based on code-inspection and log, it looks like this double
if
statement is never triggered, and hence are not functional, @dreamcat4 ? In fact, if both code paths are working, then Shift + Alt + Tab would do a "reverse reverse next == next"? https://github.com/dreamcat4/skippy-xd/blob/5ea4756268717f8d540dcb130167ae99c4a6928a/src/clientwin.c#L596