Discussion:
Dialog user setup to highlight interesting threads a bold color
(too old to reply)
bill
2021-05-29 22:58:05 UTC
Permalink
Dialog user setup to highlight interesting threads a bold color.

This is a user setup question, where I'm currently at defaults.
But I want to highlight in red (if possible) threads I care to watch.

When I right click on a thread in the header pane my options are
mark, watch, ignore, keep, delete, mark read, mark unread

What I _love_ is the "mark unread" makes it red in the header pane.
But that red goes away by default when I "read" that thread next time.

I don't want every thread to be red (it can be any obvious bold color).
I just want the few threads I care to watch to be red (or any color).

Red means, by default, "not yet read" in Dialog.
The "watch" is apparently designed to keep tabs on a thread.

That puts an eyeglass icon next to the thread that I want to watch.
Although "keep" or "mark" I guess work as well as does the watch icon.

But I really _like_ how bold the red highlighting of the thread is.
Is there a user model that can boldly highlight wanted threads in red?
(any bold color will be ok)

Regards,
Bill
--
I was going to try to post a joke about sharpening pencils in the dark...
But I couldn't see the point.
Bernd Rose
2021-05-30 07:05:08 UTC
Permalink
Post by bill
This is a user setup question, where I'm currently at defaults.
But I want to highlight in red (if possible) threads I care to watch.
Manually highlighting messages by color usually is done with a dialog
called from Message menu. This involves several steps and is probably
too time-consuming for your needs.

You could score the messages up, define a color combination for messages
with positive score in Scoring&Actions and re-apply Scoring&Actions for
the current group. This could probably be scripted. IMHO, it still is
a somewhat awkward approach, though.

Therefore I suggest you try the following script:

Program ColoredWatch;
Begin
ADo('Watch');
PostKey(82, false, false, false, false, false, false, false, false);
PostKey(66, false, true, false, false, false, false, false, false);
PostKey(89, false, false, false, false, false, false, false, false);
PostKey(65, false, true, false, false, false, false, false, false);
PostKey(79, false, true, false, false, false, false, false, false);
ADoLater('MessageProperties');
End.

The first line just adds a Watch to the current subthread. If you do
not need this, you can delete that line. All other lines stuff the
keyboard buffer with keys to fill the MessageProperties dialog with
suitable values and close it afterwards.

All currently selected messages will get red color on yellow background.
For other colors you need to change 82 (r ... red) and 89 (y ... yellow)
to suitable values. To get blue, for instance, you'd need to send the
PotsKey 66 (b) twice, because the first will select black, while the
second will hit on blue.

Don't mistake the second PostKey line above for sending the letter b.
This line has the second alteration flag set to True, which means the
line sends Alt+b. This is necessary to jump from foreground color entry
field to background color entry.

Accordingly, the fourth PostKey line tries to set "Change all selected
articles" flag by sending Alt+a. This only works, if more than one article
is selected. Else, the key is just omitted.

Unfortunately, the "Changed collapsed folloup's" can not be set in this
manner. Marcus accidentally assigned the shortcut Alt+f to two fields
in this dialog. Without patching the Dialog.exe, (or applying a different
language file) this cannot be changed.

The script is created in the scripting dialog (Settings -> Scripting ->
Scripting) as a new "Custom Script". Do not forget to save it (File
menu) and compile it (Script menu).

If you assign above script to a shortcut like Shift+w, you can change
colors of selected messages with just one keyboard combination. This
can be done with menu Settings -> Configure buttons/shortcuts.

HTH.
Bernd
bill
2021-05-31 17:10:29 UTC
Permalink
Post by Bernd Rose
Manually highlighting messages by color usually is done with a dialog
called from Message menu. This involves several steps and is probably
too time-consuming for your needs.
Thank you for understanding the problem set Bernd, and thank you for the new
ColoredWatch.ds 40tudeDialog script to mark desired threads with custom
colors by pressing the Shift+W keyboard combination on selected headers.

To add to what you already wrote here's my ad hoc "documentation" so that
others who want to add this ColoredWatch feature can follow these steps
(and further improve upon them if needed or if desired).

Please let me know if I made any errors below or if I skipped any steps.
Program ColoredWatch;
// ColoredWatch by Bernd Rose May 30th, 2021
// Dialog Settings -> Scripting -> Scripting -> Custom scripts
// Scripting File -> New script -> ColoredWatch -> OK
Begin
ADo('Watch');
PostKey(82, false, false, false, false, false, false, false, false);
PostKey(66, false, true, false, false, false, false, false, false);
PostKey(89, false, false, false, false, false, false, false, false);
PostKey(65, false, true, false, false, false, false, false, false);
PostKey(79, false, true, false, false, false, false, false, false);
ADoLater('MessageProperties');
End.

Scripting Script -> Compile
Scripting File -> Save
Scripting Script -> Run
Scripting File -> Close

Dialog Settings -> Configure buttons/shortcuts
Commands Categories -> Scripts -> Commands -> ColoredWatch
Commands Shortcut -> Shift+W -> Close

Use model:
In the header pane select the header(s) you want to color different.
Press Shift+W to color the selected headers the default colors.
Default colors are red letters on a yellow highlight background.
If you don't want to "Watch", just press "Shift+W" again.

To undo either run this manually:
In the header pane right click on a header you want to revert back.
In Message Properties -> Set message color you can reset the colors.
Reset Foreground color back to black & Background color back to white.

Or create this script which will set fg text to Black & the bg to White:
Program ColoredWatchUndo;
Begin
ADo('Watch');
PostKey(82, false, false, false, false, false, false, false, false);
PostKey(66, false, true, false, false, false, false, false, false);
PostKey(88, false, false, false, false, false, false, false, false);
PostKey(65, false, true, false, false, false, false, false, false);
PostKey(79, false, true, false, false, false, false, false, false);
ADoLater('MessageProperties');
End.

To set the script for other colors just change the numbers.
For example for setting Red fg text on a White highlight bg:
Program ColoredWatch;
// ColoredWatch by Bernd Rose May 30th, 2021
Begin
ADo('Watch');
PostKey(82, false, false, false, false, false, false, false, false);
PostKey(66, false, true, false, false, false, false, false, false);
PostKey(88, false, false, false, false, false, false, false, false);
PostKey(65, false, true, false, false, false, false, false, false);
PostKey(79, false, true, false, false, false, false, false, false);
ADoLater('MessageProperties');
End.

While some colors (like red) are easy, others (like blue) are confusingly
tricky because to set Blue fg text on White you need to add an extra
"PostKey 66" line because the first "Postkey 66" will select black,
while the second "Postkey 66" will hit on blue.
Program ColoredWatch;
// ColoredWatch by Bernd Rose May 30th, 2021
Begin
ADo('Watch');
PostKey(66, false, false, false, false, false, false, false, false);
PostKey(66, false, false, false, false, false, false, false, false);
PostKey(66, false, true, false, false, false, false, false, false);
PostKey(88, false, false, false, false, false, false, false, false);
PostKey(65, false, true, false, false, false, false, false, false);
PostKey(79, false, true, false, false, false, false, false, false);
ADoLater('MessageProperties');
End.

Regards,
bill
--
Did you know trees poop?
Well, where do you think #2 pencils come from?
Sorry, thats was crappy. I'll leaf now.
bill
2021-06-03 16:32:43 UTC
Permalink
SOLVED

The more I play with this 40TudeDialog in the past weeks the more powerful I
find it to be (so far it does almost everything I need a newsreader to do).

Thanks to Bernd I (and we) have a solution which works perfectly.
1. For any thread(s) I want to keep & highlight I press control+W
2. That adds a keep flag and it sets the font to a deep blue color
3. I can reset either the keep or color manually if I change my mind

// Custom script: coloredWatch.ds by Bernd Rose May 30th, 2021
Program ColoredWatch;
Begin
// Set the "Watch" flag
// ADo('Watch');
// Set the "Keep" flag
ADo('Keep');
// Set the selected message header(s) font color to dark blue
PostKey(66, false, false, false, false, false, false, false, false);
PostKey(66, false, false, false, false, false, false, false, false);
PostKey(66, false, true, false, false, false, false, false, false);
PostKey(88, false, false, false, false, false, false, false, false);
PostKey(65, false, true, false, false, false, false, false, false);
PostKey(79, false, true, false, false, false, false, false, false);
ADoLater('MessageProperties');
End.

Regards,
bill

Loading...