#643 right click on ttk::notebook tab

TIP Implementation
jean romier


Based on Tcl/Tk 8.5.12.

For a personal need, I updated the ttk::notebook.tcl file in order to have a virtual event notification when a right click appends on a notebook tab.
The new virtual event generated is <<NotebookTabRightClick>> with options/values -x # -y # -data tab_index.

As I did not want to re-compile the wish85.exe, I just modified the notebook.tcl file (instead ttkNotebook.c file).
The waiting result is OK.

Modification is:
bind TNotebook <ButtonRelease-3> { ttk::notebook::RightClick %W %x %y }

# RightClick $nb $x $y --
# ButtonRelease-3 binding for notebook widgets.
# Activate the tab under the mouse cursor, if any.
# And send an virtual event
proc ttk::notebook::RightClick {w x y} {
set index [$w index @$x,$y]
if {$index ne ""} {
ActivateTab $w $index
event generate $w <<NotebookTabRightClick>> -x $x -y $y -data $index
End Add.

On a tcl script, you just have to bind this virtual event:
bind $nbk <<NotebookTabRightClick>> "notebook_right_click $nbk %d %x %y"

The benefit of this modification is to have the way to open a popup menu on the notebook tab on a right-clic, as it's possible in some applications.

So, maybe you would be able to add this feature on a next release.

Thank you and sorry for my english that is often 'frenchy'

Jean Romier


  • jean romier

    jean romier - 2012-09-21
  • Donal K. Fellows

    • status: open --> closed-duplicate
  • Donal K. Fellows

    Dupe of 3570146


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks