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

Tmux General Compatibility in Zellij: #376

Open
48 of 82 tasks
SaintFenix opened this issue Apr 25, 2021 · 3 comments
Open
48 of 82 tasks

Tmux General Compatibility in Zellij: #376

SaintFenix opened this issue Apr 25, 2021 · 3 comments

Comments

@SaintFenix
Copy link
Contributor

SaintFenix commented Apr 25, 2021

Tmux General Compatibility list:

This issue will exist to document the equivalent features that tmux has that Zellij currently does not, and will exist to allow discussion for what features should be ported and which shouldn't be. (Even if ultimately all of them are implemented.)

It will also serve as a semi-organizational way to get Issues, Pull Requests, and other discussions together that already address these features.

This was discussed briefly in PR #362 with @khs26

===============================================

Should anyone notice an Issue, or Pull Request that aids in this, that is not mentioned here, please post it, and I'll add it to this post.

===============================================


Tmux-Zellij Equivalency Sheet:

Here is the list of tmux keybinds listing all the actionable features that a user can use while using tmux, and their equivalent in Zellij if one exists, and most importantly noting which ones don't. It is also a numbered list so that issues and Pull Requests can be create to address those that haven't been addressed.

########################################### List of Tmux Commands as implemented in tmux.yaml for Zellij ###########################################################
######################################################### Commands were gathered from tmux V. 3.1c-1 ###############################################################

    #Shortcuts  #Actions:                                          #Equivalents:
#------------------------------------------------------------------------------------------------------------------------------------------------------------
01# C-b C-b     Send the prefix key                                Doesn't exist in Zellij Currently. (passes prefix keybind to the application that tmux has open.)
02# C-b C-o     Rotate through the panes                           Not Implemented in Zellij.
03# C-b C-z     Suspend the current client                         Sessions are a planned implementation in Zellij, but not currently implemented.
04# C-b Space   Select next layout                                 A swap layout function, doesn't exist in Zellij Currently.
05# C-b !       Break pane to a new window                         A collapse pane into a new tab function, doesn't exist in Zellij Currently.
06# C-b "       Split window vertically                            Implemented.
07# C-b #       List all paste buffers                             A paste buffer doesn't exist in Zellij Currently.
08# C-b $       Rename current session                             Planned implementation in Zellij, but not currently.
09# C-b %       Split window horizontally                          Implemented.
10# C-b &       Kill current window                                Implemented, as kill currently focused tab instead.
11# C-b '       Prompt for window index to select                  A tab index doesn't exist in Zellij Currently.
12# C-b (       Switch to previous client                          Sessions are a planned implementation in Zellij, but not currently implemented.
13# C-b )       Switch to next client                              Sessions are a planned implementation in Zellij, but not currently implemented.
14# C-b ,       Rename current window                              Implemented.
15# C-b -       Delete the most recent paste buffer                A paste buffer doesn't exist in Zellij Currently.
16# C-b .       Move the current window                            A tab index doesn't exist in Zellij Currently.
17# C-b /       Describe key binding                               This displays what a keybind does briefly in tmux, probably no need to implement in Zellij.
18# C-b 0       Select window 0                                    Implemented.
19# C-b 1       Select window 1                                    Implemented.
20# C-b 2       Select window 2                                    Implemented.
21# C-b 3       Select window 3                                    Implemented.
22# C-b 4       Select window 4                                    Implemented.
23# C-b 5       Select window 5                                    Implemented.
24# C-b 6       Select window 6                                    Implemented.
25# C-b 7       Select window 7                                    Implemented.
26# C-b 8       Select window 8                                    Implemented.
27# C-b 9       Select window 9                                    Implemented.
28# C-b :       Prompt for a command                               Not Implemented in Zellij.
29# C-b ;       Move to the previously active pane                 Not Implemented in Zellij, currently.
30# C-b =       Choose a paste buffer from a list                  A paste buffer doesn't exist in Zellij Currently.
31# C-b ?       List key bindings                                  Currently Not implemented, but exists as a small help menu that otherwise is always shown.
32# C-b D       Choose a client from a list                        Sessions are a planned implementation in Zellij, but not currently implemented.
33# C-b E       Spread panes out evenly                            Not Implemented in Zellij.
34# C-b L       Switch to the last client                          Sessions are a planned implementation in Zellij, but not currently implemented.
35# C-b M       Clear the marked pane                              Not Implemented in Zellij.
36# C-b [       Enter copy mode                                    A paste buffer doesn't exist in Zellij Currently.
37# C-b ]       Paste the most recent paste buffer                 A paste buffer doesn't exist in Zellij Currently.
38# C-b c       Create a new window                                Implemented.
39# C-b d       Detach the current client                          Sessions are a planned implementation in Zellij, but not currently implemented.
40# C-b f       Search for a pane                                  Not Implemented in Zellij.
41# C-b i       Display window information                         Not Implemented in Zellij. (Displays focused pane number)
42# C-b l       Select the previously current window               Implemented, however only goes back one tab, not to last recent tab.
43# C-b m       Toggle the marked pane                             Not Implemented in Zellij.
44# C-b n       Select the next window                             Implemented.
45# C-b o       Select the next pane                               Implemented.
46# C-b p       Select the previous pane                           Implemented.
47# C-b q       Display pane numbers                               Not Implemented in Zellij.
48# C-b r       Redraw the current client                          Not Implemented in Zellij.
49# C-b s       Choose a session from a list                       Sessions are a planned implementation in Zellij, but not currently implemented.
50# C-b t       Show a clock                                       Not Implemented in Zellij.
51# C-b w       Choose a window from a list                        Not Implemented in Zellij.
52# C-b x       Kill the active pane                               Implemented.
53# C-b z       Zoom the active pane                               Not Implemented in Zellij.
54# C-b {       Swap the active pane with the pane above           Not Implemented in Zellij.
55# C-b }       Swap the active pane with the pane below           Not Implemented in Zellij.
56# C-b ~       Show messages                                      Not Implemented in Zellij.
57# C-b DC      Reset so visible part of window follows cursor     Not Implemented in Zellij. (Not really sure what this does.)
58# C-b PPage   Enter copy mode and scroll up                      A paste buffer doesn't exist in Zellij Currently.
59# C-b Up      Select the pane above the active pane              Implemented.
60# C-b Down    Select the pane below the active pane              Implemented.
61# C-b Left    Select the pane to the left of the active pane     Implemented.
62# C-b Right   Select the pane to the right of the active pane    Implemented.
63# C-b M-1     Set the even-horizontal layout                     Not Implemented in Zellij.
64# C-b M-2     Set the even-vertical layout                       Not Implemented in Zellij.
65# C-b M-3     Set the main-horizontal layout                     Not Implemented in Zellij.
66# C-b M-4     Set the main-vertical layout                       Not Implemented in Zellij.
67# C-b M-5     Select the tiled layout                            Not Implemented in Zellij.
68# C-b M-n     Select the next window with an alert               Not Implemented in Zellij.
69# C-b M-o     Rotate through the panes in reverse                Implemented.
70# C-b M-p     Select the previous window with an alert           Not Implemented in Zellij.
71# C-b M-Up    Resize the pane up by 5                            Can't increment by 5 Cells in Zellij Currently.
72# C-b M-Down  Resize the pane down by 5                          Can't increment by 5 Cells in Zellij Currently.
73# C-b M-Left  Resize the pane left by 5                          Can't increment by 5 Cells in Zellij Currently.
74# C-b M-Right Resize the pane right by 5                         Can't increment by 5 Cells in Zellij Currently.
75# C-b C-Up    Resize the pane up                                 Implemented
76# C-b C-Down  Resize the pane down                               Implemented
77# C-b C-Left  Resize the pane left                               Implemented
78# C-b C-Right Resize the pane right                              Implemented
79# C-b S-Up    Move the visible part of the window up             Overlapping Tabs Not Currently Implemented in Zellij.
80# C-b S-Down  Move the visible part of the window down           Overlapping Tabs Not Currently Implemented in Zellij.
81# C-b S-Left  Move the visible part of the window left           Overlapping Tabs Not Currently Implemented in Zellij.
82# C-b S-Right Move the visible part of the window right          Overlapping Tabs Not Currently Implemented in Zellij.

                                  # !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
####################################################################################################################################################################

Implementation

Here is the list of the currently implemented items, and list of Issues / Discussions / Pull Requests of those items. Once the feature has been implemented, or decided to not be implemented, the checkbox will be marked.

These numbers come from the Equivalency sheet above, and only reference PR's, Issues, and other discussions as they are found to relate to it.

@SaintFenix
Copy link
Contributor Author

@khs26 Here, we are, this is a half-way stop to what we were talking about.

This will allow us to keep tabs on what features Tmux has that are missing in Zellij, and slowly see those features flesh out. Once the features are implemented, I can then re-edit my tmux-like configs so that they can ideally be merged into the default configuration for Zellij. (Or perhaps easily enabled for those making the switch.)

@auronandace
Copy link
Contributor

Is this list still being maintained? I think some of these can now be ticked.

@a-kenji
Copy link
Contributor

a-kenji commented Sep 1, 2021

This list is maintained fairly sporadically.
But thank you for the heads up, ill look through it again!

@a-kenji a-kenji unpinned this issue Feb 16, 2022
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

No branches or pull requests

3 participants