Skip to content

Commit

Permalink
Remove :tearoff #3007
Browse files Browse the repository at this point in the history
This also removes the 't' flag from 'guioptions'.

Side effect: :term[inal] -> :te[rminal]

Closes #3003.
  • Loading branch information
mhinz authored and justinmk committed Jul 16, 2015
1 parent 59784b9 commit 1e03165
Show file tree
Hide file tree
Showing 13 changed files with 14 additions and 114 deletions.
15 changes: 1 addition & 14 deletions runtime/doc/gui.txt
Original file line number Diff line number Diff line change
Expand Up @@ -489,18 +489,6 @@ Pressing <F4> will start the menu. You can now use the cursor keys to select
a menu entry. Hit <Enter> to execute it. Hit <Esc> if you want to cancel.
This does require the |+menu| feature enabled at compile time.

*tear-off-menus*
GTK+ and Motif support Tear-off menus. These are sort of sticky menus or
pop-up menus that are present all the time. If the resizing does not work
correctly, this may be caused by using something like "Vim*geometry" in the
defaults. Use "Vim.geometry" instead.

The Win32 GUI version emulates Motif's tear-off menus. Actually, a Motif user
will spot the differences easily, but hopefully they're just as useful. You
can also use the |:tearoff| command together with |hidden-menus| to create
floating menus that do not appear on the main menu bar.


5.2 Creating New Menus *creating-menus*

*:me* *:menu* *:noreme* *:noremenu*
Expand Down Expand Up @@ -750,8 +738,7 @@ nr Name Normal action ~

*hidden-menus* *win32-hidden-menus*
In the Win32 and GTK+ GUI, starting a menu name with ']' excludes that menu
from the main menu bar. You must then use the |:popup| or |:tearoff| command
to display it.
from the main menu bar. You must then use the |:popup| command to display it.

*popup-menu*
You can define the special menu "PopUp". This is the menu that is displayed
Expand Down
29 changes: 0 additions & 29 deletions runtime/doc/gui_w32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -353,35 +353,6 @@ changes this.
When prepending ":browse" before file editing commands, a file requester is
used to allow you to select an existing file. See |:browse|.


6.3 Tearoff Menus

The Win32 GUI emulates Motif's tear-off menus. At the top of each menu you
will see a small graphic "rip here" sign. Selecting it will cause a floating
window to be created with the same menu entries on it. The floating menu can
then be accessed just as if it was the original (including sub-menus), but
without having to go to the menu bar each time.
This is most useful if you find yourself using a command buried in a sub-menu
over and over again.
The tearoff menus can be positioned where you like, and always stay just above
the Main Vim window. You can get rid of them by closing them as usual; they
also of course close when you exit Vim.

*:tearoff* *:te*
:te[aroff] {name} Tear-off the menu {name}. The menu named must have at
least one subentry, but need not appear on the
menu-bar (see |win32-hidden-menus|).

Example: >
:tearoff File
will make the "File" menu (if there is one) appear as a tearoff menu. >
:amenu ]Toolbar.Make :make<CR>
:tearoff ]Toolbar
This creates a floating menu that doesn't exist on the main menu-bar.

Note that a menu that starts with ']' will not be displayed.

==============================================================================
7. Command line arguments *gui-w32-cmdargs*

Expand Down
2 changes: 1 addition & 1 deletion runtime/doc/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1522,7 +1522,7 @@ tag command action ~
|:tab| :tab create new tab when opening new window
|:tag| :ta[g] jump to tag
|:tags| :tags show the contents of the tag stack
|:tearoff| :te[aroff] tear-off a menu
|:terminal| :te[rminal] open a terminal buffer
|:tfirst| :tf[irst] jump to first matching tag
|:throw| :th[row] throw an exception
|:tjump| :tj[ump] like ":tselect", but jump directly when there
Expand Down
7 changes: 2 additions & 5 deletions runtime/doc/options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3256,8 +3256,8 @@ A jump table for the options with a short description can be found at |Q_op|.
screen.

*'guioptions'* *'go'*
'guioptions' 'go' string (default "egmrLtT" (MS-Windows),
"aegimrLtT" (GTK, Motif and Athena))
'guioptions' 'go' string (default "egmrLT" (MS-Windows),
"aegimrLT" (GTK, Motif and Athena))
global
{only available when compiled with GUI enabled}
This option only has an effect in the GUI version of Vim. It is a
Expand Down Expand Up @@ -3319,9 +3319,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'g' Grey menu items: Make menu items that are not active grey. If
'g' is not included inactive menu items are not shown at all.
Exception: Athena will always use grey menu items.
*'go-t'*
't' Include tearoff menu items. Currently only works for Win32,
GTK+, and Motif 1.2 GUI.
*'go-T'*
'T' Include Toolbar. Currently only in Win32, GTK+, Motif,
and Athena GUIs.
Expand Down
4 changes: 0 additions & 4 deletions runtime/doc/usr_09.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,6 @@ is Edit/Global Settings. You will find these entries:
Toggle Left Scrollbar make a scrollbar appear/disappear at the left
Toggle Right Scrollbar make a scrollbar appear/disappear at the right

On most systems you can tear-off the menus. Select the top item of the menu,
the one that looks like a dashed line. You will get a separate window with
the items of the menu. It will hang around until you close the window.


THE TOOLBAR

Expand Down
7 changes: 0 additions & 7 deletions runtime/doc/usr_42.txt
Original file line number Diff line number Diff line change
Expand Up @@ -268,13 +268,6 @@ command like: >
but are completely removed. (Does not work on all
systems.)

t When removed the tearoff feature is not enabled.

The dotted line at the top of a menu is not a separator line. When you select
this item, the menu is "teared-off": It is displayed in a separate window.
This is called a tearoff menu. This is useful when you use the same menu
often.

For translating menu items, see |:menutrans|.

Since the mouse has to be used to select a menu item, it is a good idea to use
Expand Down
4 changes: 2 additions & 2 deletions runtime/doc/various.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,8 @@ g8 Print the hex values of the bytes used in the
*:sh* *:shell* *E371* *E360*
:sh[ell] Removed. |vim-differences| {Nvim}

*:term* *:terminal*
:term[inal][!] {cmd} Spawns {cmd} using the current value of 'shell' and
*:terminal* *:te*
:te[rminal][!] {cmd} Spawns {cmd} using the current value of 'shell' and
'shellcmdflag' in a new terminal buffer. This is
equivalent to: >
Expand Down
6 changes: 4 additions & 2 deletions runtime/doc/vim_diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,14 @@ these differences.
==============================================================================
2. Option defaults *nvim-option-defaults*

- 'autoindent' is set by default.
- 'autoindent' is set by default
- 'autoread' is set by default
- 'backspace' defaults to "indent,eol,start"
- 'complete' doesn't include "i"
- 'display' defaults to "lastline"
- 'encoding' defaults to "utf-8"
- 'formatoptions' defaults to "tcqj"
- 'guioptions' doesn't include "t"
- 'hlsearch' is set by default
- 'incsearch' is set by default
- 'langnoremap' is set by default
Expand Down Expand Up @@ -148,8 +149,9 @@ Other options:

Other commands:
:fixdel
:mode no longer accepts an argument
:mode (no longer accepts an argument)
:shell
:tearoff

Other compile-time features:
EBCDIC
Expand Down
6 changes: 0 additions & 6 deletions src/nvim/ex_cmds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2677,12 +2677,6 @@ return {
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='tearoff',
flags=bit.bor(NEEDARG, EXTRA, TRLBAR, NOTRLCOM, CMDWIN),
addr_type=ADDR_LINES,
func='ex_tearoff',
},
{
command='terminal',
flags=bit.bor(BANG, FILES, CMDWIN),
Expand Down
3 changes: 1 addition & 2 deletions src/nvim/ex_docmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,6 @@ struct dbg_stuff {
#endif

# define ex_gui ex_nogui
# define ex_tearoff ex_ni
# define ex_popup ex_ni
# define ex_simalt ex_ni
# define gui_mch_find_dialog ex_ni
Expand Down Expand Up @@ -3276,7 +3275,7 @@ set_one_cmd_context (
case CMD_imenu: case CMD_inoremenu: case CMD_iunmenu:
case CMD_cmenu: case CMD_cnoremenu: case CMD_cunmenu:
case CMD_tmenu: case CMD_tunmenu:
case CMD_popup: case CMD_tearoff: case CMD_emenu:
case CMD_popup: case CMD_emenu:
return set_context_in_menu_cmd(xp, cmd, arg, forceit);

case CMD_colorscheme:
Expand Down
6 changes: 0 additions & 6 deletions src/nvim/keymap.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,6 @@
#define KS_SELECT 245
#define K_SELECT_STRING (char_u *)"\200\365X"

/*
* Used for tearing off a menu.
*/
#define KS_TEAROFF 244

/* Used a termcap entry that produces a normal character. */
#define KS_KEY 242

Expand Down Expand Up @@ -396,7 +391,6 @@ enum key_extra {
#define K_HOR_SCROLLBAR TERMCAP2KEY(KS_HOR_SCROLLBAR, KE_FILLER)

#define K_SELECT TERMCAP2KEY(KS_SELECT, KE_FILLER)
#define K_TEAROFF TERMCAP2KEY(KS_TEAROFF, KE_FILLER)

#define K_TABLINE TERMCAP2KEY(KS_TABLINE, KE_FILLER)
#define K_TABMENU TERMCAP2KEY(KS_TABMENU, KE_FILLER)
Expand Down
38 changes: 3 additions & 35 deletions src/nvim/menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -417,9 +417,8 @@ add_menu_path (
/* free any old menu */
free_menu_string(menu, i);

/* For "amenu", may insert an extra character.
* Don't do this if adding a tearbar (addtearoff == FALSE).
* Don't do this for "<Nop>". */
// For "amenu", may insert an extra character.
// Don't do this for "<Nop>".
c = 0;
d = 0;
if (amenu && call_data != NULL && *call_data != NUL
Expand Down Expand Up @@ -571,16 +570,6 @@ remove_menu (
return FAIL;
}
if ((menu->modes & modes) != 0x0) {
#if defined(FEAT_GUI_W32) & defined(FEAT_TEAROFF)
/*
* If we are removing all entries for this menu,MENU_ALL_MODES,
* Then kill any tearoff before we start
*/
if (*p == NUL && modes == MENU_ALL_MODES) {
if (IsWindow(menu->tearoff_handle))
DestroyWindow(menu->tearoff_handle);
}
#endif
if (remove_menu(&menu->children, p, modes, silent) == FAIL)
return FAIL;
} else if (*name != NUL) {
Expand Down Expand Up @@ -619,11 +608,6 @@ remove_menu (

/* Recalculate modes for menu based on the new updated children */
menu->modes &= ~modes;
#if defined(FEAT_GUI_W32) & defined(FEAT_TEAROFF)
if ((s_tearoffs) && (menu->children != NULL)) /* there's a tear bar.. */
child = menu->children->next; /* don't count tearoff bar */
else
#endif
child = menu->children;
for (; child != NULL; child = child->next)
menu->modes |= child->modes;
Expand All @@ -638,10 +622,6 @@ remove_menu (
}
if ((menu->modes & MENU_ALL_MODES) == 0) {
/* The menu item is no longer valid in ANY mode, so delete it */
#if defined(FEAT_GUI_W32) & defined(FEAT_TEAROFF)
if (s_tearoffs && menu->children != NULL) /* there's a tear bar.. */
free_menu(&menu->children);
#endif
*menup = menu;
free_menu(menup);
}
Expand Down Expand Up @@ -862,7 +842,7 @@ char_u *set_context_in_menu_cmd(expand_T *xp, char_u *cmd, char_u *arg, int forc
after_dot = p + 1;
}

/* ":tearoff" and ":popup" only use menus, not entries */
// ":popup" only uses menues, not entries
expand_menus = !((*cmd == 't' && cmd[1] == 'e') || *cmd == 'p');
expand_emenu = (*cmd == 'e');
if (expand_menus && ascii_iswhite(*p))
Expand Down Expand Up @@ -938,7 +918,6 @@ char_u *get_menu_name(expand_T *xp, int idx)
/* Skip PopUp[nvoci]. */
while (menu != NULL && (menu_is_hidden(menu->dname)
|| menu_is_separator(menu->dname)
|| menu_is_tearoff(menu->dname)
|| menu->children == NULL))
menu = menu->next;

Expand Down Expand Up @@ -986,7 +965,6 @@ char_u *get_menu_names(expand_T *xp, int idx)
while (menu != NULL
&& ( menu_is_hidden(menu->dname)
|| (expand_emenu && menu_is_separator(menu->dname))
|| menu_is_tearoff(menu->dname)
|| menu->dname[STRLEN(menu->dname) - 1] == '.'
))
menu = menu->next;
Expand Down Expand Up @@ -1244,16 +1222,6 @@ static int menu_is_hidden(char_u *name)
return (name[0] == ']') || (menu_is_popup(name) && name[5] != NUL);
}

/*
* Return TRUE if the menu is the tearoff menu.
*/
static int menu_is_tearoff(char_u *name)
{
return FALSE;
}



/*
* Given a menu descriptor, e.g. "File.New", find it in the menu hierarchy and
* execute it.
Expand Down
1 change: 0 additions & 1 deletion src/nvim/option_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,6 @@
#define GO_ASELPLUS 'P' /* autoselectPlus */
#define GO_RIGHT 'r' /* use right scrollbar */
#define GO_VRIGHT 'R' /* right scrollbar with vert split */
#define GO_TEAROFF 't' /* add tear-off menu items */
#define GO_TOOLBAR 'T' /* add toolbar */
#define GO_FOOTER 'F' /* add footer */
#define GO_VERTICAL 'v' /* arrange dialog buttons vertically */
Expand Down

0 comments on commit 1e03165

Please sign in to comment.