Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 4144] New: Add keyboard navigation controls to TCP Stream

Date: Tue, 20 Oct 2009 21:06:19 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4144

           Summary: Add keyboard navigation controls to TCP Stream Graphs
           Product: Wireshark
           Version: SVN
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: jyoung@xxxxxxx



Jim Young <jyoung@xxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #3811|                            |review_for_checkin?
               Flag|                            |


Created an attachment (id=3811)
 --> (https://bugs.wireshark.org/bugzilla/attachment.cgi?id=3811)
Patch to gtk/tcp_graph.c

Build Information:
C:\projects\wireshark>wireshark-gtk2\tshark -v
TShark 1.3.1 (SVN Rev 30630 from /trunk)

Copyright 1998-2009 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled with GLib 2.20.5, with WinPcap (version unknown), with libz 1.2.3,
without POSIX capabilities, with libpcre 7.0, with SMI 0.4.8, with c-ares
1.6.0,
with Lua 5.1, without Python, with GnuTLS 2.8.1, with Gcrypt 1.4.4, with MIT
Kerberos, with GeoIP.

Running on Windows XP Service Pack 2, build 2600, with WinPcap version 4.1
beta5
(packet.dll version 4.1.0.1452), based on libpcap version 1.0.0, GnuTLS 2.8.1,
Gcrypt 1.4.4.

Built using Microsoft Visual C++ 9.0 build 30729

C:\projects\wireshark>
--
This is a patch to the TCP Stream Graph module (gtk/tcp_graph.c).  

This primary purpose of this patch is easily zoom and pan the current TCP
Stream graph as well as to switch between the four different types of TCP
Stream graphs just by using the keyboard but the patch also includes a number
of other TCP Stream enhancements including:

The "Help for TCP graphing" window is augmented to include the new keyboard
controls.

The "Help for TCP graphing" window is enhanced so that it can be displayed
simply by pressing the <F1> key when window focus is within the TCP Graph
window.  

The order of the radio buttons presented on the "Graph type" page of the
Control window ss changed so that the four Graph types are listed in the same
order presented in the Statistics | TCP Stream Graph sub-menu.

The mouse cursor is updated when focus is within the TCP graph window to
indicate when the CPU is "busy".  For example on WIN32 platforms the cursor
will temporarily change to an hour-glass to indicate that the system is working
on some "time consuming" TCP Graph related task.

The g->title[0] string for the two types of Time/Sequence graphs is augmented
to include the text "(Stevens)" or "(tcptrace)" as appropriate. 

The call to cf_goto_frame() within graph_select_segment() has been moved
outside of the for() loop.

A potentially controversial change included within this patch is to remove the
WIN32 specific mouse button controls.  This patch attempts to make the WIN32
mouse button controls for the TCP Graphs consistent with the non-WIN32
Wireshark platforms.

The removal of WIN32 specific mouse controls as well as the addition of the new
keyboard controls was inspired out of frustration with having to run Wireshark
on both WIN32 and VMWare hosted Linux platforms.  Most of the VMWare hosted
Linux systems had only a two button mouse with no easy mechanism to emulate the
middle mouse button.  Zooming the TCP Graph in Linux with a two button was very
problematic.  The availablity of the new keyboard zoom key mitigates any issues
with being unable to use the mouse button zoom.

The original WIN32 mouse button behavior can be restored at compile time by
uncommenting the following statement within the patched gtk/tcp_graph.c: 

/* #define ORIGINAL_WIN32_BUTTONS 1 */

The mouse button sequences listed in the "Help for TCP Graphing" window will be
updated to reflect whether or not the ORIGINAL_WIN32_BUTTONS is defined or not.


-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.