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

TUI for channels list with search and filter functions #1972

Closed
nsklaus opened this issue Jun 27, 2023 · 6 comments
Closed

TUI for channels list with search and filter functions #1972

nsklaus opened this issue Jun 27, 2023 · 6 comments
Assignees
Labels
feature New feature request
Milestone

Comments

@nsklaus
Copy link

nsklaus commented Jun 27, 2023

Feature description

a new TUI that would present output of /list but with functionalities to search and filter results.

this is to allows easier channels discoveries without having to re-issue a /list command or a /msg to alis each time we want to search for a new keyword. for example, i may want to have a buffer, with all channels listed and i could want to perform many different search queries:

  • searching for channels with string "games" in their names
  • searching for channels with string "games" in their topic lines
  • list only channels with less than 10 users or similar searches related to user numbers (less than, greater than)

this is similar to how fset buffer filters out results based on a string entered (if i type in "looks" it will then list only settings that have "looks" as part of their names). listbuffer.py plugin was going is the right direction in creating what this feature request propose, but it never got around finishing these planned features (iirc).

so the big idea of this is to issue /list command only once. and then be able to perform all kind of searches and filter on the output, to enjoy navigate nicely through it. avoid hammering the server with tons of /list and have a nice channels explorer in weechat like most graphical client do.

@nsklaus nsklaus added the feature New feature request label Jun 27, 2023
@flashcode flashcode self-assigned this Jul 14, 2023
@flashcode flashcode added the in progress Someone is working on this issue label Jul 14, 2023
@flashcode flashcode added this to the 4.1.0 milestone Jul 14, 2023
@nsklaus
Copy link
Author

nsklaus commented Jul 23, 2023

there's a little bug about the /list ui, when a channel is selected in the list, and we scroll away, the selection mark show something new selected on each new page being scrolled.
the selection mark should stay where it is when we scroll away, we shouldn't see the selection mark anywhere until we scroll back to where we were.
it's acting like a sticky selection marker that follows while we scroll.

@flashcode
Copy link
Member

@nsklaus: could you please describe the steps to reproduce this bug?

@nsklaus
Copy link
Author

nsklaus commented Jul 24, 2023

yes,

  • open a /list,
  • select any channel (by defautl the first one is selected)
  • scroll down the list
    you will see the selection marker followed you when you scrolled.

for example:
open a /list, select 3rd channel (whatever, let's says it's called #channel123 ), then i scroll 2 pages down the list. now, i still see selection marker on screen and that is bad. i should not be able to see it, it is supposed to have stayed 2 page up, on #channel123)

@nsklaus
Copy link
Author

nsklaus commented Jul 30, 2023

following the discussion in #weechat, about /fset and /list having similar behavior related to scrolling and selection marker:

this is not exactly the same behavior as in fset
in fset, scrolling make the selection marker to go down, and once it reaches end of page, then the whole buffer move up (if you continue scrolling), in contrast, in /list, scrolling does not immediately move selection marker up or down, like it does in fset, in /list, when scrolling the whole buffer move up and down immediately, not touching the selection marker, then once we reach end of buffer page, then the selection marker get attracted by the change of page, it keeps its original position it has on the previous buffer, (ex: 7th line) and just reproduce it on the new page it place section marker at line 7

@flashcode
Copy link
Member

@nsklaus: problem is now fixed.

For people who want to try out this new feature, it's on this separate branch: https://github.com/weechat/weechat/tree/irc-list-buffer

@flashcode flashcode removed the in progress Someone is working on this issue label Aug 12, 2023
@flashcode
Copy link
Member

Merged to master branch.

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

No branches or pull requests

2 participants