must-haves and like-to-haves

18 views
Skip to first unread message

Gavin Holt

unread,
May 7, 2025, 7:37:01 PMMay 7
to Idealist

Hi,

I am using idealist to collect data, and insert into large boiler-plate HTML documents (my surgical operation notes). This has been very reliable and allows easy modification over time. I do not have much experience in using the admirable searching capabilities of Idealist, my must-haves and like-to-haves reflect my limited use case.

Must-haves
Fully portable

Better to install by extracting a zip file, rather than running an installer. I have been doing it this way for years, and it also works flawlessly on my OneDrive (mapped to a constant drive letter).

Requires a way to use idealist.ini from the application folder, in preference to c:\windows.

Idealist.ini is the only way to set file locations (personal.dic and stopwords.lst) and set flash (splash screen) to zero seconds.

Editor improvements

This could be a never ending wish-list. I have limited myself to current limitations!

Granular Undo

At present undo (CTRL+Z) reverts to the previous version of the whole record! Not so good if I just want to undo a paste in a long text field.

I have hacked the exe to disable Ctrl+Z.

Auto-indent & Lists

I use indented lists a lot! I guess bullet lists and auto numbered lists would also be useful.

Mouse scrolling and scaling

I can get scrolling using autohotkey. As I get older CTLR+Scroll to increase font size is a common action.

Buttons and Hyper-linking

Currently hyper-links and shell commands can be hand made by inserting buttons containing commands e.g

   SearchFind(!Home)


   Run("https://alternativeto.net/software/idealist/")


   Run("F:\\Gavin\\MyPrograms\\APPS\\idealist\\Tree\\ToDo.txt")


Unfortunately these buttons can’t display a label, they look awful and print badly.

Also I would really like to control the current directory in a button:

CDDatabase() Run("ToDo.txt")        -- Fails


Perhaps a new pseudo-field would help:

{@Datapath} Database path and terminal \\

example: "The local todo list is " + {@Datapath} + "Todo.txt"


NB. A setting for Default Browser is also likely to be popular.

Spelling

Spell-check whole record, not just current field.

Right click highlighted miss-spelling to select a suggestions.

Menu and shortcut re-organisation

This is a very subjective and personal subject. Thankfully resource hacker will allow re-jigging of the available menuitems and keyboard accelerators.

My personalised menu is included below:

1 MENU

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

{

POPUP "&File"

{

    MENUITEM "&New...",  1001

    MENUITEM "&Open...\tCtrl+O",  1002

    MENUITEM "Save Copy &As...",  1004

    MENUITEM "&Close\tCtrl+F4",  1005

    MENUITEM "Close &All",  1604

    MENUITEM SEPARATOR

    MENUITEM "&Import...",  1008

    MENUITEM "&Export...",  1009

    MENUITEM "&Print...\tCtrl+Shift+F12",  1010

    MENUITEM SEPARATOR

    MENUITEM "&1",  1020

    MENUITEM "&2",  1021

    MENUITEM "&3",  1022

    MENUITEM "&4",  1023

    MENUITEM SEPARATOR

    MENUITEM "E&xit",  1013

}

POPUP "&Edit"

{

    MENUITEM "&Undo\tCtrl+Z",  1101

    MENUITEM "Repeat\tF12",  1995

    MENUITEM SEPARATOR

    MENUITEM "Cu&t\tCtrl+X",  1102

    MENUITEM "&Copy\tCtrl+C",  1103

    MENUITEM "Copy &Record",  1104

    MENUITEM "&Paste\tCtrl+V",  1105

    MENUITEM "&Yank line\tCtrl+Y", 1131

    MENUITEM "&Goto field...\tCtrl+G",  1407

    MENUITEM SEPARATOR

    MENUITEM "&Find...\tCtrl+F",  1106

    MENUITEM "R&eplace...\tCtrl+H",  1107

    MENUITEM "&Next\tCtrl+F3", 1120

    MENUITEM SEPARATOR

    MENUITEM "Change Case", 1122

    MENUITEM "Reformat\tCtrl+W",  1123

    MENUITEM "&Spelling...",  1109

    MENUITEM SEPARATOR

    MENUITEM "Abbreviations...\tCtrl+A",  1108

    MENUITEM "Expand\tCtrl+Enter",  1121

    MENUITEM SEPARATOR

    POPUP "&Insert"

    {

        MENUITEM "&Date",  1110

        MENUITEM "&Time",  1111

        MENUITEM "&Graphic...",  1112

        MENUITEM SEPARATOR

        MENUITEM "&Pick List Item...",  1118

        MENUITEM "&Vocabulary Item...",  1114

        MENUITEM SEPARATOR

        MENUITEM "&Button...",  1115

        MENUITEM "Button &Command...",  1117

        MENUITEM SEPARATOR

        MENUITEM "&Record Number",  1113

        MENUITEM "&Calculation...",  1116

    }

}

POPUP "&View"

{

    MENUITEM "&Overview...\tCtrl+L",  1303

    MENUITEM SEPARATOR

    MENUITEM "&Next\tGray +",  1301

    MENUITEM "&Previous\tGray -",  1302

    MENUITEM SEPARATOR

    POPUP "&Layout"

    {

        MENUITEM "&New...",  1351

        MENUITEM "&Open...",  1352

        MENUITEM "&Save",  1360

        MENUITEM "Save &As...",  1361

        MENUITEM "&Close",  1353

        MENUITEM SEPARATOR

        MENUITEM "C&reate Type...",  1358

        MENUITEM "De&lete Type...",  1359

    }

    MENUITEM SEPARATOR

    MENUITEM "Op&tions...",  1313

}

POPUP "&Search"

{

    MENUITEM "&Find...\tF5",  1201

    MENUITEM "Find &All\tShift+F5",  1208

    MENUITEM "Find Next &Highlighted",  1997

    MENUITEM SEPARATOR

    MENUITEM "Stac&k",  1340

    MENUITEM "&CrossReference..\tCtrl+R",  1305

    MENUITEM "&Backtrack\tAlt+F5",  1341

    MENUITEM SEPARATOR

    MENUITEM "&Widen...\tF6",  1202

    MENUITEM "&Narrow...\tF7",  1203

    MENUITEM "&Exclude...\tF8",  1204

    MENUITEM SEPARATOR

    MENUITEM "&List Hitwords...",  1206

    MENUITEM "Op&tions...",  1207

}

POPUP "&Hit List"

{

    MENUITEM "&Overview...",  1303

    MENUITEM "&Sort...",  1304

    MENUITEM "&Deduplicate...",  1322

    MENUITEM SEPARATOR

    MENUITEM "&Drop Record",  1504

    MENUITEM "&Mark Record\tGray *",  1505

    MENUITEM "Drop M&arked",  1506

    MENUITEM "Drop &Unmarked",  1507

    MENUITEM SEPARATOR

    MENUITEM "Find All &Children",  1551

    MENUITEM "Find All &Parents",  1555

    MENUITEM SEPARATOR

    MENUITEM "Load From &File...",  1343

    MENUITEM "&Save To File...",  1342

    MENUITEM "&Merge",  1344

    MENUITEM SEPARATOR

    MENUITEM "De&lete...",  1345

    MENUITEM "Op&tions...",  1346

}

POPUP "&Database"

{

    POPUP "&Fields"

    {

        MENUITEM "&Insert...",  1401

        MENUITEM "&Append...",  1402

        MENUITEM "&Split",  1403

        MENUITEM "&Join With Next",  1404

        MENUITEM SEPARATOR

        MENUITEM "&Delete",  1405

        MENUITEM "Change &Type...",  1406

    }

    POPUP "&Record"

    {

        MENUITEM "&Create...\tF2",  1501

        MENUITEM "&Open Template...\tCtrl+F2",  1502

        MENUITEM "&Save Template...",  1503

        MENUITEM SEPARATOR

        MENUITEM "De&lete",  1508

        MENUITEM "Und&elete...",  1509

        MENUITEM "Change &Type...",  1510

    }

    POPUP "&Kinship"

    {

        MENUITEM "&Name Record...",  1511

        MENUITEM SEPARATOR

        MENUITEM "Find &Children",  1551

        MENUITEM "&Beget Child...",  1552

        MENUITEM "&Adopt Child...",  1553

        MENUITEM "Aban&don Child...",  1554

        MENUITEM SEPARATOR

        MENUITEM "Find &Parent",  1555

        MENUITEM "&Imprint Parent...",  1556

        MENUITEM "Aba&ndon Parent...",  1557

    }

    POPUP "&Setup"

    {

        MENUITEM "View &Source\tF9",  1321

        MENUITEM SEPARATOR

        MENUITEM "Define &Fields...",  1408

        MENUITEM "Define &Records...",  1512

        MENUITEM "Define &Toolbar...",  1312

        MENUITEM SEPARATOR

        MENUITEM "Pass&word...",  1011

        MENUITEM "Modify &Synonyms...",  1205

        MENUITEM "&Reindex...",  1007

        MENUITEM "&Delete...",  1006

        MENUITEM SEPARATOR

        MENUITEM "&Properties...",  1014

        MENUITEM "&Options...",  1012

    }

}

POPUP "&Window"

{

    MENUITEM "Tile &Horizontally",  1601

    MENUITEM "&Tile Vertically",  1602

    MENUITEM "&Cascade",  1603

}

POPUP "&Help"

{

    MENUITEM "&Contents",  1701

    MENUITEM "&Search for Help On...",  1702

    MENUITEM "&How to Use Help",  1703

    MENUITEM SEPARATOR

    MENUITEM "&About...",  1704

}

}


This menu uses a modified set of accelerators (note CTRL+Z is removed as above):

11 ACCELERATORS

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

{

    "^A", 1108, NOINVERT

    "^C", 1103, NOINVERT

    "^B", 1123, NOINVERT

    "^F", 1106, NOINVERT

    "^G", 1407, NOINVERT

    VK_H, 1107, NOINVERT, CONTROL, VIRTKEY

    "^I", 1108, NOINVERT

    "^O", 1002, NOINVERT

    "^R", 1313, NOINVERT

    "^V", 1105, NOINVERT

    "^X", 1102, NOINVERT

    "^Y", 1131, NOINVERT

    VK_F1, 1701, NOINVERT, VIRTKEY

    VK_F1, 1910, NOINVERT, CONTROL, VIRTKEY

    VK_F2, 1501, NOINVERT, VIRTKEY

    VK_F2, 1501, NOINVERT, SHIFT, VIRTKEY

    VK_F2, 1502, NOINVERT, CONTROL, VIRTKEY

    VK_F3, 1121, NOINVERT, VIRTKEY

    VK_F3, 1122, NOINVERT, SHIFT, VIRTKEY

    VK_F4, 1991, NOINVERT, VIRTKEY

    VK_F4, 1120, NOINVERT, SHIFT, VIRTKEY

    VK_F5, 1201, NOINVERT, VIRTKEY

    VK_F5, 1997, NOINVERT, CONTROL, VIRTKEY

    VK_F5, 1341, NOINVERT, ALT, VIRTKEY

    VK_F5, 1208, NOINVERT, SHIFT, VIRTKEY

    VK_F6, 1202, NOINVERT, VIRTKEY

    VK_F7, 1203, NOINVERT, VIRTKEY

    VK_F8, 1204, NOINVERT, VIRTKEY

    VK_F9, 1321, NOINVERT, VIRTKEY

    VK_F10, 1986, NOINVERT, ALT, VIRTKEY

    VK_F11, 1999, NOINVERT, VIRTKEY

    VK_F11, 1994, NOINVERT, CONTROL, VIRTKEY

    VK_F12, 1995, NOINVERT, VIRTKEY

    VK_F12, 1002, NOINVERT, CONTROL, VIRTKEY

    VK_F12, 1995, NOINVERT, SHIFT, VIRTKEY

    VK_F12, 1010, NOINVERT, CONTROL, SHIFT, VIRTKEY

    VK_MULTIPLY, 1505, NOINVERT, VIRTKEY

    VK_DIVIDE, 1504, NOINVERT, VIRTKEY

    VK_ADD, 1301, NOINVERT, VIRTKEY

    VK_ADD, 1301, NOINVERT, SHIFT, VIRTKEY

    VK_SUBTRACT, 1302, NOINVERT, VIRTKEY

    VK_SUBTRACT, 1302, NOINVERT, SHIFT, VIRTKEY

    VK_INSERT, 1128, NOINVERT, VIRTKEY

    VK_INSERT, 1103, NOINVERT, CONTROL, VIRTKEY

    VK_INSERT, 1105, NOINVERT, SHIFT, VIRTKEY

    VK_DELETE, 1102, NOINVERT, SHIFT, VIRTKEY

    VK_SPACE, 1909, NOINVERT, CONTROL, SHIFT, VIRTKEY

    VK_RETURN, 1121, NOINVERT, CONTROL, VIRTKEY

}


Limitations

I have had field name collisions, and in general increasing these limits would be very welcome:

  • Size of a field 64,000 characters

  • Size of a record 8 Mbytes

  • Length of field and record names 31 characters

Like-to-haves
Use hunspell dictionaries

One set of dictionaries in my OneDrive!

Change case

Add code to rEVERSE iNADVERTENT uSE OF THE cAPS lOCK kEY.

New Controls

Currently there is no combo-box in idealist. My preference would be a combo-box which filters options like fuzzyfind.



Chris Hurrey

unread,
May 8, 2025, 11:03:10 AMMay 8
to Idealist
Gavin

Good to know someone is still using Idealist and has modified it to iron out some of the quirks. Thanks for the link to Resource Hacker.

Chris

Chris Hurrey

unread,
May 24, 2025, 6:34:27 AMMay 24
to Idealist
Gavin's post got me thinking. Witha bit of clunky coding with Idealist's own programming language you can create psuedo-hyperlinks (click on a word or phrase and the system seraches within the record for the appropriate URL or file path and then runs it) and bullet/numbered points triggered by control buttons in the layout.
Happy to share the code if anyone's interested.

ChrisIdealist_image.JPG
Reply all
Reply to author
Forward
0 new messages