comparison runtime/doc/popup.txt @ 16884:59e4148c0c73 v8.1.1443

patch 8.1.1443: popup window padding and border not implemented yet commit https://github.com/vim/vim/commit/2fd8e35e16e502c98045c4b4e09a91eca840fb97 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 1 20:16:48 2019 +0200 patch 8.1.1443: popup window padding and border not implemented yet Problem: Popup window padding and border not implemented yet. Solution: Implement padding and border. Add core position and size to popup_getpos().
author Bram Moolenaar <Bram@vim.org>
date Sat, 01 Jun 2019 20:30:05 +0200
parents 998603a243d7
children ec61b6b79865
comparison
equal deleted inserted replaced
16883:c7c1b4618acb 16884:59e4148c0c73
88 Probably 2. is the best choice. 88 Probably 2. is the best choice.
89 89
90 90
91 IMPLEMENTATION: 91 IMPLEMENTATION:
92 - Code is in popupwin.c 92 - Code is in popupwin.c
93 - Invoke filter with character before mapping?
94 - Handle screen resize in screenalloc(). (Ben Jackson, #4467)
95 - Why does 'nrformats' leak from the popup window buffer??? 93 - Why does 'nrformats' leak from the popup window buffer???
96 - Implement padding
97 - Implement border
98 - Make redrawing more efficient and avoid flicker. 94 - Make redrawing more efficient and avoid flicker.
99 Store popup info in a mask, use the mask in screen_line() 95 Store popup info in a mask, use the mask in screen_line()
100 Keep mask until next update_screen(), find differences and redraw affected 96 Keep mask until next update_screen(), find differences and redraw affected
101 windows/lines 97 windows/lines
102 Fix redrawing problem with completion. 98 Fix redrawing problem with completion.
103 Fix redrawing problem when scrolling non-current window 99 Fix redrawing problem when scrolling non-current window
104 Fix redrawing the statusline on top of a popup 100 Fix redrawing the statusline on top of a popup
105 - Disable commands, feedkeys(), CTRL-W, etc. in a popup window. 101 - Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
106 Use NOT_IN_POPUP_WINDOW. 102 Use NOT_IN_POPUP_WINDOW for more commands.
103 - Invoke filter with character before mapping?
107 - Figure out the size and position better. 104 - Figure out the size and position better.
108 if wrapping splits a double-wide character 105 if wrapping splits a double-wide character
109 if wrapping inserts indent 106 if wrapping inserts indent
110 - Can the buffer be re-used, to avoid using up lots of buffer numbers? 107 - Can the buffer be re-used, to avoid using up lots of buffer numbers?
111 - Implement all the unimplemented options and features. 108 - Implement all the unimplemented options and features.
253 popup_getpos({id}) *popup_getpos()* 250 popup_getpos({id}) *popup_getpos()*
254 Return the position and size of popup {id}. Returns a Dict 251 Return the position and size of popup {id}. Returns a Dict
255 with these entries: 252 with these entries:
256 col screen column of the popup, one-based 253 col screen column of the popup, one-based
257 line screen line of the popup, one-based 254 line screen line of the popup, one-based
258 width width of the popup in screen cells 255 width width of the whole popup in screen cells
259 height height of the popup in screen cells 256 height height of the whole popup in screen cells
257 core_col screen column of the text box
258 core_line screen line of the text box
259 core_width width of the text box in screen cells
260 core_height height of the text box in screen cells
260 visible one if the popup is displayed, zero if hidden 261 visible one if the popup is displayed, zero if hidden
261 Note that these are the actual screen positions. They differ 262 Note that these are the actual screen positions. They differ
262 from the values in `popup_getoptions()` for the sizing and 263 from the values in `popup_getoptions()` for the sizing and
263 positioning mechanism applied. 264 positioning mechanism applied.
265
266 The "core_" values exclude the padding and border.
267
264 If popup window {id} is not found an empty Dict is returned. 268 If popup window {id} is not found an empty Dict is returned.
265 269
266 270
267 *:popupclear* *:popupc* 271 *:popupclear* *:popupc*
268 :popupc[lear] Emergency solution to a misbehaving plugin: close all popup 272 :popupc[lear] Emergency solution to a misbehaving plugin: close all popup
359 an empty list uses a padding of 1 all around; the 363 an empty list uses a padding of 1 all around; the
360 padding goes around the text, inside any border; 364 padding goes around the text, inside any border;
361 padding uses the 'wincolor' highlight; Example: [1, 2, 365 padding uses the 'wincolor' highlight; Example: [1, 2,
362 1, 3] has 1 line of padding above, 2 columns on the 366 1, 3] has 1 line of padding above, 2 columns on the
363 right, 1 line below and 3 columns on the left 367 right, 1 line below and 3 columns on the left
364 {not implemented yet}
365 border list with numbers, defining the border thickness 368 border list with numbers, defining the border thickness
366 above/right/below/left of the popup (similar to CSS); 369 above/right/below/left of the popup (similar to CSS);
370 only values of zero and non-zero are recognized;
367 an empty list uses a border of 1 all around 371 an empty list uses a border of 1 all around
368 {not implemented yet}
369 borderhighlight highlight group name to use for the border 372 borderhighlight highlight group name to use for the border
370 {not implemented yet} 373 {not implemented yet}
371 borderchars list with characters, defining the character to use 374 borderchars list with characters, defining the character to use
372 for the top/right/bottom/left border; optionally 375 for the top/right/bottom/left border; optionally
373 followed by the character to use for the 376 followed by the character to use for the