Scripts discussion (3)
- Author
- Message
-
Offline
- Posts: 171
- Joined: Thu Dec 01, 2011 11:15 pm
- Location: Россия
Я правильно понимаю, что прототип скрипта moveResizeWindow.js так и не был доработан?
Или где-то есть обновлённая версия?
Например, вот такая строка
теоретически должна бы отобразить окно Акелпада на правой стороне экрана до границ экрана (100%). На самом деле остаётся заметный зазор в 8-10 пикселей между правой границей окна и правой стороной экрана.
Во всяком случае такое поведение наблюдается в Windows 10 x64.
Или может это у меня ошибка в записи параметров?
Или где-то есть обновлённая версия?
Например, вот такая строка
Code: Select all
"Окно AkelPad вправо" Call("Scripts::Main", 1, "moveResizeWindow.js", `-resize=50%%*100%% -move=right*top`)
Во всяком случае такое поведение наблюдается в Windows 10 x64.
Или может это у меня ошибка в записи параметров?
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
LonerD
Чуть более новая версия тут: https://github.com/Infocatcher/AkelPad_ ... eWindow.js
Но вряд ли она заработает корректно, там только несколько правок с _PtrAdd().
На Windows 7 x86 все нормально работает, проблема где-то в getWorkArea(), по идее.
Чуть более новая версия тут: https://github.com/Infocatcher/AkelPad_ ... eWindow.js
Но вряд ли она заработает корректно, там только несколько правок с _PtrAdd().
На Windows 7 x86 все нормально работает, проблема где-то в getWorkArea(), по идее.
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
-
Offline
- Posts: 171
- Joined: Thu Dec 01, 2011 11:15 pm
- Location: Россия
Похоже на то.Infocatcher wrote:проблема где-то в getWorkArea(), по идее.
Ещё сразу и не заметил - слева и внизу тоже зазор получается.
Через утилиту TCFS2.exe я сделал такое же перемещение окна Тотал коммандера - и та же самая ситуация, между окном программы и краем экрана промежуток.
(Знаю, что в Windows 6.x-10 можно использовать хоткеи Win+Left / Win+Right, но в ХР они не работают, а хотелось бы универсальное решение для всех ОС).
-------------------------------
Просьбы-пожелания для beotiger реализовать (опционально) в скрипте MarkIt.js:
1. Пометки без учёта регистра (жёстко для себя в скрипте я изменил такое поведение, но более гибко было бы, если бы реализовать параметрами).
2. Пометка фразы на нескольких строках (сейчас выделяется только часть фразы на первой строке, а остальное игнорируется). Можно ли такое вообще реализовать или это ограничение плагина Coder?
3. Раскрашивание каждой из выделенных строк в разный цвет (как в скрипте SuperMultiMarker.vbs).
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Занятно. Главное – не понятно, что предполагается делать вместоLonerD wrote:Через утилиту TCFS2.exe я сделал такое же перемещение окна Тотал коммандера - и та же самая ситуация, между окном программы и краем экрана промежуток.
(получить текущий монитор) -> GetMonitorInfo -> MONITORINFO structure ->
Кстати... еще интересно проверить альтернативную ветку кода (она осталась от более ранней версии): если заменитьrcWork
A RECT structure that specifies the work area rectangle of the display monitor, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values.
Code: Select all
var hMonitor = oSys.Call("user32::MonitorFromRect", lpRect, 0x2 /*MONITOR_DEFAULTTONEAREST*/);
Code: Select all
var hMonitor = 0;
Code: Select all
oSys.Call("user32::SystemParametersInfo" + _TCHAR, 48 /*SPI_GETWORKAREA*/, 0, lpRect, 0);
-
Offline
- Posts: 171
- Joined: Thu Dec 01, 2011 11:15 pm
- Location: Россия
Подскажите, пожалуйста, как модифицировать скрипт insertPathToFile.js под современные реалии (под актуальные версии Акелпада и плагинов)?
-------------
-------------
Попробовал - ничего не изменилось.Infocatcher wrote:если заменить...
Вот будут ли в этом случае правильные размеры?
-
Offline
- Posts: 582
- Joined: Mon Apr 08, 2013 9:50 pm
- Location: Win7SP1x64, APx64
Может тебе лучше подойдёт скрипт работающий с любыми окнами?LonerD wrote:(Знаю, что в Windows 6.x-10 можно использовать хоткеи Win+Left / Win+Right, но в ХР они не работают, а хотелось бы универсальное решение для всех ОС).
Хоткеи можно и под себя подстроить...
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
LonerD wrote:Подскажите, пожалуйста, как модифицировать скрипт insertPathToFile.js под современные реалии (под актуальные версии Акелпада и плагинов)?
Только я не понимаю смысла скрипта, в чём разница вариантов друг от друга? Выбираю mp3-файл, а он вставляет в обоих случаях один и тот же путь.
Примеры, которые должны получаться при вызове первого и второго варианта дайте, а я подумаю, как это можно переписать.
-
Offline
- Posts: 171
- Joined: Thu Dec 01, 2011 11:15 pm
- Location: Россия
Drugmix
Спасибо, взял на заметку, добавил в закладки))
VladSh
Спасибо. Работает. Меня интересовал только абсолютный путь.
Разница между вариантами запуска в том, что если вставлять относительный путь в уже открытый файл - то путь берётся относительно этого файла, то есть если выбираемый файл лежит на несколько уровней выше - то вместо пути вставляются ..\..\..\..\..\ (при этом выбираемый файл должен быть на том же диске). Попробовал - вроде работает и такой вариант.
---------------
Возник ещё такой вопрос. Есть простой скрипт, выполняющий VBS через командную строку:
С его помощью можно сделать вот такую команду в меню:
Можно ли эту команду прописать через EvalCmd.js?
Попробовал даже упростить, но всё-равно не работает:
Спасибо, взял на заметку, добавил в закладки))
VladSh
Спасибо. Работает. Меня интересовал только абсолютный путь.
Разница между вариантами запуска в том, что если вставлять относительный путь в уже открытый файл - то путь берётся относительно этого файла, то есть если выбираемый файл лежит на несколько уровней выше - то вместо пути вставляются ..\..\..\..\..\ (при этом выбираемый файл должен быть на том же диске). Попробовал - вроде работает и такой вариант.
---------------
Возник ещё такой вопрос. Есть простой скрипт, выполняющий VBS через командную строку:
Code: Select all
'EvalCmd.vbs
If WScript.Arguments.Count > 0 Then : Execute Replace(Replace(Replace(WScript.Arguments(0), "''", Chr(34)), "??", Chr(34)), "**", "'")
Code: Select all
"Удалить выделенный фрагмент из всего текста" Call("Scripts::Main", 1, "EvalCmd.vbs", `"sSel=AkelPad.GetSelText() : If Len(sSel)>0 Then Call AkelPad.TextReplace(0,sSel,'''',&H00000001 Or &H00200000,true)"`)
Попробовал даже упростить, но всё-равно не работает:
Code: Select all
"Удалить из всего текста" Call("Scripts::Main", 1, "EvalCmd.js", `"AkelPad.TextReplace(0, AkelPad.GetSelText(), '''', &H00000001 Or &H00200000, true)"`)
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
LonerD
Code: Select all
"Удалить из всего текста" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.TextReplace(0, AkelPad.GetSelText(), "", 0x00000001 | 0x00200000, 1)`)
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Я всё равно ничё не понял. На примере можно показать, какой файл и какой получается путь?LonerD wrote:Разница между вариантами запуска в том, что если вставлять относительный путь в уже открытый файл - то путь берётся относительно этого файла, то есть если выбираемый файл лежит на несколько уровней выше - то вместо пути вставляются ..\..\..\..\..\ (при этом выбираемый файл должен быть на том же диске).