dwarfmonitor ============ .. dfhack-tool:: :summary: Measure fort happiness and efficiency. :tags: fort inspection jobs units It can also show heads-up display widgets with live fort statistics. Usage: ``enable dwarfmonitor`` Enable the plugin. ``dwarfmonitor enable `` Start tracking a specific facet of fortress life. The ``mode`` can be "work", "misery", "date", "weather", or "all". This will show the corresponding on-screen widgets, if applicable. ``dwarfmonitor disable `` Stop monitoring ``mode`` and disable corresponding widgets. ``dwarfmonitor stats`` Show statistics summary. ``dwarfmonitor prefs`` Show summary of dwarf preferences. ``dwarfmonitor reload`` Reload the widget configuration file (``dfhack-config/dwarfmonitor.json``). Widget configuration -------------------- The following types of widgets (defined in :file:`hack/lua/plugins/dwarfmonitor.lua`) can be displayed on the main fortress mode screen: ``misery`` Show overall happiness levels of all dwarves. ``date`` Show the in-game date. ``weather`` Show current weather (e.g. rain/snow). ``cursor`` Show the current mouse cursor position. The file :file:`dfhack-config/dwarfmonitor.json` can be edited to control the positions and settings of all widgets. This file should contain a JSON object with the key ``widgets`` containing an array of objects: .. code-block:: lua { "widgets": [ { "type": "widget type (weather, misery, etc.)", "x": X coordinate, "y": Y coordinate <...additional options...> } ] } X and Y coordinates begin at zero (in the upper left corner of the screen). Negative coordinates will be treated as distances from the lower right corner, beginning at 1 - e.g. an x coordinate of 0 is the leftmost column, while an x coordinate of -1 is the rightmost column. By default, the x and y coordinates given correspond to the leftmost tile of the widget. Including an ``anchor`` option set to ``right`` will cause the rightmost tile of the widget to be located at this position instead. Some widgets support additional options: * ``date`` widget: * ``format``: specifies the format of the date. The following characters are replaced (all others, such as punctuation, are not modified) * ``Y`` or ``y``: The current year * ``M``: The current month, zero-padded if necessary * ``m``: The current month, *not* zero-padded * ``D``: The current day, zero-padded if necessary * ``d``: The current day, *not* zero-padded The default date format is ``Y-M-D``, per the ISO8601_ standard. .. _ISO8601: https://en.wikipedia.org/wiki/ISO_8601 * ``cursor`` widget: * ``format``: Specifies the format. ``X``, ``x``, ``Y``, and ``y`` are replaced with the corresponding cursor cordinates, while all other characters are unmodified. * ``show_invalid``: If set to ``true``, the mouse coordinates will both be displayed as ``-1`` when the cursor is outside of the DF window; otherwise, nothing will be displayed.