…ings, plus a dot, plus the trailing 0
Modeline for vim to keep code formatting consistent
Using the XResourceManagerString unchecked caused a segfault. This happens when Xresources are not loaded, e.g. using xrdb.
Configuration values can now be specified as X resources (e.g. ~/.Xdefaults, xrdb -load ~/.Xdefaults, man 1 xrdb). Name or Instance is 'simpleswitcher', Class is 'Simpleswitcher'. Possible values are: key dkey width lines font foreground background alternatebg highlightfg highlightbg bordercolor release startindex borderwidth opacity E.g.: Simpleswitcher.key: F12 Simpleswitcher.width: 50 etc.
We need to know the type of the value to process it properly on parsing. Passing the values as addresses is necessary because num and str need to be compile time constants for assigning them in the array.
The values are now assigned at compiled time. Hence it is not necessary anymore to check for valid command line values at runtime and assign the default value if necessary. Now it is sufficient to assign a new value only if there actually is one. This is also some preliminary work for other sources of configuration values.
Don't force tabstop and shiftwidth on users, these are individual settings.
Options modifier+Key window/workspace switching behaviour like the common Alt-Tab (i.e. commit selected change on modifier release)
Need to invert value to make the disabled state the default case.
For specifying which item gets selected first when calling simpleswitcher.
Retains the old behaviour if keys without modifier are used.
* Works only when a modifier key is specified, e.g. mod1+Tab, otherwise normal old behaviour * Pressing modifier + key will pop up simpleswitcher, holding down modifier and repeatedly pressing key will cycle through the list Upon release of modifier the selected entry will be focused * Hitting Escape once turns of the release action. Now entries can be filtered by typing, programs can be started or entries can be cycled through again * Hitting Escape a second time aborts simpleswitcher without any action
Since maximally 8 keycodes per modifier are allowed, a loop free painless macro can be used instead.
Those keys can be found using XGetModifierMapping(). Keycode * keycodes parameter serves as return parameter for later use of modifier keycodes.
Leave grab_key stub in place for compatibility with existing code. grab_keycode() can now be used by other functions (particularly grab_modifier().
The menu items appear always in the same order. Therefore selecting the second item (0-based list) appears to be a bit arbitrary, as it is sometimes the currently focused window, the next window or some other window.
Array elements where free'ed but not the array itself.