Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » caesar

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
caesar
Небольшая утилита, совмещающая в себе расширенное управление окнами Windows, менеджер горячих клавиш, переключатель раскладки клавиатуры, а также планировщик заданий. CAESAR не имеет графического интерфейса, управляется из командной строки, а все настройки описываются в конфигурационном файле.

 
Вот некоторые возможности программы:

  1. переключение раскладки клавиатуры по клавише Ctrl (или Shift), индикация раскладок клавиатуры с помощью Scroll Lock, Caps Lock, Num Lock;
  2. изменение (через буфер обмена) регистра набираемого текста, его транслитерация и обратная транслитерация, корректировка раскладки клавиатуры;
  3. сворачивание окон в область уведомлений, изменение их прозрачности, перемещение мышью при нажатой Alt, прокрутка содержимого окна под указателем мыши;
  4. выполнение произвольных действий при создании (открытии) окна (запуске приложения);
  5. назначение горячих клавиш на произвольную последовательность действий (управление окном, запуск приложений, скриптов, выход из системы, перезагрузка, эмуляция клавиатуры и мыши);
  6. любые действия при нажатии мышью (прокрутке ролика мыши) на такие кнопки, как «Свернуть», «Развернуть», «Закрыть» и др., а также в произвольных областях экрана;
  7. выполнение определённой последовательности действий с некоторой периодичностью (по расписанию);
  8. ...

Более подробную информацию смотрите сайте программы: http://caesar-09.narod.ru.
 


Текущая версия caesar - 0.9.11 от 25 сентября 2008 г. (zip, 106 КБ или 7z, 78 КБ)
 


23.09.2011. Работа сайта программы восстановлена.
 
12.03.2013. Небольшое обновление caesar. Это не новая полноценная версия; внесенные изменения связаны только с обеспечением совместимости функций работы с громкостью звука в системах старше Windows XP (например, в Windows 7).

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 10:21 29-05-2007 | Исправлено: sandrey, 08:14 12-03-2013
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alt+Tab (как и Alt+F4, Ctrl+Alt+Del) относятся к тем комбинациям, которые запретить весьма затруднительно.
Можно эмулировать нажатие Alt+Tab при нажатии на другую комбинацию, появится окно переключения задач. Но дальше-то что? Ведь это окно видно пока нажата Alt и этого не изменить, а переход к следующей задаче в этом окне все равно происходит при нажатии на Tab.
В общем я попробовал назначить эту функцию на комбинацию, в которой обязательно есть Alt - например Alt+Right, но рабочего варианта не получилось (переключение происходит, но окно со значками задач не исчезает (чтобы исчезло нажмите Ctrl+Alt+Del и Esc)):

Код:
hotkey {
  Key    Alt+Right
  Task {
    Sendkeystroke Tab
  }
}

 
Могу предложить следующий работающий вариант (последовательное переключение окон без вывода окна, которое появляется по Alt+Tab):

Код:
hotkey {
  Key    Win+Right
  Task {
    Sendkeystroke rShift+rAlt+Tab
  }
}

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 14:36 16-10-2007 | Исправлено: sandrey, 14:38 16-10-2007
vitaly1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое спасибо
 
Первая комбинация - это как раз то, что хотелось бы получить в результате. Только конечно без "остаточных" иконок окошек. А кроме указанной комбинации их никак не убрать?
 
Что касается второго способа, то он у меня почему-то не срабатывает нормально. Сначала идете переключение, а потом, через несколько окон, прекращается. Иногда 3 окна, иногда 5-6. Но в любом случае без панельнки иконок, как при аль-табе, не очень удобно.
 
Еще один вопросик: можно ли сделать так, чтобы при переключении в любую программу на несколько секунд появлялся флаг той раскладки, которая активна в этой программе? Такая функция есть в Keyboard Ninja, но сама прога у меня работать не хочет - падает через несколько минут работы.

----------
Топик по украинскому языку

Всего записей: 5415 | Зарегистр. 28-08-2004 | Отправлено: 23:04 16-10-2007 | Исправлено: vitaly1, 23:05 16-10-2007
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла новая версия caesar - 0.9.8.
 
Среди изменений:
 
- добавлены команды TaskForLCtrl, TaskForRCtrl,  TaskForLShift, TaskForRShift - теперь нажатием на клавиши Ctrl, Shift можно не только переключать раскладку, но и вообще - выполнять любые действия (в частности выводить ODS-текст с именем раскладки и/или выдавать звуковой сигнал);
 
- добавлена возможность задавать символы в таблицах транслитерации в виде двухбайтовых кодов.
 
Полный список изменений смотрите в файле whatsnew.txt в дистрибутиве программы. Пример написания конфигурационного файла - man/caesar.conf-example.
 
Добавлено:
 

Цитата:
А кроме указанной комбинации их никак не убрать?

Можно. Работает следующий шаманский код:

Код:
mapkey lAlt to lAlt
mapkey rAlt to rAlt
mapkey Tab to Tab
 
hotkey to-next-app {
  Key                      Alt+Right
  Task {
    Sendkeystroke          Tab
  }
}
 
hotkey to-prev-app {
  Key                      Alt+Left
  Task {
    Sendkeystroke          rShift+Tab
  }
}

 

Цитата:
Что касается второго способа, то он у меня почему-то не срабатывает нормально

Не знаю. У меня работает стабильно. Проверял на трех компьютерах. Правда на всех Windows XP SP2. Единственное - это если открыто окно, которое расположено поверх остальных окон, то через раз переключение происходит на него. Но это и по Alt+Shift+Tab так.
 

Цитата:
можно ли сделать так, чтобы при переключении в любую программу на несколько секунд появлялся флаг той раскладки, которая активна в этой программе?

Для этого используйте один или несколько индикаторов из Caps Lock, Num Lock, Scroll Lock. Кроме того, начиная с версии 0.9.8, можно выводить OSD-текст с именем раскладки (полным, двухбуквенным или трехбуквенным) в момент ее переключения. Пример смотрите в файле man/caesar.conf-example.

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 15:44 07-11-2007
vitaly1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sandrey
Спасибо А можно whatsnew выкладывать на сайте отдельно от дистрибутива, чтобы можно было почитать об изменениях, не скачивая для этого всю программу?

Всего записей: 5415 | Зарегистр. 28-08-2004 | Отправлено: 16:04 07-11-2007
vitaly1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Можно. Работает следующий шаманский код

Спасибо, то что нужно!

Всего записей: 5415 | Зарегистр. 28-08-2004 | Отправлено: 18:54 07-11-2007
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sandrey
Добрый день.
Сделал так:

Код:
hotkey ConManFar {
  Key                      Win+1
  Task {
    RunApp                 "C:\Tools\ConMan\conman.exe" "c:\program files\far\far.exe"  
  }
}

Всё работает.
Хотелось бы, чтобы в случае если приложение уже запущено происходил не повторный запуск, а переключение на запущенное приложение. Разумеется опционально.
 
Кстати если активно используется FAR, то советую посмотреть на ConMan (http://forum.farmanager.com/viewtopic.php?t=353)

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 10:26 13-11-2007 | Исправлено: unhappy, 10:39 13-11-2007
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sandrey
Вот цитата из caesar.conf-full

Цитата:
; Количество ожидающих потоков.
; (значение от 0 до 24. по умолчанию - 2)
; Всего программа может выполнять одновременно до 32 задач
; (создавать до 32 потоков).
MaxWaitThread          n

Вопросы:
- потоков 24 или 32?
- для чего эти потоки нужны?
 
Ещё пожелания по RunApp. Если в системе в "пуск" в "выполнить" запустить winword.exe, он нормально запуститься (путь прописан в реестре). В Caesarе же надо указывать полный путь. Не запускает Caesar и ярлыки (lnk) и т.д. Может стоит в RunApp использовать другие, более "системые" методы запуска/открытия файлов (ShellExecute, ShellExecuteEx, etc.)?


----------
Разум когда-нибудь победит

Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 12:03 15-11-2007 | Исправлено: Smitis, 12:26 15-11-2007
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Хотелось бы, чтобы в случае если приложение уже запущено происходил не повторный запуск, а переключение на запущенное приложение.

Возможно реализую в следующей версии. Но работать будет однозначно не везде - см., например, пост выше - пример с Консультантом: запускаем cons.exe, а главное окно программы принадлежит vr330016.res.
 

Цитата:
Вопросы:
- потоков 24 или 32?
- для чего эти потоки нужны?

Предположим, что есть три задачи, которые выполнятся одновременно:
1. пользователь нажал горячую клавишу и по ней начинают выполняться определенные действия;
2. по расписанию запустилась задача с архивацией каких-то данных;
3. по расписанию запустилась еще одна задача (например, отображение текущего времени и/или еще что-нибудь).
Для одновременного выполнения задач caeasr использует потоки. В данном случае нам нужно 3 потока. caesar может создать максимум 32 потока.
Постоянное создание и завершение потоков - это лишний расход процессорного времени и небольшое (неощутимое) замедление запуска задачи. Поэтому caesar может создать несколько потоков сразу (при старте). Ожидающих потоков. Их количество и задается параметром MaxWaitThread. Эти потоки ничего делать не будут. Но как только появляется задача, которую нужно выполнять в отдельном потоке, то такой поток "просыпается" и тут же начинает выполнять ее. Если все ожидающие потоки заняты, то caesar создает новые. Новые он создает, выполяет в них задачу и завершает. Ожидающий поток после выполнения задачи не завершается, а опять переходит в режим ожидания.
Ожидающих потоков может быть максимум 24, а всего одновременно выполняемых (вместе с ожидающими) - 32.
 

Цитата:
Может стоит в RunApp использовать другие, более "системые" методы запуска/открытия файлов (ShellExecute, ShellExecuteEx, etc.)?

Так используйте!  
В этом случае вместо RunApp нужно писать Run. Кроме того, что вы перечислили, будут работать также следующие команды:

Код:
; откроет документ MySuperPuper.doc в редакторе, который у вас открывает файлы DOC (MS Word, Open Office)
Run     MySuperPuper.doc
 
; откроет страницу Яндекса в браузере по умолчанию
Run     http://ya.ru
 
; создаст новое письмо в вашей почтовой программе (Thunderbird, The Bat)
Run     mailto:my-girl@mail.ru
 
; ну и т.п.

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 15:42 15-11-2007 | Исправлено: sandrey, 15:46 15-11-2007
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
к сожалению вернулся на Windows Power Pro + своя программка на 2кб для переключения раскладки по правому CTRL.
причины:  
1. неудобно настраивать через caesar.conf
2. как-то "не так" работает переключение раскладки в терминальных приложениях и RDP. причина мне ясна, но упомянутая выше программа на 2кб с этим справляется в силу того что просто эмулирует CTRL+SHIFT.
3. очень нехватает фишки "Switch to if active" - об этом писал выше.
 
буду наблюдать за развитием и ждать когда же смогу перейти )

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 16:32 15-11-2007
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sandrey
Спасибо, про Run просмотрел...
 
И ещё о потоках, не до конца понял.
- Поток создаётся для обслуживания ввода с клавиатуры для каждого запущенного приложения?
- Если запущенных приложений больше 32 Caesar не сможет со всеми работать?

----------
Разум когда-нибудь победит

Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 17:04 15-11-2007
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как-то "не так" работает переключение раскладки в терминальных приложениях и RDP

Работает нормально, если настроить. Для удаленного рабочего стола Citrix смотрите пример в man/caesar.conf-example.
 

Цитата:
И ещё о потоках, не до конца понял.

Я бы сказал, что совсем не поняли. :)
Поток может создаваться (а может и не создаваться - задача может выполняться в основном потоке приложения) для выполнения команд, написанных в конструкции "task { ... }". А эта конструкция может вызываться из разделов hotkey, job, window. Количество запущенных в Windows приложений никакой роли не играет (хоть сотня). На количество потоков влияет только количество одновременно выполняемых цезарем задач (одновременно выполняемых констукций "task { ... }" и аналогичных ей).
Рекомендуемое значение параметра MaxWaitThread - это его значение по умолчанию - хватает за глаза. :)

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 20:25 15-11-2007
alt76



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sandrey
А можно ли сабжем сделать тригерную переключалку раскладки по типу - при нажатой AltGr (или другой произвольно настраиваемой кпопки) включается англиская раскладка(или включается следующая), при отпускании возвращается та, что была. До программ(или желательно - до системы вообще) инфа о том, что нажата AltGr инфа не должна доходить и опрос состояния AltGr должен возвращать то, что ее никто и не трогал и она не нажата
 
если нельзя, то можно такую фичу реализовать ?

Всего записей: 1260 | Зарегистр. 03-04-2003 | Отправлено: 20:40 15-11-2007
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sandrey
ok. будем посмотреть. очень уж мне размер вашей программы нравится, хотя и понимаю, что в наше время это не так критично )

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 03:39 16-11-2007
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не хочу запускать в цитриксе программу ещё раз. тем более работаю не только в цитриксе но и регулярно через простой RDP и на разных машинах под разными учетками.
 
такой вот код не работает:  

Код:
window citrix {
  FileName                 C:\PROGRA~1\Citrix\ICACLI~1\WFICA32.EXE
  TaskForRCtrl               {
      Sendkeystroke CTRL+SHIFT
      osdText "ruslat"
  }
}

 
попытки использовать
Код:
KeyDown rctrl
KeyDown rshift
KeyUp     rctrl
KeyUp     rshift

ни к чему не привели.
 
и вообще судя по тому, что OSD не выскакивает - кнопка вообще не отлавливается в окне цитрикс клиента.

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 11:25 16-11-2007 | Исправлено: unhappy, 11:54 16-11-2007
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 А можно ли сабжем сделать тригерную переключалку раскладки. ... если нельзя, то можно такую фичу реализовать?

У caesar такой возможности нет.
Реализовать можно (правда скрыть от системы нажатие некоторых клавиш - Alt скорее всего в их числе - не удастся). Но нужно ли реализовывать? Я так понял вы хотите аналогию с клавишей Shift (переключение на верхний регистр), только для переключения раскладки. Но если использование Shift оправдано, т.к. используется в большинстве случаев только для одной буквы или знака, то использование, например, Alt для включения/отключения раскладки вряд ли удобно, т.к. будет использоваться не для 1-3 букв, а для слов от 3-х букв и более. В этом случае куда более комфортным выглядит переключение раскладки одним нажатием клавиши (Ctrl, например).
 

Цитата:
Не хочу запускать в цитриксе программу ещё раз

В Citrix вы фактически работаете на другом компьютере, совершенно в другом окружении. Приложение запущенное на локальном компьютере ничего не знает о том, что творится на удаленном и не может влиять на его окружение. Ваше нежелание поставить в автозагрузку caesar на удаленном компьютере мне не понятно.

Цитата:
работаю не только в цитриксе но и регулярно через простой RDP

Для "Удаленного рабочего стола" Windows можно произвести аналогичную, приведенной в man/caesar.conf-example для Citrix, настройку.
 

Цитата:
такой вот код не работает

Работает. Только не так как вы думаете. Цитата из файла man/caesar.conf-full:

Код:
window [window-name-2] {
  ...
  ; Задача, которая будет выполняться при создании (запуске)
  ; такого окна.
  Task                 task-name
  ...
}

Описанная вами задача сработает при запуске указанного вами файла.
 
p.s.
Для переключения раскладки правильно использовать не
Код:
  SendKeystroke Ctrl+Shift
, а
Код:
  SetKeyboardLayout  to prev layout
.

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 13:30 16-11-2007
alt76



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 Но нужно ли реализовывать? Я так понял вы хотите аналогию с клавишей Shift (переключение на верхний регистр), только для переключения раскладки. Но если использование Shift оправдано, т.к. используется в большинстве случаев только для одной буквы или знака, то использование, например, Alt для включения/отключения раскладки вряд ли удобно, т.к. будет использоваться не для 1-3 букв, а для слов от 3-х букв и более. В этом случае куда более комфортным выглядит переключение раскладки одним нажатием клавиши (Ctrl, например).

меня данная фича интересует в первую очередь ради знаков препинания - которые на русских ХЪЖЭБЮ, т.е. ради одного знака раскладку переключать неудобно

Всего записей: 1260 | Зарегистр. 03-04-2003 | Отправлено: 14:42 16-11-2007
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ваше нежелание поставить в автозагрузку caesar на удаленном компьютере мне не понятно.  

такой вот я загадочный.
 
по факту: если я регулярно подключаюсь на порядка 70 машин с целью немного "порулить" - вы предложите мне на каждую из этих 70 машин поставить вашу программу. делать это я не собираюсь в силу ряда как объективных так и субъективных причин. главная из них - не хочу.
зачем мне иметь схожий функционал на всех машинах на которые я подключаюсь в среднем один раз в месяц на две минуты? банально хочу комфорта. ничего более.
 
значит будем ждать. в паре "PowerPro+kbsw.exe" меня всё устраивает. хотелось поменять две программы на одну, не вышло, ничего плохого.

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 15:09 16-11-2007
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ради одного знака раскладку переключать неудобно

Согласен. Ради одного неудобно.
Но вашу задачу вполне можно решить назначением горячих клавиш. Вот пример для X и Ъ:

Код:
hotkey {
  Key                      Win+[
  Task {
    TypeText               [
  }
}
hotkey {
  Key                      Win+Shift+[
  Task {
    TypeText               {
  }
}
hotkey {
  Key                      Win+]
  Task {
    TypeText               ]
  }
}
hotkey {
  Key                      Win+Shift+]
  Task {
    TypeText               }
  }
}
 

Вместо Win вполне можно и Ctrl.
Можно также набирать символы не в строго английской раскладке (как сейчас), а в противоположной от текущей (если требуется и сами не справитесь - пишите - помогу).

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 15:52 16-11-2007
sandrey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если я регулярно подключаюсь на порядка 70 машин с целью немного "порулить" - вы предложите мне на каждую из этих 70 машин поставить вашу программу.

В этом случае, действительно, нужен другой подход. И, собственно говоря, вы же его и нашли.
Я так понял мы исходим из предположения, что на всех удаленных компьютерах раскладка переключается по Ctrl+Shift (в Windows значение по умолчанию, кстати, - Alt+Shift). Тогда в вашем конфигурационном файле caesar переключение раскладки клавиатуры по Ctrl задайте следующим образом:

Код:
task switch-layout {
  SendKeystroke            Ctrl+Shift
}
 
TaskForRCtrl               switch-layout
TaskForLCtrl               switch-layout
 

При этом раздел "window { ... }", ксающийся клиента Citrix из файла конфигурации уберите, если он там есть (как минимум: уберите из него строчку "XKeyboard off").
Вот и все. Должно работать как на локальном компьютере, так и на удаленных. (caesar в этом случае, естественно, запущен только на локальном).

Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 23:09 16-11-2007
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sandrey

Цитата:
Я так понял мы исходим из предположения, что на всех удаленных компьютерах раскладка переключается по Ctrl+Shift (в Windows значение по умолчанию, кстати, - Alt+Shift).

поскольку на всех этих машинах Windows ставлю я, с одного заранее настроенного образа, то так и есть.
 
Спасибо буду пробовать )

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 11:18 17-11-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Компьютеры » Программы » caesar


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru