Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create gui/tooltips.lua: show info (f.e. job name) at units and/or mouse cursor #1365

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

TymurGubayev
Copy link
Contributor

image

The script shows some info (currently: name of the job) in tooltips (sort of...) following units and or mouse (see screenshot).

@myk002
Copy link
Member

myk002 commented Jan 6, 2025

I am intrigued and delighted : )

@myk002
Copy link
Member

myk002 commented Jan 6, 2025

Let me finish reviewing DFHack/dfhack#4959 so getUnitsInBox no longer returns inactive units

image

@@ -0,0 +1,281 @@
-- Show tooltips on units and/or mouse

local RELOAD = false -- set to true when actively working on this script
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, devel/clear-script-env has the same effect:

multicmd devel/clear-script-env gui/tooltips; gui/tooltips

gui/tooltips.lua Outdated Show resolved Hide resolved
:tags: fort inspection

This script shows "tooltips" following units and/or mouse with job names.

Copy link
Member

@myk002 myk002 Jan 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs disclaimer that tooltips will show over any vanilla UI elements:
image

The dig ascii overlays suffer from the same problem. I don't know of any good solution here. I'm not saying that any behavior needs to change -- just needs to be documented.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added an **IMPORTANT NOTE** at the beginning of the description text

docs/gui/tooltips.rst Outdated Show resolved Hide resolved
:summary: Show tooltips with useful info.
:tags: fort inspection

This script shows "tooltips" following units and/or mouse with job names.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs more description of the two options and their effects.

Copy link
Contributor Author

@TymurGubayev TymurGubayev Jan 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added a bit of clarification...
It's kind of hard to describe though

gui/tooltips.lua Outdated Show resolved Hide resolved
gui/tooltips.lua Outdated Show resolved Hide resolved
gui/tooltips.lua Outdated Show resolved Hide resolved
gui/tooltips.lua Outdated Show resolved Hide resolved
gui/tooltips.lua Show resolved Hide resolved
@myk002
Copy link
Member

myk002 commented Jan 6, 2025

Btw this PR has started some discussion on the Discord server where your input would be valuable: https://discord.com/channels/793331351645323264/807444515194798090/1325754489659195502

Copy link
Member

@myk002 myk002 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My feedback:

  • this would be better as a fullscreen overlay that could be toggled via a keybinding bound to dwarfmode/Default and dungeonmode/Default (file). It could also be toggleable from gui/tooltips (which becomes just the configuration interface instead of the rendering mechanism). I don't want to promote leaving a windowed DFHack tool on the screen indefinitely because of Prevent crash if DFHack GUI window is open when exiting fort dfhack#4183
  • the enabled state should be managed by the overlay framework. this means that whether the tooltips are displayed is a per-player global setting. The tooltip behavior/contents configuration would likewise be global, stored in dfhack-config/tooltips.json

There were some reservations about the name gui/tooltips -- I'll get more feedback from people about that on Discord.

not required for this PR but maybe consider as a future enhancement:

  • the configuration for which elements to display could be a matrix of checkboxes so players could choose any combination of information for the tooltip and the mouseover.

@TymurGubayev
Copy link
Contributor Author

  • the configuration for which elements to display could be a matrix of checkboxes so players could choose any combination of information for the tooltip and the mouseover.

is there a CheckBox control, or what should I use for this?

@myk002
Copy link
Member

myk002 commented Jan 15, 2025

There isn't a super convenient widget for that yet, largely because every place I've needed toggle checkboxes so far, they've been in a list (which doesn't take widgets). See gui/control-panel or maybe the prototype code in gui/manipulator for examples of the list-based approach. You could likely reuse the graphic assets and just slap them on a Label for a non-List option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants