chros73/rtorrent-ps-ch

Backport temp filter patch only for git version

Closed this issue · 2 comments

Backport (and slightly modify) temp filter patch only for git version.
Refers to: rakshasa/rtorrent#519

Modify also ui_pyroscope_0.9.7.patch as well.

Summary:
By using F key (means capital f) in the main view window you can enter a regex that will be used to filter the current view based on the torrent name.
To remove the filter set the input to empty.
This is adding a 'view.temp_filter' property and a 'match{}' function.
For example with Ctrl+X you could do:
command> view.temp_filter=main,"match={d.name=,.*linux.*iso}"

  • temp filters are view independent (you can set/unset different temp filters per view)
  • you can't sub-filter a view that shouldn't be filtered (started, stopped) (see this)
  • you can sub-filter views that are filtered already (even when filter is triggered frequently)
  • if you only enter a word at filter> prompt it will auto convert it to a proper name filter
  • log messages can be displayed when temp filtering occured
    • disabled by default
    • can be enabled with: view.temp_filter.log.set=1
  • (filtered) word along the name of the view is displayed if a view is temp-filtered (at the top left corner). E.g. [View: active (filtered)]
  • certain views can be excluded from subfiltering via view.temp_filter.excluded config option
    • its default value: "default,started,stopped"
    • example usage in config: view.temp_filter.excluded.set="default,started,stopped,leeching"

Implement @pyroscope's suggestion about having view.temp_filter.excluded config option that allows to exclude certain views from subfiltering.

  • its default value: "default,started,stopped"
  • example usage in config: view.temp_filter.excluded.set="default,started,stopped,leeching"

Also update description of issue.

As @pyroscope suggested: rename ui.console.log.tempfilter to view.temp_filter.log , also update description of issue.