forked from aniani/vim
patch 8.1.1538: cannot specify highlighting for notifications
Problem: Cannot specify highlighting for notifications. Solution: Use the PopupNotification group if it exists. Add a minimal width to notifications.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*popup.txt* For Vim version 8.1. Last change: 2019 Jun 12
|
*popup.txt* For Vim version 8.1. Last change: 2019 Jun 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -93,8 +93,6 @@ TODO:
|
|||||||
- Add 'balloonpopup': instead of showing text, let the callback open a popup
|
- Add 'balloonpopup': instead of showing text, let the callback open a popup
|
||||||
window and return the window ID. The popup will then be closed when the
|
window and return the window ID. The popup will then be closed when the
|
||||||
mouse moves, except when it moves inside the popup.
|
mouse moves, except when it moves inside the popup.
|
||||||
- For notifications use the PopupNotification highlight group, fall back to
|
|
||||||
WarningMsg if it isn't defined.
|
|
||||||
- For the "moved" property also include mouse movement?
|
- For the "moved" property also include mouse movement?
|
||||||
- Make redrawing more efficient and avoid flicker:
|
- Make redrawing more efficient and avoid flicker:
|
||||||
- put popup menu also put in popup_mask?
|
- put popup menu also put in popup_mask?
|
||||||
@@ -300,6 +298,7 @@ popup_notification({text}, {options}) *popup_notification()*
|
|||||||
call popup_create({text}, {
|
call popup_create({text}, {
|
||||||
\ 'line': 1,
|
\ 'line': 1,
|
||||||
\ 'col': 10,
|
\ 'col': 10,
|
||||||
|
\ 'minwidth': 20,
|
||||||
\ 'time': 3000,
|
\ 'time': 3000,
|
||||||
\ 'tabpage': -1,
|
\ 'tabpage': -1,
|
||||||
\ 'zindex': 200,
|
\ 'zindex': 200,
|
||||||
@@ -308,6 +307,8 @@ popup_notification({text}, {options}) *popup_notification()*
|
|||||||
\ 'border': [],
|
\ 'border': [],
|
||||||
\ 'padding': [0,1,0,1],
|
\ 'padding': [0,1,0,1],
|
||||||
\ })
|
\ })
|
||||||
|
< The PopupNotification highlight group is used instead of
|
||||||
|
WarningMsg if it is defined.
|
||||||
< The position will be adjusted to avoid overlap with other
|
< The position will be adjusted to avoid overlap with other
|
||||||
notifications.
|
notifications.
|
||||||
Use {options} to change the properties.
|
Use {options} to change the properties.
|
||||||
|
@@ -258,6 +258,8 @@ apply_options(win_T *wp, buf_T *buf UNUSED, dict_T *dict)
|
|||||||
dictitem_T *di;
|
dictitem_T *di;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
di = dict_find(dict, (char_u *)"minwidth", -1);
|
||||||
|
if (di != NULL)
|
||||||
wp->w_minwidth = dict_get_number(dict, (char_u *)"minwidth");
|
wp->w_minwidth = dict_get_number(dict, (char_u *)"minwidth");
|
||||||
wp->w_minheight = dict_get_number(dict, (char_u *)"minheight");
|
wp->w_minheight = dict_get_number(dict, (char_u *)"minheight");
|
||||||
wp->w_maxwidth = dict_get_number(dict, (char_u *)"maxwidth");
|
wp->w_maxwidth = dict_get_number(dict, (char_u *)"maxwidth");
|
||||||
@@ -856,13 +858,17 @@ popup_create(typval_T *argvars, typval_T *rettv, create_type_T type)
|
|||||||
|
|
||||||
wp->w_wantcol = 10;
|
wp->w_wantcol = 10;
|
||||||
wp->w_zindex = POPUPWIN_NOTIFICATION_ZINDEX;
|
wp->w_zindex = POPUPWIN_NOTIFICATION_ZINDEX;
|
||||||
|
wp->w_minwidth = 20;
|
||||||
|
wp->w_popup_drag = 1;
|
||||||
for (i = 0; i < 4; ++i)
|
for (i = 0; i < 4; ++i)
|
||||||
wp->w_popup_border[i] = 1;
|
wp->w_popup_border[i] = 1;
|
||||||
wp->w_popup_padding[1] = 1;
|
wp->w_popup_padding[1] = 1;
|
||||||
wp->w_popup_padding[3] = 1;
|
wp->w_popup_padding[3] = 1;
|
||||||
|
|
||||||
|
nr = syn_name2id((char_u *)"PopupNotification");
|
||||||
set_string_option_direct_in_win(wp, (char_u *)"wincolor", -1,
|
set_string_option_direct_in_win(wp, (char_u *)"wincolor", -1,
|
||||||
(char_u *)"WarningMsg", OPT_FREE|OPT_LOCAL, 0);
|
(char_u *)(nr == 0 ? "WarningMsg" : "PopupNotification"),
|
||||||
wp->w_popup_drag = 1;
|
OPT_FREE|OPT_LOCAL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deal with options.
|
// Deal with options.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
>1+0&#ffffff0| @7|╔+0#e000002&|═@19|╗| +0#0000000&@43
|
>1+0&#ffffff0| @7|╔+0#e000002&|═@21|╗| +0#0000000&@41
|
||||||
|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0#0000000&@43
|
|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| @2|║| +0#0000000&@41
|
||||||
|3| @7|╚+0#e000002&|═@19|╝| +0#0000000&@43
|
|3| @7|╚+0#e000002&|═@21|╝| +0#0000000&@41
|
||||||
|4| @73
|
|4| @73
|
||||||
|5| @73
|
|5| @73
|
||||||
|6| @73
|
|6| @73
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
>1+0&#ffffff0| @7|╔+0#e000002&|═@19|╗| +0#0000000&@43
|
>1+0&#ffffff0| @7|╔+0#e000002&|═@21|╗| +0#0000000&@41
|
||||||
|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0#0000000&@43
|
|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| @2|║| +0#0000000&@41
|
||||||
|3| @7|╚+0#e000002&|═@19|╝| +0#0000000&@43
|
|3| @7|╚+0#e000002&|═@21|╝| +0#0000000&@41
|
||||||
|4| @7|╔+0fd7ff255|═@31|╗| +0&#ffffff0@31
|
|4| @7|╔+0fd7ff255|═@31|╗| +0&#ffffff0@31
|
||||||
|5| @7|║+0fd7ff255| |a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0&#ffffff0@31
|
|5| @7|║+0fd7ff255| |a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0&#ffffff0@31
|
||||||
|6| @7|╚+0fd7ff255|═@31|╝| +0&#ffffff0@31
|
|6| @7|╚+0fd7ff255|═@31|╝| +0&#ffffff0@31
|
||||||
|7| @73
|
|7| @73
|
||||||
|8| @73
|
|8| @73
|
||||||
|9| @73
|
|9| @73
|
||||||
@57|1|,|1| @10|T|o|p|
|
|:|c|a|l@1| |p|o|p|u|p|_|n|o|t|i|f|i|c|a|t|i|o|n|(|'|a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n|'|1|,|1| @10|T|o|p|
|
||||||
|
@@ -1191,7 +1191,8 @@ func Test_notifications()
|
|||||||
call VerifyScreenDump(buf, 'Test_popupwin_notify_01', {})
|
call VerifyScreenDump(buf, 'Test_popupwin_notify_01', {})
|
||||||
|
|
||||||
" second one goes below the first one
|
" second one goes below the first one
|
||||||
call term_sendkeys(buf, ":call popup_notification('another important notification', {'highlight': 'Notification'})\<CR>")
|
call term_sendkeys(buf, ":hi link PopupNotification Notification\<CR>")
|
||||||
|
call term_sendkeys(buf, ":call popup_notification('another important notification', {})\<CR>")
|
||||||
call VerifyScreenDump(buf, 'Test_popupwin_notify_02', {})
|
call VerifyScreenDump(buf, 'Test_popupwin_notify_02', {})
|
||||||
|
|
||||||
|
|
||||||
|
@@ -777,6 +777,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1538,
|
||||||
/**/
|
/**/
|
||||||
1537,
|
1537,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user