2022-01-09 Mike Small First step to more Windows like alt-tab window selection. (In this case alt is mod4 key instead later to be configurable.) Also hard code the binding as a step towards more limited configuration and more fixed behavior... * src/menus.cc (ExecuteFunction): Change F_WARPRING function to HF_WARPRING to make clear its only used in hard coded commands not from config. Add handling of "reverse" argument to mean to warp along the ring in the reverse order from last key press. (HardCodeSomeKeys): hard coded bindings for mod4-tab, mod4-left, and mod4-right. Should make the modifier key customizable later. * src/gram.y: Remove parsing logic for F_WARPRING. * src/menus.cc (ExecuteFunction): Remove uses of F_WARPNEXT and F_WARPPREV in ExecuteFunction and code for doing this kind of warp. Keep F_WARPRING * src/events.c (HandleButtonRelease): Remove F_CIRCLE{UP,DOWN} as causes for PopDownMenu() call. Still needed by F_REFRESH. * src/menus.cc (ExecuteFunction): Remove calls to XCirculateSubwindows{Up,Down} corresponding to F_CIRCLE{UP,DOWN}. * src/parse.h (F_CIRCLEUP): remove F_CIRCLEUP, F_CIRCLEDOWN, F_WARPNEXT, F_WARPPREV, F_WARPRING tokens. * src/parse.c (keytable): remove f.circleup, f.circledown, f.warpnext, f.warpprev, f.warpring as configure file keywords. 2021-04-03 Mike Small * src/parse.c (keytable): remove function keyword form parse table * src/menus.cc (ExecuteFunction): don't look for custom functions to run * src/gram.y: remove function token and grammar production * man/twmruined.man: remove mention of user-defined functions 2021-02-15 Mike Small * man/twmruined.man: replace a reference to move-or-lower, etc. as user defined functions with equivalent builtins. (values): document the new move-or-... builtins. * src/menus.cc (ExecuteFunction): logic to make f.move-or-lower, f.move-or-raise, and f.move-or-iconify work correctly as builtins instead of user defined functions. 2021-02-13 Mike Small * src/lex.l: allow hyphen in identifiers so that f.move-or-lower, etc. can be the names of builtin functions. 2021-02-03 Mike Small * man/twmruined.man (example): remove move-or-lower and friends from example. * src/deftwmrc.c: move-or-lower, etc. from custom to builtin. 2021-02-02 Mike Small * src/parse.c: f.move-or-iconify, f.move-or-lower, f.move-or-raise keytable entries for new builtins to make up for removal of custom functions. * src/events.h: MOVEDELTA constant where menus.cc and events.c can see it. * src/menus.cc: Make move delta a local hard coded constant and stop using f.deltastop. With move delta always non-zero, code to start the wire frame early is not needed. * src/deftwmrc.c: remove MoveDelta option, f.deltastop, and some default custom functions. * src/system.twmruinedrc: Remove use of f.deltastop Remove the custom functions entirely. Will remove the ability to define functions sooner or later anyway (but bring it back with lisp functions?). Use new builtin functions of same name. * src/screen.h (struct ScreenInfo): remove MoveDelta option * src/parse.c: remove MoveDelta option and DeltaStop function * man/twmruined.man: remove MoveDelta option and DeltaStop function 2021-01-31 Mike Small * src/util.h: Remove zoom option * src/screen.h (struct ScreenInfo): Remove DoZoom, ZoomCount * src/menus.cc (DeIconify,Iconify): Remove zoom effect * src/events.c (HandleMapRequest): Remove zoom option * src/util.c: Remove zoom effect function * src/twm.c (InitVariables): Remove zoom option * src/screen.h (struct ScreenInfo): Remove NoGrabServer member (struct ScreenInfo): Remove zoom option * src/gram.y: Remove ICON_REGION, zoom option * src/menus.cc (ExecuteFunction): Remove nograbserver option * src/events.c (do_menu): ditto * src/system.twmruinedrc: ditto * src/deftwmrc.c: ditto * src/parse.c: ditto and remove IconRegion, Zoom options. * man/twmruined.man: Remove nograbserver, zoom and IconRegion settings. Describe simplified icon placement. * src/util.h: move CreateMenuIcon prototype here * src/add_window.h: C++ compatibility (extern "C") * src/events.h: ditto * src/resize.h: ditto * src/twm.h: ditto and move or remove some functions * README: Mention nograbserver, IconRegion removal, and new iconification behavior. * src/twm.c (InitVariables): remove use of CaseSensitive variable * src/screen.h (ScreenInfo): remove CaseSensitive variable * src/menus.h: C++ compatibility (extern "C"), move GetWMState here * src/menus.cc: convert to C++ (beginning, enough to build) * src/Makefile.am (AM_CXXFLAGS): remove -Wno-logical-op-parenthesis 2019-10-21 Mike Small * src/icons.h: Remove IconUp and IconDown from icons interface and remove callers. * src/icons.cc (PlaceIcon): put first icon in bottom right. 2019-10-12 Mike Small * src/icons.cc (PlaceIcon): stop hard coding the minimum x for icon placement and the placement within that space. I've been negligent with changelog entries. This change goes with a simplification to icon placement and conversion of icons.c to C++. 2019-09-28 Mike Small * remove more vestiges of the icon manager 2017-12-03 Mike Small * src/twm.h and several other files: remove iconmgr functionality. Also drop the sample configuration file directory. These referenced iconmgr settings which I've removed. As more settings go these files would get further and further from their authors' intentions if I were to maintain them. * aclocal.m4: regenerated using aclocal (automake) 1.15.1 on OpenBSD 6.2. export AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15.1 ACLOCAL=/usr/local/bin/aclocal-1.15 /usr/local/bin/aclocal-1.15 -I /usr/X11R6/share/aclocal * configure: regenerated using autoconf 2.69 on OpenBSD 6.2. 2017-09-30 Michael Small * src/Makefile.am (AM_CFLAGS): warnings as errors. * src/menus.c (ExecuteFunction): ptr as const char* to prevent const qualifier discard warnings when passed const char* action. * src/util.c (ExpandFilename): use const char* for arg and return value. (FindBitmap): cast return val of ExpandFilename to char* for bigname. Should be harmless since it's used as constant data up to it being assigned something else. (GetFont): Similar case here but without ExpandFilename being involved. * src/screen.h (ScreenInfo): IconDirectory can be const char* too, avoiding warning in parse.c:771. 2017-09-27 Michael Small Preliminaries: * README: description of fork * ChangeLog.twm: preserve twm's change log at 1.0.9 / 2015-04-16 * README.twm: and original README * configure.ac: new name, version, and url * src/Makefile.am: new name * src/system.twmruinedrc: new name * src/twm.c: new name in one comment * man/Makefile.am: new name * man/twm.man: new name