Try this script. Maybe that's already good enough?
function OnInit(initData) {
initData.name = 'AddTabIndex';
initData.version = '2026-05-08';
initData.url = 'https://resource.dopus.com/t/display-index-number-on-the-tabs-add-an-option-to-preferences-folder-tabs-options/59359/2';
initData.desc = 'Add index to tab labels';
initData.default_enable = true;
initData.min_version = '12.0';
}
function AddIndexToTabs(lst) {
var cmd = DOpus.Create().Command();
AddIndex(lst.tabsleft);
if (lst.dual) {
AddIndex(lst.tabsright);
}
function AddIndex(tabs) {
for (var i = 0; i < tabs.count; i++) {
var tab = tabs(i);
cmd.SetSourceTab(tab);
cmd.RunCommand('Go TABNAME');
tab.Update();
var oldLabel = tab.displayed_label;
var newLabel = (i + 1) + ':' + oldLabel.replace(/^\d+:/, '');
if (oldLabel == newLabel) continue;
cmd.RunCommand('Go TABNAME="' + newLabel + '"');
}
}
}
function OnActivateTab(activateTabData) {
// Called when a tab is activated
AddIndexToTabs(activateTabData.tab.lister);
}
function OnOpenLister(openListerData) {
// Called when a new Lister is opened
if (!openListerData.after) return;
AddIndexToTabs(openListerData.lister);
}
function OnActivateLister(activateListerData) {
// Called when a Lister is activated
if (!activateListerData.active) return;
AddIndexToTabs(activateListerData.lister);
}
function OnOpenTab(openTabData) {
// Called when a new tab is opened
AddIndexToTabs(openTabData.tab.lister);
}
function OnAfterFolderChange(afterFolderChangeData) {
// Called after a new folder is read in a tab
AddIndexToTabs(afterFolderChangeData.tab.lister);
}
function OnSourceDestChange(sourceDestData) {
// Called when the source and destination are changed
AddIndexToTabs(sourceDestData.tab.lister);
}
Save EventAddTabIndex.js.txt to ↓
%appdata%\GPSoftware\Directory Opus\Script AddIns