Discussion:
40tude filter
Add Reply
Jim S
2021-07-09 12:27:02 UTC
Reply
Permalink
I wish to create a filter which will markread (!markread) any article which
conatains a specific word. In one of my groups someone posts a weather
report and others reply withn their own. The inital post always contains
the same three letters e.g. ABC followed by the date. I want to mark as
read solely on ABC not the sender.
Any solution or do I just have to go on marking as read every day?
--
Jim S
VanguardLH
2021-07-10 02:36:59 UTC
Reply
Permalink
Post by Jim S
I wish to create a filter which will markread (!markread) any article
which conatains a specific word. In one of my groups someone posts a
weather report and others reply withn their own. The inital post
always contains the same three letters e.g. ABC followed by the date.
I want to mark as read solely on ABC not the sender.
!markread Subject {^ABC}
for any Subject header that starts with ABC starting in column 1.

!markread Subject {^ABC\b}
same as above, but expects a word boundary after the "ABC" string.

To include the date string you say is included means I'd have to see the
format for that substring. However, how many other posts have you seen
that start with "ABC"? Maybe you would just showing an example string,
and "ABC" is not what the Subject header begins with.

You also say "article" instead of header. Are you wanting to search
within a header, or within the body of the message?

Also, do you want replies to the markread article also marked as read,
or leave them marked unread (when new and not yet selected)? Dialog has
an option "watch/ignore works on subthread" to apply the setting not
just to the target article, but also on all replies to that article
(parent and children get similarly flagged); however, that only works
when you flag an article as ignored (!ignore) or watched (!watch).
Jim S
2021-07-13 12:16:02 UTC
Reply
Permalink
Post by VanguardLH
Post by Jim S
I wish to create a filter which will markread (!markread) any article
which conatains a specific word. In one of my groups someone posts a
weather report and others reply withn their own. The inital post
always contains the same three letters e.g. ABC followed by the date.
I want to mark as read solely on ABC not the sender.
!markread Subject {^ABC}
for any Subject header that starts with ABC starting in column 1.
!markread Subject {^ABC\b}
same as above, but expects a word boundary after the "ABC" string.
To include the date string you say is included means I'd have to see the
format for that substring. However, how many other posts have you seen
that start with "ABC"? Maybe you would just showing an example string,
and "ABC" is not what the Subject header begins with.
You also say "article" instead of header. Are you wanting to search
within a header, or within the body of the message?
Also, do you want replies to the markread article also marked as read,
or leave them marked unread (when new and not yet selected)? Dialog has
an option "watch/ignore works on subthread" to apply the setting not
just to the target article, but also on all replies to that article
(parent and children get similarly flagged); however, that only works
when you flag an article as ignored (!ignore) or watched (!watch).
Thanks V
Yes I am talking about text (ABC) in a header. I see you suggest !ignore
rather than !markread (I am set up to only see unread). Is that preferable?
Can you run that bit about not seeing replies to articles I am 'ignoring'
past me again.
--
Jim S
VanguardLH
2021-07-13 16:52:28 UTC
Reply
Permalink
Post by Jim S
Post by VanguardLH
Post by Jim S
I wish to create a filter which will markread (!markread) any article
which conatains a specific word. In one of my groups someone posts a
weather report and others reply withn their own. The inital post
always contains the same three letters e.g. ABC followed by the date.
I want to mark as read solely on ABC not the sender.
!markread Subject {^ABC}
for any Subject header that starts with ABC starting in column 1.
!markread Subject {^ABC\b}
same as above, but expects a word boundary after the "ABC" string.
To include the date string you say is included means I'd have to see the
format for that substring. However, how many other posts have you seen
that start with "ABC"? Maybe you would just showing an example string,
and "ABC" is not what the Subject header begins with.
You also say "article" instead of header. Are you wanting to search
within a header, or within the body of the message?
Also, do you want replies to the markread article also marked as read,
or leave them marked unread (when new and not yet selected)? Dialog has
an option "watch/ignore works on subthread" to apply the setting not
just to the target article, but also on all replies to that article
(parent and children get similarly flagged); however, that only works
when you flag an article as ignored (!ignore) or watched (!watch).
Thanks V
Yes I am talking about text (ABC) in a header. I see you suggest !ignore
rather than !markread (I am set up to only see unread). Is that preferable?
Can you run that bit about not seeing replies to articles I am 'ignoring'
past me again.
With a view that only shows unread messages, how do you manage to follow
a thread you've been watching and read before? Once you read a message,
it would get marked as read, and disappear from your Unread view.

^ABC means:
^ = anchor the string to column one; else, the filter might look for a
substring anywhere in the header. {ABC} would find ABC starting in
column 1, or somethingABCsomething (e.g., crabcake). You said the
article had a Subject header that *started* with ABC, so use the ^
to anchor the string to column 1.

Although the Subject might start with ABC, does that mean it is a word
of just those 3 characters, or there are more characters to the word,
like ABCsomething? If ABC is a word, there is a word boundary after the
string, like a space, tab, or newline. That's why my other suggestion
of ^ABC\b looks for a *word* of ABC at the start of the Subject header
instead of ABCsomething.

Dialog has the ability to apply the ignore or watch flags to subthreads
(replies) of a message. That means if you are filtering out a poster or
topic, you can also filter out any replies to that unwanted message.
That is, if you filter out a message, perhaps you don't want to see any
replies to it, too. However, Dialog only applies the ignore or watch
flags to a subthread. No option to do the same with the markread flag.
If you are firing rules to mark as read a message, do you still want to
see replies to that message? Or arre you unmarking a message just to
keep your eyes from wandering over to an unwanted message?
Jim S
2021-07-13 17:10:59 UTC
Reply
Permalink
Post by VanguardLH
Post by Jim S
Post by VanguardLH
Post by Jim S
I wish to create a filter which will markread (!markread) any article
which conatains a specific word. In one of my groups someone posts a
weather report and others reply withn their own. The inital post
always contains the same three letters e.g. ABC followed by the date.
I want to mark as read solely on ABC not the sender.
!markread Subject {^ABC}
for any Subject header that starts with ABC starting in column 1.
!markread Subject {^ABC\b}
same as above, but expects a word boundary after the "ABC" string.
To include the date string you say is included means I'd have to see the
format for that substring. However, how many other posts have you seen
that start with "ABC"? Maybe you would just showing an example string,
and "ABC" is not what the Subject header begins with.
You also say "article" instead of header. Are you wanting to search
within a header, or within the body of the message?
Also, do you want replies to the markread article also marked as read,
or leave them marked unread (when new and not yet selected)? Dialog has
an option "watch/ignore works on subthread" to apply the setting not
just to the target article, but also on all replies to that article
(parent and children get similarly flagged); however, that only works
when you flag an article as ignored (!ignore) or watched (!watch).
Thanks V
Yes I am talking about text (ABC) in a header. I see you suggest !ignore
rather than !markread (I am set up to only see unread). Is that preferable?
Can you run that bit about not seeing replies to articles I am 'ignoring'
past me again.
With a view that only shows unread messages, how do you manage to follow
a thread you've been watching and read before? Once you read a message,
it would get marked as read, and disappear from your Unread view.
^ = anchor the string to column one; else, the filter might look for a
substring anywhere in the header. {ABC} would find ABC starting in
column 1, or somethingABCsomething (e.g., crabcake). You said the
article had a Subject header that *started* with ABC, so use the ^
to anchor the string to column 1.
Although the Subject might start with ABC, does that mean it is a word
of just those 3 characters, or there are more characters to the word,
like ABCsomething? If ABC is a word, there is a word boundary after the
string, like a space, tab, or newline. That's why my other suggestion
of ^ABC\b looks for a *word* of ABC at the start of the Subject header
instead of ABCsomething.
Dialog has the ability to apply the ignore or watch flags to subthreads
(replies) of a message. That means if you are filtering out a poster or
topic, you can also filter out any replies to that unwanted message.
That is, if you filter out a message, perhaps you don't want to see any
replies to it, too. However, Dialog only applies the ignore or watch
flags to a subthread. No option to do the same with the markread flag.
If you are firing rules to mark as read a message, do you still want to
see replies to that message? Or arre you unmarking a message just to
keep your eyes from wandering over to an unwanted message?
ABC is actually GMB - something like Good Morning Boys followed by the
weather where he is. The replies give the weather wherever the recipient
happens to be.
I gave up Ham Radio once it seemed mainly to consist of weather reports
from other Hams around the world (and my morse code was never good)
So I dont want any header that starts GMB or any reply.
--
Jim S
VanguardLH
2021-07-13 20:43:11 UTC
Reply
Permalink
Post by Jim S
Post by VanguardLH
Post by Jim S
Post by VanguardLH
Post by Jim S
I wish to create a filter which will markread (!markread) any article
which conatains a specific word. In one of my groups someone posts a
weather report and others reply withn their own. The inital post
always contains the same three letters e.g. ABC followed by the date.
I want to mark as read solely on ABC not the sender.
!markread Subject {^ABC}
for any Subject header that starts with ABC starting in column 1.
!markread Subject {^ABC\b}
same as above, but expects a word boundary after the "ABC" string.
To include the date string you say is included means I'd have to see the
format for that substring. However, how many other posts have you seen
that start with "ABC"? Maybe you would just showing an example string,
and "ABC" is not what the Subject header begins with.
You also say "article" instead of header. Are you wanting to search
within a header, or within the body of the message?
Also, do you want replies to the markread article also marked as read,
or leave them marked unread (when new and not yet selected)? Dialog has
an option "watch/ignore works on subthread" to apply the setting not
just to the target article, but also on all replies to that article
(parent and children get similarly flagged); however, that only works
when you flag an article as ignored (!ignore) or watched (!watch).
Thanks V
Yes I am talking about text (ABC) in a header. I see you suggest !ignore
rather than !markread (I am set up to only see unread). Is that preferable?
Can you run that bit about not seeing replies to articles I am 'ignoring'
past me again.
With a view that only shows unread messages, how do you manage to follow
a thread you've been watching and read before? Once you read a message,
it would get marked as read, and disappear from your Unread view.
^ = anchor the string to column one; else, the filter might look for a
substring anywhere in the header. {ABC} would find ABC starting in
column 1, or somethingABCsomething (e.g., crabcake). You said the
article had a Subject header that *started* with ABC, so use the ^
to anchor the string to column 1.
Although the Subject might start with ABC, does that mean it is a word
of just those 3 characters, or there are more characters to the word,
like ABCsomething? If ABC is a word, there is a word boundary after the
string, like a space, tab, or newline. That's why my other suggestion
of ^ABC\b looks for a *word* of ABC at the start of the Subject header
instead of ABCsomething.
Dialog has the ability to apply the ignore or watch flags to subthreads
(replies) of a message. That means if you are filtering out a poster or
topic, you can also filter out any replies to that unwanted message.
That is, if you filter out a message, perhaps you don't want to see any
replies to it, too. However, Dialog only applies the ignore or watch
flags to a subthread. No option to do the same with the markread flag.
If you are firing rules to mark as read a message, do you still want to
see replies to that message? Or arre you unmarking a message just to
keep your eyes from wandering over to an unwanted message?
ABC is actually GMB - something like Good Morning Boys followed by the
weather where he is. The replies give the weather wherever the recipient
happens to be.
I gave up Ham Radio once it seemed mainly to consist of weather reports
from other Hams around the world (and my morse code was never good)
So I dont want any header that starts GMB or any reply.
Sounds like you don't want to see the weathery replies, either.

Settings -> General Settings -> Misc
Watch/Ignore works on subthreads

As mentioned, that option only works when using the watch or ignore
flags, not the markread flag. When enabled, when a rule marks a message
as watched, all replies under it are also flagged as watched.
Similarly, when a rule marks a message a ignored, all replies under it
are also flagged as ignored. That just sets the watch or ignore flag on
a message and all replies to it.

To actually hide those messages and their replies, you have to switch to
the Hide Ignored Messages view (Ctrl+F6). Look under Group -> Message
Views. I actually defined buttons to add to the header pane's toolbar
to switch between views. If you go into Manage Views, the Hide Ignored
view only has the "Not Ignored" attribute set; i.e., only non-ignored
messages are visible. I don't know if Dialog comes with that as a
pre-set view, or if I edited one of the view slots to that name and set
that attribute.

Instead of !markread, use !ignore in your rule. Enable the "works on
subthreads" option. And use a Hide Ignored view by default. Even for
the worst trolls, I don't delete their messages, just hide them. If
someone says something that hints that I've missed something that
someone said that might have value despite their trolling history, I can
quickly click on the All Messages toolbar button to see all those
ignore-flagged messages that disappear under the Hide Ignored view.

You don't have to hide the ignore-flagged messages, but then you'll see
them highlighted as new messages along with any replies to them with the
Ignore flag shown on them. Tis a pity Dialog doesn't have a "Markread
works on subthreads" option, too, but it doesn't, so the only way to
flag (and hide) an unwanted message and its replies (i.e., a subthread)
is to use the ignore flag and use the Hide Ignored view.
Bernd Rose
2021-07-14 16:11:59 UTC
Reply
Permalink
Tis a pity Dialog doesn't have a "Markread works on subthreads" option,
too, but it doesn't, so the only way to flag (and hide) an unwanted
message and its replies (i.e., a subthread) is to use the ignore flag and
use the Hide Ignored view.
Automatic "Markread works on subthreads" would need another flag or an
additional state for the Unread/Read flag. You wouldn't want new messages
in a subthread to become read on load, just because you already read the
first (or any previous) message in that thread, earlier. ;-)

Manual MarkRead does work on /collapsed/ subthreads (for all currently
loaded messages), of course. This can be scripted (commands CollapseThread
and MarkRead). And the script can be assigned to a keyboard shortcut.

Bernd

Loading...