This not working has caused a lot of confusion. Not only is -f not necessary,
but the implementation is worse than just allowing flags after the program.
Deprecate the -f flag. Stop evaling a string; build an array of program options
instead.
Addresses various issues: #6, #17, #52, etc.
- Prefer builtins where possible
- Use builtin math for percent_of_total
- Use parameter expansion instead of awk where possible
- Query specific property that want for xprop instead of using awk
- Avoid extra call to get_window_manager
- Use xrandr's --current flag (doesn't poll for hardware changes; ~0.01 second vs. 0.075 seconds on my comupter)
- Get current monitor name from bspc directly without parsing
Addresses #36.
- fix hook/command options in manpage
- add new flags to manpage
- stop escaping unnecessarily escaping "-"
- Remove description from program help text (have only in manpage)
- change --subtract-when-same to --no-subtract-when-same (no longer
takes an arg); remove unnecessary relate if/elseif/else
- add "map" to the pre/post float command long options
- silence ignorable shellcheck warnings
- "=" is no longer required with long options, so remove that warning
The user now has complete control over everything -a alters.
All checks for the -a flags are now done in the helper functions.
"is_floating" is now always defined and will return 1 if the window is
not floating. Fix the float checks in mapping functions. Get rid of
separate "dec_fix_auto" variable.
- Get rid of old method for -a; now mapping the window will always be
combined with resetting its size and location; this may not be
necessary, but in those cases, it won't cause any harm; this means
that there is no reason to differentiate between window managers that
move or resize windows as this possibility will always be taken into
account
- Don't record last monitor and check to see whether a geometry change
is necessary; just always fix the geometry (same reasoning as previous
point; there is no significant overhead)
- Finish transition to new "hooks" (pre/post create/float/map/unmap)
- Make the naming of the hook variables consistent (pre/post first)
- Make wid and class global variables
- Add --wm and --class options (wm option may only be useful in limited
circumstance since most settings are now very specific to their wm;
this may change in the future or this setting may be useful in the
possible case that a similar fork of a wm has a different name)
- Switch to org style headings
Still needs to be done:
- further testing
- documentation (help, readme, manpage)