Is there already or can you develop TABS

A pleasure: The image shows what the toolbar looks like. It is basically a series of buttons that activates the appropriate tab group when pressed.

Here is the actual button for the first button on the tool bar "Working Images". You should be able to amend it to what you need.
Working Images.dcf (325 Bytes)

Good luck. I found it well worth the effort

Wow, I love it!!
I have added a new toolbar with buttons for all the Directories
How do I set each button to open a saved group of directories...?
Also I wondered if you new of a cool way to make little icons to use...?
I will owe you one after this! :wink:

Obviously the way you use tab groups in Opus depends upon your personal way of working, so it is difficult to give specific advice. All I can tell you is the way I have chosen to do it.

For instance if you look at my toolbar. The first button is called Working Images. This consists of a Tab Group concerned with the editing of images and their storage. Another called NAS Music contains tabs to list all the various music in the categories I have created on my NAS - and so on.

To create a TAB group you go Preferences/Folder Tabs/Tab Groups... and create them there. There is far more about this in the help files than any advice I can offer here. It is an incredibly feature rich system and arguably the best feature of Opus. I recommend you hack into the help files and create your own tab groups as you require. My button shows you how to attach these tab groups to the toolbar.

If you put some careful thought into the creation of your tab groups you can revolutionize the way you work.
This is what the Working Images Tab Group looks like in Preferences. In Preferences I have named it "Photoshop" but I have attached it to the Working Images button on the toolbar.

Each button on your new toolbar would run:

Go TABGROUPLOAD="Name Of Tab Group"

If you can't remember each Tab Group name, Opus will help you create the button.

When editing a new empty button, click on Commands > Go (or just type in Go). Then click on Arguments > TABGROUPLOAD/K. The sub-menu that opens up will display all your Tab Groups for easy selecting.

Using auden's example, he has a button running

Go TABGROUPLOAD="NAS Music"

And another running:

Go TABGROUPLOAD=Photoshop

Thank you both
I have it working and am extremely grateful to you both
Auden - this has revolutionized the way I work!
All my client specific areas now have buttons & an associated set of directories
All the best for now...

Icons are pretty easy to set up. I would create an Iconset. This is a an xml file with some images in a .zip, renamed to .dis.

This file should be stored in folder %APPDATA%\GPSoftware\Directory Opus\Icons. There will be some examples in that folder, Copy the .dis files, and rename it to .zip.

You can find free icons here https://www.iconfinder.com/. Also this might help, but its possibly overly complex how-to-make-your-own-icon-packs.

Once you do this you can use your icons in buttons.

Hi there, I am all setup now with many color coded buttons, each with its own icon - amazing stuff!
I know when I hover button they show as highlighted...
I just wondered if there is anyway to highlight the active button on the toolbar?
Or any other to know which TABGROUP is the one open...

Again - any help would really appreciated.

Hover over the format lock icon in the status bar, that will tell you the active tab group

Not sure this is the best solution (aside from a script). As it's somewhat of a hassle when you add additional buttons (as you'll discover below), but it works for highlighting the last button pressed, with the use of command modifiers. If you have 5 buttons...

Button1

@toggle:if $lst:tabgroup1
@if:!$lst:tabgroup1
@set lst!:tabgroup1=on
@set lst!:tabgroup2
@set lst!:tabgroup3
@set lst!:tabgroup4
@set lst!:tabgroup5
@if:common
Go TABGROUPLOAD="TabGroup1"

Button2

@toggle:if $lst:tabgroup2
@if:!$lst:tabgroup2
@set lst!:tabgroup1
@set lst!:tabgroup2=on
@set lst!:tabgroup3
@set lst!:tabgroup4
@set lst!:tabgroup5
@if:common
Go TABGROUPLOAD="TabGroup2"

Button3

@toggle:if $lst:tabgroup3
@if:!$lst:tabgroup3
@set lst!:tabgroup1
@set lst!:tabgroup2
@set lst!:tabgroup3=on
@set lst!:tabgroup4
@set lst!:tabgroup5
@if:common
Go TABGROUPLOAD="TabGroup3"

and so on...

Remember the first 2 lines need to be incremented by 1 on each new button and the =on portion needs to go down the line by one, as you can see in the above 3 examples.

Basically the variable name being checked on the first 2 lines (tabgroup14 in the below example) the same variable name needs to be set to on while clearing all the others.

If you have more or less buttons in the toolbar you'll need to add/remove additional @set lst!:tabgroup# entries.

So, if you've got 15 buttons in the toolbar each button would require 15 @set lst!:tabgroup# entries counting all the way up to 15.

Button14

@toggle:if $lst:tabgroup14
@if:!$lst:tabgroup14
@set lst!:tabgroup1
@set lst!:tabgroup2
...
@set lst!:tabgroup14=on
@set lst!:tabgroup15
@if:common
Go TABGROUPLOAD="TabGroup14"

The reason you need so many entries is because the @if command modifier can't check the value of the variable, instead it just checks if it's set or not.

Also, depending on how you open your initial lister (after a reboot for example) with say, a lister layout it might display a button highlighted wrong. But if you open the last lister that was closed it should stay on track.

Perhaps someone else will chime in with a easier solution but this is what I've quickly come up with.

Thanks for this guidance.
I will give it a try to see how I get on.
Also if anyone else can come up an easier solution , I'm all ears!
All the best.

Charles

It is often difficult to know just what someone is after . My best guess is that you seem to have clients and each of these clients have several folders relating to matters with which you deal.

If that is the case I assume you have a directory structure like this:

FRED BLOGGS

subdirs

Bills
Payments
Ideas

If you make Tabgroups like

FRED BLOGGS | BILLS | PAYMENTS | IDEAS | etc etc

You will immediately know which tabgroup you are in
And as the example from my Opus installation shows you can tell where you are very easily

There is a command to change the color of any tab from an Opus script, but the problem is how to restore the colour when you leave the tab without some complicated scripting.

You can also display a list of the tabs in the current tab group and the selected tab is marked with a tick.

Unless I have completely misunderstood what you need (and that is quite possible) I feel you may be looking to cure a non-existent problem.

You can also set tab colors for particular folders (optionally including subfolders) via folder formats. With that, everything is automatic.

If you're using a script to change the colors instead, then it's up to the script to change them back as well.

Here is what I have managed with all your help...

What I was hoping to do was to have whichever of the 6 colour buttons I pressed have a border
So that I could tell which set one was active...

Happy to use whatever would make that possible
With a little guidance :slight_smile:

And again - any help would be truly appreciated

@cwcmoore Would something like this work for you?

There are 2 different samples going on here. One on the same toolbar line and one below. It's not built dynamically and would need to be updated manually if you add/remove tab group buttons.

One alternative would be to use the icon to indicate what one was pressed. See @icon. You would need two sets of icons, one set being grey one colour. Set the buttons default icon to the grey one, and when you click the button it would change to a colour one.
The button command would look like this.

@icon:#MyTabIcons:TheColourIcon1,$glob:MyTabIcons+TheColourIcon1

Meaning, Set the button icon to MyTabIcons:TheColourIcon1 if global var MyTabIcons+TheColourIcon1 is set.

To make this work the buttons also need to manipulate some global variables. You would need one global var for each button. Pressing the button would set its variable, and clear all others. So the buttons code is no simpler than @yonder's suggestion.

@leo, would be nice if this worked

@icon:#MyTabIcons:TheColourIcon1,$glob:MyTabIcons+TheColourIcon1="somevalue"

It is interesting.
Please, more explain.

Thank you.

Here is another idea... (like you need one!)
Everytime I leave one of my tabs at the top
i.e I move from Downloads to Ad-hoc say
I have to save the set folders I have open down the left hand side
I dont suppose this could be automated could it?

Kind regards,
Charles

That should be possible, but I think you will need a custom script.

If you feel like writing a script there are events for things like switching folders and tabs many more. You can then change global variables, Dopus settings, tweak buttons, or run Dopus commands.
Best to start here Scripting.

If I understand what you want correctly it can be achieved in seconds without scripting.
Go the prefs as shown here:

This shows how I have set the colours I want for my tabs

The result is that the tab that is selected appears in a different colour. As shown here:

Obviously you can set your tab colours as you wish. Where there is Opus there is way!

This is a sample using icons. Clicking the button sets a variable, and clears the others. The icon is bound to that variable.

Button A

<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>Tab Group A</label>
	<icon1>#DOpusBasic:drive-a</icon1>
	<function type="normal">
		<instruction>@icon:#DOpusBasic:smiley,$glob:MyTabGroup1</instruction>
		<instruction>@toggle:if $glob:MyTabGroup1</instruction>
		<instruction />
		<instruction>@ifset:$glob:MyTabGroup1</instruction>
		<instruction> @set $glob:MyTabGroup1</instruction>
		<instruction>@ifset:else</instruction>
		<instruction> @set $glob:MyTabGroup1=true</instruction>
		<instruction> @set $glob:MyTabGroup2</instruction>
		<instruction> @set $glob:MyTabGroup3</instruction>
	</function>
</button>

Button B

<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>Tab Group B</label>
	<icon1>#DOpusBasic:drive-b</icon1>
	<function type="normal">
		<instruction>@icon:#DOpusBasic:smiley,$glob:MyTabGroup2</instruction>
		<instruction>@toggle:if $glob:MyTabGroup2</instruction>
		<instruction />
		<instruction>@ifset:$glob:MyTabGroup2</instruction>
		<instruction> @set $glob:MyTabGroup2</instruction>
		<instruction>@ifset:else</instruction>
		<instruction> @set $glob:MyTabGroup1</instruction>
		<instruction> @set $glob:MyTabGroup2=true</instruction>
		<instruction> @set $glob:MyTabGroup3</instruction>
	</function>
</button>

@auden, that is highlighting the selected tab. I think they want to use Tab Groups, so are creating buttons to do that.