Flasher писал(а):Да я это уже понял давно. Ну не работает у меня реверс, и всё тут.

Странно... Создал команду:
Код: Выделить всё
[Items]
fs3=run_action(fs) save_undo(fs3_undo), is_style(!&$00C00000) | run_action(fs3_undo)
Запустил два раза:
На первый запуск выполнилась моя fs, тотал перешел в полный экран, оставив только панель инструментов и вкладки (моя
fs их не убирает специально), на второй - все вернулось назад. Работает как из развернутого на весь экран тотала, так и из нормального.
Flasher писал(а):Мне нужно организовать полный откат. При первом нажатии - убрались все кроме вкладок, при повторном всё вернулось, как было.
Кстати, а можно сделать так?: перечисленно несколько компонентов интерфейса; условие: если любой из этих компонентов присутствует, то все их скрыть, если любой из них отсутствует, то все их показать.
Описываю, как сделать так:
если все элементы включены, все выключить, иначе - все включить.
Проверять будем так:
если первый выключен, все включаем, иначе если второй выключен, все включаем, иначе если третий выключен, все включаем, ..., иначе (то есть, все включены) все выключаем. При этом не забываем инвертировать условия. Нам подойдут готовые условия из включающих команд (так как там такая же логика, но для одного элемента). Откат нам построят сами команды включения/выключения, поэтому с ним не заморачиваемся. Да и не нужен он нам с такой командой.
Код: Выделить всё
[Items]
flasher_fs=run_action(my_controls_show), tcini(Layout, DriveBar1, 1) | run_action(my_controls_show), tcini(Layout, TabHeader, 1) | run_action(my_controls_show), tcini(Layout, CmdLine, 1) | ... | run_action(my_controls_hide)
[Actions]
my_controls_show=db1 tt1 cl1 kb1 c1 rm1pm ; и еще что угодно
my_controls_hide=db0 tt0 cl0 kb0 c0 rm1pm ; и еще что угодно
Надеюсь, логику поймешь и допишешь нужные элементы.

Проверяемые элементы и включаемые/выключаемые абсолютно не связаны, могут быть любыми. Запускать:
(то есть, запуск команды
flasher_fs без сохранения действия
undo при выходе)