Open deliciouslytyped opened 3 years ago
Very much appreciate all your detailed feedback! :+1:
New one: I like the animations but they make selecting things in the terminal hard because refreshes clear the selection, so in that case it would be helpful if they can be turned off / replaced with another indicator.
Wireshark shows "computed" (as opposed to having bytes in the packed) values in [ ]
, it would be nice if termshark also did this. (I only know this because I watched some case studies on youtube :P)
Ok, so, with respect to the "scrolling the hex view" issue, apparently part of it is that selecting fields in the dissection doesn't scroll properly automatically near the end of the packet, not sure what's going on there.
Pressing the left and right arrows in the dissection on an expandable area will open and close it, however pressing the left arrow on a subentry will not close it and jump to the root.
re the guides: Given that the FAQ/guide can have images (which might not really render well on the terminal), it may be interesting to keep a version of the screenshots that are text with the ascii escape sequences, this will render properly when reading a file. (if piping through less, it will work with -R)
Not sure what to do about this one, you can make the areas go off screen with +/- regardless of zoom mode - but the real issues are:
What might be done is to make sure the separators never go off screen, and if you detect the size of the terminal decreasing, store the last state or something and allow snapping back. This is interesting if youre doing something like zooming in/out in tmux. For gradual resizing I'm not sure. Also maybe put this behind a flag to let users disable it if they want? IDK?
Additionally: + and - should be made to work in the hex pane too. The intuitive behaviour is to raise and lower the divider of course.
Something might be funky with the quit menu being ~off screen~ when resizing. I'm not sure what the actual problem is here. The first key press deactivates the shark, and the shark is off screen. Or just mostly off screen.
Sometimes termshark doesn't exit properly and ^Z and ^C don't work.
Any (?) capture error redirects to the "no-root" link, which is misleading
# termshark -i wlp3s0
(The termshark UI will start when packets are detected...)
Cannot capture on device wlp3s0: exit status 1 (exit code 1)
See https://termshark.io/no-root for more info.
Here the interface is just named wrong. Easy solution is probably to change the message to suggest there might be other issues.
Any (?) capture error redirects to the "no-root" link, which is misleading
# termshark -i wlp3s0 (The termshark UI will start when packets are detected...) Cannot capture on device wlp3s0: exit status 1 (exit code 1) See https://termshark.io/no-root for more info.
Here the interface is just named wrong. Easy solution is probably to change the message to suggest there might be other issues.
- or maybe even better, either directly show it, or tell the user to try using tcpdump or dumpcap or whatever directly on the device, and inspect it's error. That's what I did.
It's been a long time since you left these comments, @deliciouslytyped , so sorry it took me so long to start to address them! Here is the first fix: 786e63fcc05485d04f6dbd7414abf2f4ec62278d
New one: I like the animations but they make selecting things in the terminal hard because refreshes clear the selection, so in that case it would be helpful if they can be turned off / replaced with another indicator.
Thanks - you can do this now at the minibuffer by typing set disable-shark-fin true
. It just sets main.disable-shark-fin = true
in the default termshark.toml
file.
Not sure what to do about this one, you can make the areas go off screen with +/- regardless of zoom mode - but the real issues are:
- you can make the dissection and hex views go all the way off screen (so you cant see the separator) , by doing +
- you can decrease and increase the size beyond the bounds of the screen so that it seems like they don't respond (if you don't get what I mean I'll clarify)
- the above also happens if you decrease the size of the terminal (e.g. with tmux zoom in/out)
What might be done is to make sure the separators never go off screen, and if you detect the size of the terminal decreasing, store the last state or something and allow snapping back. This is interesting if youre doing something like zooming in/out in tmux. For gradual resizing I'm not sure. Also maybe put this behind a flag to let users disable it if they want? IDK?
Additionally: + and - should be made to work in the hex pane too. The intuitive behaviour is to raise and lower the divider of course.
Understood and I agree, they do have this limitation. It's a result of me not thinking through properly the design of the underlying resizeable column and "pile" widgets. I'll think this over again.
Sometimes termshark doesn't exit properly and ^Z and ^C don't work.
This one I don't see, at least with recent builds/releases. Do you still see this lock-up e.g. with v2.3.0?
- The "show log" interface behaves oddly somehow, if I press "q" sometimes it asks me if I want to quit instead of closing the log.
It could be that the bug you describe above was fixed with this commit: 04de996ff0d4a8844dd13e1a9f8e5753c8b12fcb
- Not obvious how to open the analysis or misc menus with the keyboard (pressing ESC doesn't do anything for me)
You can now use the minibuffer command "menu". It's a bit easier if your fingers are fast and the escape key is unreliable, but still not obvious :-/
- The user guide, faq, bug report, and feature request buttons do nothing. I'm assuming this is because I'm running in a container and don't have xdg-open configured. The FAQ and user guide should be included in inline dialogs with a statement at the top suggesting the user go to the (stated) github URLs for more recent versions. The bug report and feature request buttons should open a dialog asking if the user wants to open their browser (the user may not want to launch their browser session) and show a copyable url.
As of v2.3.0, with DISPLAY
not set, termshark will show you something like this:
Some terminal emulators will highlight that link when you hover over it and e.g. gnome terminal will let you hold shift then right click to open the link. Would that be enough, do you think?
If DISPLAY
is set, then termshark will use xdg-open, as you say, and also something like xsel to copy the link to your host's clipboard or primary selection.
Hey!
There's no problem with taking a while to get back to this, things take time. I don't think I can go and review the updates right now though.
Thanks for working on it!
Can the sharkfin be disabled by default? I have termshark open in a tmux pane and I don't use the mouse and it starts trolling me when I want to look at packets.
I'm running v2.2.0 and I've done my best to skim the FAQ and user guide. These are some mild annoyances as a new user:
q
for top level quit andx
orc
for close, or whatever. The idea is to use a different button for destructive and nondestructive "go away" operations. These should be consistent and present everywhere.https://youtube.com/watch?v=7cbjlV1l28U