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

Manual scrolling. #34

Closed
3 tasks
Xithrius opened this issue Oct 5, 2021 · 1 comment · Fixed by #104
Closed
3 tasks

Manual scrolling. #34

Xithrius opened this issue Oct 5, 2021 · 1 comment · Fixed by #104
Labels
area: backend Internal enhancements area: frontend Changing how something looks area: keybinds Improvements or additions to keybinds type: enhancement New feature or request

Comments

@Xithrius
Copy link
Owner

Xithrius commented Oct 5, 2021

Implementation:

  • Allow the user to scroll through messages, being with the scroll wheel, up/down arrow keys, and even j or k.
  • When scrolling through messages, the currently selected one should be bold.
  • Allow user and moderator actions on a selected message such as copy and delete (if possible).

There are different users within Twitch, and then subsets of those users. Let's try to find a way to cater to all of them, either through different options in the config file or general-purpose manual scrolling. Given that someone has gone out of their way to download and setup the binary of this program, we can assume that they're most likely willing to either read large chunks of chat or freeze every so often to see if a message really is what they saw.

Implementation suggestions as of now when manual scrolling mode is activated for the chat:

  • The new messages get stored in the VecDeque for later viewing. Once the user exists out of manual scrolling mode (which only gives the previously configured amount of messages backwards, stored in config.terminal.maximum_messages), they get to see the most recent messages as a whole.
  • An amount of config.terminal.maximum_messages / 2 as a floored float are available backwards and forwards (for new messages). Once new messages appear, there are two options:
    • Remove messages from the back of the VecDeque so there's room for new messages.
    • Use a different data structure (if needed) to allow for adjust the amount of messages to be stored in the front, so all new messages are available while only some backwards are.

For channel and user searching, a function will be created to go through the items. The popup window will not expand beyond a certain point.

TODO:

  • Chat
  • Users
  • Channels
@Xithrius Xithrius added type: enhancement New feature or request area: keybinds Improvements or additions to keybinds area: frontend Changing how something looks area: backend Internal enhancements labels Oct 5, 2021
@Xithrius Xithrius self-assigned this Oct 5, 2021
@Xithrius Xithrius added the hacktoberfest Related to the Hacktoberfest event label Oct 5, 2021
@Xithrius Xithrius changed the title Manual scrolling Manual scrolling. Oct 5, 2021
@Xithrius Xithrius removed their assignment Oct 27, 2021
@Xithrius Xithrius removed the hacktoberfest Related to the Hacktoberfest event label Dec 14, 2021
@Xithrius
Copy link
Owner Author

Xithrius commented Feb 16, 2022

This will be implemented in #74.

Now that mouse scrolling has been acquired, this was pushed back to #104.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: backend Internal enhancements area: frontend Changing how something looks area: keybinds Improvements or additions to keybinds type: enhancement New feature or request
Projects
None yet
1 participant