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
Jim S
2021-09-06 12:30:41 UTC
Reply
Permalink
Post by VanguardLH
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.
It's been two months since I looked at this thread.
FWIW your suggestion of "!ignore Subject {^GMT}" never did work as today's
weather report "GMT Monday 6th September 2021" popped up as ever. Only the
day changes :(
--
Jim S
Larry
2021-09-06 13:21:17 UTC
Reply
Permalink
Post by Jim S
It's been two months since I looked at this thread.
FWIW your suggestion of "!ignore Subject {^GMT}" never did work as today's
weather report "GMT Monday 6th September 2021" popped up as ever. Only the
day changes :(
Have no idea why your filter isn't working, because it looks like it
should work. Are you sure it's being applied to the right newsgroup?

Personally I'd go for something simpler and more inclusive.
!markread Subject gmt

and refine from there if needed. For example,
[*]
!markread Subject "GMT "

The Reference section of help file covers "Scoring/Action Syntax" pretty
well.
Digest it.
Play with your filters (most everything you do with a filter can be
reversed by a similar but opposite filter).
Wash, rinse, repeat until you're happy.
Bernd Rose
2021-09-06 16:25:31 UTC
Reply
Permalink
[...]
Post by Jim S
Post by VanguardLH
Sounds like you don't want to see the weathery replies, either.
Settings -> General Settings -> Misc
Watch/Ignore works on subthreads
[...]
Post by Jim S
Post by VanguardLH
when a rule marks a message a ignored, all replies under it
are also flagged as ignored.
[...]
Post by Jim S
Post by VanguardLH
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.
[...]
Post by Jim S
Post by VanguardLH
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.
[...]
Post by Jim S
It's been two months since I looked at this thread.
FWIW your suggestion of "!ignore Subject {^GMT}" never did work as today's
weather report "GMT Monday 6th September 2021" popped up as ever. Only the
day changes :(
I don't think, you really tuned all your settings and filter rules according
to the settings VanguardLH suggested. I cited some of the most relevant ones
for your usage scenario: Filtering all messages that start with "GMB" with
a following word boundary and all replies to such messages. (If I interpret
your requirements correctly.)

Provided, you set above mentioned option "Watch/Ignore works on subthreads",
you probably want:

!ignore,markread Subject {^GMB\b}

Please note, that I used ignore *and* markread. - To mark the first message
of the thread as read and exempt this message and all following ones from
automatically loading bodies. All following (= ignored) messages will also
be marked as read. But not because of the "markread" entry in the action
rule. Ignore automatically marks follow-ups as read. (Just not the initial
message.)

If you do not want to see ignored and/or unread messages, you need to
activate an appropriate view, as well. (As VanguardLH already suggested.)

If this doesn't work, post a Message-ID to an example (or post the whole
Subject line of an example), post the Scoring&Action rule and explain, what
you expect from that rule and what the (differing) outcome is. Also check,
that you wrote the Scoring&Action rule inside a Scoring&Action section, that
really matches the appropriate group name.

Bernd
Jim S
2021-09-06 20:47:25 UTC
Reply
Permalink
Post by Bernd Rose
[...]
Post by Jim S
Post by VanguardLH
Sounds like you don't want to see the weathery replies, either.
Settings -> General Settings -> Misc
Watch/Ignore works on subthreads
[...]
Post by Jim S
Post by VanguardLH
when a rule marks a message a ignored, all replies under it
are also flagged as ignored.
[...]
Post by Jim S
Post by VanguardLH
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.
[...]
Post by Jim S
Post by VanguardLH
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.
[...]
Post by Jim S
It's been two months since I looked at this thread.
FWIW your suggestion of "!ignore Subject {^GMT}" never did work as today's
weather report "GMT Monday 6th September 2021" popped up as ever. Only the
day changes :(
I don't think, you really tuned all your settings and filter rules according
to the settings VanguardLH suggested. I cited some of the most relevant ones
for your usage scenario: Filtering all messages that start with "GMB" with
a following word boundary and all replies to such messages. (If I interpret
your requirements correctly.)
Provided, you set above mentioned option "Watch/Ignore works on subthreads",
!ignore,markread Subject {^GMB\b}
Please note, that I used ignore *and* markread. - To mark the first message
of the thread as read and exempt this message and all following ones from
automatically loading bodies. All following (= ignored) messages will also
be marked as read. But not because of the "markread" entry in the action
rule. Ignore automatically marks follow-ups as read. (Just not the initial
message.)
OK I will try that.
It is only the one group that keep sending weather reports in the form I
stated.
Every group I use only displays unread messages, so if the filter works I
might never know :)
Post by Bernd Rose
If you do not want to see ignored and/or unread messages, you need to
activate an appropriate view, as well. (As VanguardLH already suggested.)
If this doesn't work, post a Message-ID to an example (or post the whole
Subject line of an example), post the Scoring&Action rule and explain, what
you expect from that rule and what the (differing) outcome is. Also check,
that you wrote the Scoring&Action rule inside a Scoring&Action section, that
really matches the appropriate group name.
Bernd
--
Jim S
Bernd Rose
2021-09-06 21:36:21 UTC
Reply
Permalink
Post by Jim S
Every group I use only displays unread messages, so if the filter works I
might never know :)
Right mouse menu on such a message -> Mark Unread. Afterwards, select
"Apply Scoring and Actions on selected group" from menu Group. The
unread message should be marked read, again.

Bernd

VanguardLH
2021-09-06 19:54:51 UTC
Reply
Permalink
It's been two months since I looked at this thread. FWIW your
suggestion of "!ignore Subject {^GMT}" never did work as today's
weather report "GMT Monday 6th September 2021" popped up as ever.
Only the day changes :(
You have to be careful where you define filters. There is the global
section that will apply a filter across all newsgroups. There can be
newsgroup sections that apply a filter on only 1, or a few, newsgroups.
That is, you can decide if a filter is global, or newsgroup(s) specific.

In your list of filters, how many lines are of the format (starting in
column 1):

[<newsgroup>[ <newsgroup[ ...]]]

newsgroup can be a specific newsgroup name, or can contain masking
characters. Multiple newsgroups (as a specific name or masked) to
delineate a section of filters are separated by a space.

[*]
filter1
[news.software.reader]
filter2
[alt.comp.computer alt.comp.hardware]
filter3
[*]
filter4

Filter1 will get applied to messages in all newsgroups. Filter2 gets
applied against messages only in the news.software.reader newsgroup.
Filter3 applies only within the alt.comp.computer and alt.com.hardware
newsgroups. Filter4 applies against all messages. Seems you could put
filter4 at the top in the global newsgroup mask, but sometimes for
organization of messages you want some rules separated. I do that at
the end to detect messages in *.test newsgroups only from me (I
ignore-flag all other messages), so I don't have to look at all the
other test messages from other posters. I also place rules trying to
detect someone forging as myself at the end, but want the rule applied
to all newsgroups. The [newsgroup] delineates under which newsgroup(s)
a filter is applied. When viewing your filters, how many lines are
there that identify the newsgroup range?

To test if a regex will work, Dialog has its own regex tester. You can
access it when viewing filters, or use Help -> Regular expression
tester. I just opened the tester dialog and entered:

Regular expression: ^GMT\b
Match on: GMT Monday 6th September 2021

and it worked. The \b tests on a word boundary, like whitespace or a
newline following the "GMT" string. "GMTARK" won't match, but "GMT "
will. The ^ anchors the string to the start of the line (column 1).
"GMT " will match, but " GMT" will not. However, ^\s*GMT\b would
match on " GMT ", because \s* tests on zero, or more, leading
whitespace characters. Use the regex tester to check if your regex is
valid, and will match on the string you expect.

Also, my rule sets the Ignore flag on the matching article. It does not
Delete the message. If you ignore-flag messages, they will still
appear, but with the Ignore flag alongside. Watch and Ignore flags are
just flags. They alone don't make messages disappear. You should be
using a view that hides ignore-flagged messages; else, all you're doing
is flagging the messages, but you'll still seeing them. If you're not
going to use a view to hide ignore-flagged messages, then maybe you
should delete them instead.

Use the Group -> Message Views menu. You'll see a list of pre-defined
views. The one that I have (but this is long after I've customized this
view list) are:

1 - All messages Ctrl+F1
2 - Watched messages Ctrl+F2
3 - Unread non-ignored messages Ctrl+F3
4 - Unread messages with bodies Ctrl+F4
5 - Messages with bodies Ctrl+F5
6 - Hide ignored messages (*) Ctrl+F6
7 -
8 -
9 -
10 -
^___ view name ^___ key combo
^___ view index

(*) My default choice since I ignore instead of delete.

At the bottom of that menu is Manage Views that lets you name the views,
select the attributes of a view, and in which index (slot) the view is
defined. I don't know if Hide Ignored Messages is a view that is
pre-defined, or one that I added, which is:

Name = Hide Ignored Messages
Attributes:
- Not ignored

This view will show not ignored messages (those without the Ignore
flag). This will hide the ignore-flagged messages.

You can either use the menu navigation to change views, or use the
Ctrl+Fn key combo to switch views. I prefer not having to memorize key
combos (that are unique to a program versus those that are common across
most apps), or wade into menus, so I customize the header list pane's
toolbar by adding the following buttons:

Hide Ignored Messages
Show Watched Messages
Show Unread Messages
Show All Messages

Right-click on the toolbar to configure it. For me, I click Group for
the category of the button (remember the views are under the Group
menu), select the view by its index (since that is fixed, not the name
of the view which you can change) which, for me, is view 6 to hide
ignored messages, and drag the View 6 entry up to the toolbar. If you
change the order of views under Manage Views, their index changes. I
think I added Hide Ignored Messages as view 6, because that was
undefined at the time, and I didn't want to change the view indexes of
the pre-defined views. I created the 4 toolbar buttons in the header
list pane. That lets me simply click on toolbar buttons to change the
view.

The problem with deleting messages is that replies to will show up as
new threads. You deleting the original message, but not the replies to
them. If you don't want to see a message, likely you also do not want
to see any replies to them. Delete won't do that. Ignore will let you
do that, but only if you set Dialog to apply the ignore flag to a
message, AND all replies to the message. In the menu:

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

Notice only the watch or ignore flags get propagated to child posts
(subthreads), not the delete (no such flag, just an action). If you
ignore a message, and enable this option, your filter ignore-flagged the
mesage, and the option will apply the ignore flag to all subthreads of
that message. However, unless you use a view to hide ignored messages,
you will still see them, but showing the Ignore flag (if you still have
the Watch/Ignore column displayed).

Also, filters work only on ASCII characters. It is possible to use
UTF-8, or other non-English languages, to encode the Subject (and From)
headers. This allows users to include characters outside the ASCII
charset. Could be Chinese, Italian, or other non-English languages used
for the strings, and those need to get encoded, so the reader's client
will show the decoded string rather than garbage characters.

The client will show you the decoded string in the header when viewing a
message, but if you look at the raw source of the message you might see:

Subject: =?<charset>?<encoding>?<encodedstring>?=

<charset> is the character set used to encode the <encodedstring> using
the <encoding> method. <charset> could be UTF-8, GB2312, or something
else. <encoding> is either B or Q: B for Base64 encoding of the
<encodedstring>, or Q for Quoted-Printable encoding. Not sure what Q
does since B (Base64) is what I've always seen used. You might be
testing on a string in Subject, but you won't find that string in the
header when you look at the raw source of the message.

Alas, I've found trying to get filters to test on the header value by
specifying the encode string doesn't work. The client converts the
string to something presentable to you when you're reading the message,
but that's not the actual value of the header. I've tried testing on
the encoding syntax used in a header, even accounting for escaping any
special characters that would otherwise be interpreted by the regex
parser as regex operators, and it's iffy if Dialog can test on an
encoded header.

When viewing the message, change to the "Raw message" view to see what
is the header's actual value. What you see in the viewing pane may not
be the actual value in the message.
Loading...