karashiiro / karashiiro/TextToTalk
Add Dalamud commands for each EnabledChatTypesPreset created by the user
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 76
- Forks
- 36
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 3
Description
I want to be able to use Dalamud commands for each EnabledChatTypesPreset created by the user.
I have an idea for how this could be useful. I wouldn't type out these commands in the chat GUI, but I would use these commands in various macros to automate a few things before switching from social contexts to solo contexts. It would also help controller/gamepad users map a macro like this to their cross-hotbar to be able to switch between presets from the controller.
One key obstacle in implementing this would be coming up with unique names for the commands. As it is now, I don't think that the plugin checks for duplicate names for presets, so it would first be a good idea to enforce that every preset has a unique name.
Next, we'd want to determine what happens if someone had previously already named two presets the same (unlikely but possible). I'd argue that we should just have it create commands for the first instance of a duplicate name and ignore all other duplicates rather than feeding them all, duplicates included, into a loop to create commands for all of them. I don't know if that would cause a bug now or in the future for Dalamud creating duplicate commands, so it's best to filter for duplicates both on the user's end for new presets as well as for the command generation process.
Another alternative I just thought of is why don't we just put another field in the preset settings window for users to set their own unique command text. That way they can have longer, more descriptive preset names, while having a short, concise command to type. I'm not so keen on this idea though since it just makes the UI more complicated for the user and I don't anticipate users manually typing a command to change presets. But I'm open to feedback from anyone.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the preset settings window and the existing Dalamud command-generation entry point, then trace how user-created presets are stored and loaded. Before implementation, resolve whether names or a separate command field are authoritative and define the expected behavior for duplicate names.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100