Commit Graph

108 Commits

Author SHA1 Message Date
okan
ba4d949d04 Fix regression from r1.107 (lost a return); kettenis@ pointed out the high
potential for a use-after-free (true!) where kn@ ran into the regression using
an app that actually exercised the XGrabPointer() failure path.
2019-08-12 00:52:36 +00:00
okan
8fa20d6f43 Separate out the menu window from the client resize/move geom window; in each
case, create and destroy on-demand. Isolate more menu specific code.
2019-03-04 19:28:17 +00:00
okan
7d9a5b3486 Stop asking for events (NoEventMask) from menu window once done with
the menu (we don't destroy it, only unmap).
2018-11-14 19:22:51 +00:00
okan
a3cbca55bd Use a variable to keep track of flags for menu_filter(). 2017-12-19 19:38:43 +00:00
okan
0202b86b58 clean up after previous (noprompt removal) 2017-12-12 15:37:16 +00:00
okan
2a75b150b0 Unconditionally show prompt on menus, regardless of invocation. 2017-12-11 20:58:18 +00:00
okan
591ec2708f Remove 'noresult' (and simplify) as it does nothing and makes the logic around
it needless. History doesn't show what this might have been used for in future
iterations.
2017-04-25 12:08:05 +00:00
okan
13e3ebc448 stray newlines 2016-12-06 21:59:33 +00:00
okan
62c01a2e19 Add search_print_text(), a default callback for mi->print in menu_filter(). While
here, normalize the remaining search_print_* argument paramters.
2016-12-06 21:54:10 +00:00
okan
c6068df369 Tame the number of 'exec' and 'path' search_match wrappers. No functional
change now, though more can likely go later, losing the (paritally complete or
incomplete/broken) argument completion bits.
2016-12-01 20:28:19 +00:00
okan
943e3e7534 Make it clear these are flags. 2016-10-24 20:44:08 +00:00
okan
cdbe6c3bc9 Start simplifying menu code; and in turn, remove a cursor no longer
needed.
2016-10-03 18:43:49 +00:00
okan
54cccf114b Use instinsic X11 functions for key/btn/ptr grab/ungrab/regrab requests;
the one line wrappers provided no value and limited altering calls where
needed; additionally, most of them had but one caller.
2016-09-30 18:28:06 +00:00
okan
e49083a483 Replace mousefunc_sweep_draw() with a generic menu_windraw() using va
lists; use it appropriately for both window dimension and position in
the respective mousefunc calls.

ok bryent@
2016-09-30 15:12:19 +00:00
okan
1b369f6063 Mechanical change: move screen menu bits to their own struct. 2016-09-29 00:21:55 +00:00
okan
b46a5b0b56 Inline Xft draw and extents wrappers; too much abstraction. 2016-09-28 17:06:33 +00:00
okan
c1ac946076 Allow ctrl-[ for abort (esc); from Benjamin Scher Purcell 2016-09-20 19:58:54 +00:00
okan
156bfda805 Enable the use of numpad Enter key on menus; from Henrique N. Lengler.
ok beck phessler
2016-08-28 15:23:24 +00:00
okan
dbd50a50c6 If supplied format to menuq_add() is NULL, fill text with an empty
string; found by Christian Neukirchen.
2016-04-28 16:28:38 +00:00
okan
a7bbf5197e Partial revert of replacing screen_area() with region_find(); until a
fix for a regression is found; this bug has been around for a long time
it seems, but this change exposed it. Likely need to track clients in to
and out of regions.
2015-11-11 14:22:01 +00:00
okan
ffc7945b8d Extend region to include both view and work areas; switch to
region_find() which no longer needs to recalculate gap each time
a client (or menu) is created or altered. If no RandR, fall back
to display dimensions while building regions instead of during
execution.
2015-11-09 20:03:29 +00:00
okan
7dc8db6316 simplify menu print text 2015-07-12 14:21:09 +00:00
okan
56fb99c70c style 2015-07-01 14:36:42 +00:00
okan
5fede6d784 style and spacing nits 2015-06-30 18:42:50 +00:00
okan
933ce723de Mechanical change from xinerama to region backed areas. 2015-06-26 17:17:46 +00:00
okan
d7a3230790 clean up 2015-06-08 15:08:44 +00:00
okan
ee2e58a8b1 use the same geometry struct in menus as everywhere else 2015-06-05 18:43:36 +00:00
okan
055ed363c8 add a flag to indicate a menu list instead of overloading 'prompt' 2015-06-05 15:01:51 +00:00
okan
3f1203de8a redundant check for 'list' 2015-06-05 14:54:04 +00:00
okan
d42a248920 Reshuffle and slightly simplify menu_complete_path(), removing an
allocation, for tab-completion; checked by Alexander Polakov as well.
2015-03-28 22:09:10 +00:00
okan
c199720bcc Switch to limits.h; replace MAXPATHLEN and MAXHOSTNAMELEN with PATH_MAX
and HOST_NAME_MAX+1, respectively.

ok doug@
2015-01-19 14:54:16 +00:00
okan
c4e86dacb9 more style nits 2014-09-07 19:27:30 +00:00
okan
dc9a1b77d9 style nit 2014-09-06 16:18:08 +00:00
okan
9062093012 Take menu's bwidth into account for position/size; reported by Thomas Adam. 2014-02-01 19:28:46 +00:00
okan
b92e846e56 Sprinkle a few more const; from Tiago Cunha. 2014-01-21 15:42:44 +00:00
okan
83b0cbf116 Add a function that adds an entry to a menuq, normalizing a common code
path; from Tiago Cunha.
2014-01-20 18:58:03 +00:00
okan
72ccee09ff use consistent types 2014-01-03 15:29:06 +00:00
okan
9fbf947a27 calculate proper menu width/height on the first Expose event; 'jump' (while using gap) noticed by Christian Neukirchen 2014-01-02 22:49:10 +00:00
okan
d504b54a27 replace with memset 2013-12-17 16:10:43 +00:00
okan
4104232e02 Teach screen_find_xinerama() to apply gap only when told to do so;
adjust callers.  Needed for an upcoming feature.
2013-12-13 22:39:13 +00:00
okan
7459d3af28 When we receive a NotionNotify event, there's no need to (incorrectly
might I add) redraw the top menu selection.
2013-12-02 20:01:19 +00:00
okan
e5072fc220 Always highlight the first menu item (helpful to see selected items when
not using a mouse and therefore not generating Expose/MotionNotify
events); from Thomas Adam.
2013-12-02 19:49:26 +00:00
okan
537fe7febb move Cursors into conf. 2013-06-17 17:11:10 +00:00
okan
1e33cdcb18 stray whitespace 2013-05-20 21:32:00 +00:00
okan
bd38e60d03 - configure menuwin with the screen, then create the xft drawable using
the menu window since that's the only place on which we draw
- elminate the need to change the drawable on every font draw
2013-05-20 20:21:04 +00:00
okan
85d547bcc5 no reason to pass around *sc when it's already in menu_ctx. 2013-05-20 20:04:36 +00:00
okan
ce73dfea93 move the 2 small font helper functions to xutil.c 2013-05-19 23:38:20 +00:00
okan
7f75636e2f - let callers of font_draw figure out (and pass) the color instead of an
'active' flag.
- use strlen() inside of font_draw; the only instance where it wasn't
  used happened to be ignored on a subsequent draw.
2013-05-14 12:35:56 +00:00
okan
6ab8a91ea8 spacing 2013-05-10 16:10:40 +00:00
okan
384bb6c501 border width/color makes sense for some, so put it back 2013-05-07 01:35:41 +00:00