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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

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

Attid



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
 
 
Double Commander
Кроссплатформенный (Linux/Windows/Mac OS X/FreeBSD) двухпанельный файловый менеджер с открытым исходным кодом (форк Seksi Commander).
Целью данного проекта является создание файлового менеджера аналогичного по функциональности Total Commander и совместимого с его плагинами. Написан на Free Pascal.
Автор Александр Коблов aka Alexx2000
Лицензия GPL 2
 
Основные характеристики Double Commander:
 
Сайт | Форум | Баг-трекер (старый баг-трекер) | Исходный код
Документация онлайн en и ru (страница на GitHub) | Wiki проекта
 
Список изменений
Список изменений в версии 0.5.5 | то же по-русски, версии 0.5.6 и выше - багофиксы* 0.5.5.
Список изменений в версии 0.6.0 | то же по-русски, версии 0.6.1 и выше - багофиксы* 0.6.0.
Список изменений в версии 0.7.0 | то же по-русски, версии 0.7.1 и выше - багофиксы* 0.7.0.
Список изменений в версии 0.8.0 | то же по-русски версии 0.8.1 и выше - багофиксы* 0.8.0.
Список изменений в версии 0.9.0 | то же по-русски, версии 0.9.1 и выше - багофиксы* 0.9.0.
Список изменений в версии 1.0.0 | на русском, версии 1.0.1 и выше - багофиксы* 1.0.0.
* в основном.
 
Текущая версия: 1.0.11 от 2023.04.02
Страница загрузки (есть portable и 64-битные версии)
Авторский репозиторий для GNU/Linux (CentOS, Debian, Fedora, openSUSE, Ubuntu): Qt5, GTK2
Порт FreeBSD
 
Использование "Ночных сборок":
Последние альфа-билды под Windоws (ссылка официальная, объявлена на оффоруме и wiki)
Для Mac OS X
Авторский репозиторий svn-версии (alpha) для GNU/Linux: Qt5, GTK2
svn-версию под FreeBSD можно попробовать собрать самостоятельно, используя патчи для релиза в папке files

 
Плагины: родные плагины, ещё официальные и сторонние плагины (в т.ч. портированные под Linux/FreeBSD/MacOS), тема Плагины под Linux (в т.ч. кроссплатформенные).
 
Пользовательские сборки Double Commander
 
DC Loader - исправление проблем с мышью и адаптация к работе на планшете, а также несколько дополнительных удобств (только Windows версия)
 
Уменьшение межстрочного интервала в панелях до размера TotalCmd

Всего записей: 77 | Зарегистр. 23-06-2003 | Отправлено: 09:48 03-03-2009 | Исправлено: Skif_off, 21:11 08-03-2024
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли в DC настроить сторонний шрифт, не установленный в системе(полезно для портативности)?
В TC можно настроить через плагин autorun, а в DC?

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 16:05 28-09-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Submachine_Gunner
Через плагин AutoRun?

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 18:59 28-09-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Не смог заставить его "Взлететь".
"Этот файл не является корректным плагином" выдал DC.
Да и специфический очень плагин...

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 21:39 29-09-2018
maK



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

Цитата:
LoadFont [/N] <font name>
Команда, загружающая выбранный шрифт. По-умолчанию шрифт будет доступен только процессу Total Commander, и будет выгружен при его закрытии.
[/N] - позволяет другим приложениям использовать этот шрифт. Имейте в виду, что шрифт станет недоступен после закрытия TC.


Всего записей: 5643 | Зарегистр. 19-12-2003 | Отправлено: 06:05 30-09-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maK
В курсе фичи, DC такого не умеет, к тому же финт Windows, для кроссплатформенного ПО не очень подходит.
 
Плагин хитро запускается и, возможно, слишком плотно завязан на ТС, беглым поиском на оффоруме ничего за AutoRun не нашёл, если только репортить. Или лаунчер попробовать сделать, с AddFontResource и RemoveFontResource внутри, получится как с /N. Если только для DC, с AddFontResourceEx и FR_PRIVATE, то, наверное, придётся влезать в процесс DC...

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 08:51 30-09-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Т.е. на текущий момент решения нет, и вряд ли появится?

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 08:55 01-10-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Submachine_Gunner
Вижу варианты:
- запросить фичу (маловероятно, логичнее вынести такой функционал в плагины);
- написать автору AutoRun с просьбой попробовать сделать его работоспособным и под DC;
- написать свой плагин;
- написать лаунчер для DC.
 
Последний вариант только что проверил - вроде работает. Набросок на AutoIt, будет работать как LoadFont с /N, можно доработать (скрипт в папке DC, шрифт Ubuntu Mono из %COMMANDER_PATH%\font\UbuntuMono-R.ttf).
Можно попробовать любой другой язык, а если сработает winapiexec, то можно и батником или VBScript.

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 18:22 01-10-2018 | Исправлено: Skif_off, 16:55 02-10-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
ответ по буллитам:
Первый - мне кажется есть более приоритетные задачи у автора.  
Второй - плагин обновлен в 2013, вряд ли автор согласится ради одного пользователя адаптировать под DC.
Третий - не силен в программировании.  
Четвертый - попробовал Ваш лаунчер, шрифт в списке DC не появился, ошибок тоже. Как можно оттестировать на чем спотыкается скрипт?
Еще мысль появилась - DC Lua поддерживает, м.б. на нем у Вас есть прототип решения?

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 22:46 01-10-2018
Skif_off

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

Цитата:
Как можно оттестировать на чем спотыкается скрипт?

Файлы лежат так:
%COMMANDER_PATH%\dc-loadfont.au3
%COMMANDER_PATH%\doublecmd.exe
%COMMANDER_PATH%\fonts\UbuntuMono-R.ttf
dc-loadfont.au3 запускаю с помощью AutoIt3.exe из дистрибутива (без инсталляции AutoIt и по идее, должно работать с, как минимум, 3.3.8.1 и выше). Win7x32, DC 0.9 r8353.
Судя по документации, функции доступны на Win2000+, gdi32.dll есть из коробки. Из всего этого, наверное, проблемой может быть сочетание х64 ОС и х32 AutoIt, возможно, на х64 требуется использовать и AutoIt x64, но проверить на х64 ОС нет возможности.

Цитата:
DC Lua поддерживает, м.б. на нем у Вас есть прототип решения?

Напрямую функции можно попробовать вызвать с помощью LuaJIT и FFI (dll'ки в первом сообщении) или с обычным Lua вызывать что-то ещё, ту же winapiexec.
Вариант с FFI предпочтительнее, т.к. для запуска софта в Lua из коробки есть только os.execute(), а с ней под Win будет мелькать окно консоли. У меня с разбегу не получилось, знаний маловато, но, возможно, готовое, аналог или пример с тем же типом парамеров можно найти в доках/примерах для Far (плагин LuaMacro, кажется, или ещё что, использующее LuaJIT).
Но главное: не получится автоматизиовать вызов при запуске DC, придётся каждый раз жать на кнопку/хоткей после запуска и перед закрытием. В принципе, в крайнем случае можно забить на RemoveFontResourceExW: после перезагрузки ОСи загруженный шрифт перестанет быть доступен, почти без последствий (не удастся удалить до ребута), т.к. он не прописывается в системе.

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 01:00 02-10-2018 | Исправлено: Skif_off, 01:00 02-10-2018
Grogan

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

Цитата:
dc-loadfont.au3 запускаю с помощью AutoIt3.exe

 
А откомпилировать в exe ?

Всего записей: 77 | Зарегистр. 01-08-2006 | Отправлено: 08:56 02-10-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grogan
Если скомпилировать, то тоже работает, но, повторюсь, нет возможности проверить на х64 ОС.
 
Добавлено:
Хм, прогон, похоже... Вы хотите попробовать не заморачиваясь? (Сам предпочитаю испльзовать нескомпилированные.) Тогда надо изменить скрипт, чтобы можно было нормально указывать, какой шрифт грузить, сейчас посмотрю.
 
Добавлено позже:
Обновил набросок: добавил использование INI-файла и теперь DC будет в любом случае запущен.
Описание и пример INI-файла в комментарии в начале скрипта. Залил архив пощупать: скрипт, пример INI-файла, скомпилированный скрипт (х32).
 
Submachine_Gunner
Вспомнил про сообщение WM_FONTCHANGE, возможно, дело в нём. Не могли бы вы проверить у себя, заменив

Код:
_WinAPI_AddFontResourceEx($sF)
...
_WinAPI_RemoveFontResourceEx($sF)

на

Код:
_WinAPI_AddFontResourceEx($sF, 0, 1)
...
_WinAPI_RemoveFontResourceEx($sF, 0, 1)

?
Если сработает, поправлю.

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 15:57 02-10-2018 | Исправлено: Skif_off, 17:10 02-10-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Внимательно поработать со скриптом не было возможности, но/:
1. заработал скомпилированный вариант
2. Замена _WinAPI_AddFontResourceEx($sF, 0,0) [изначально было у меня так] _WinAPI_AddFontResourceEx($sF, 0,1) вылезала "Шрифт не может быть установлен"

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 16:40 04-10-2018 | Исправлено: Submachine_Gunner, 16:56 04-10-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Submachine_Gunner
1. Странно, в новой версии изменено получение полного имени шрифта, добавлена проверка его существования, убрано предупреждение и DC запускается в любом случае, а скомпилирован или нет - по идее какой-то разницы не должно быть.
2. Понял, спасибо.
 
 
На всякий случай команды с winapiexec:

Код:
winapiexec.exe gdi32.dll@AddFontResourceExW "C:\Utilities\DC\fonts\UbuntuMono-R.ttf" 0 0
' Запуск DC и ожидание его закрытия
winapiexec.exe gdi32.dll@RemoveFontResourceExW "C:\Utilities\DC\fonts\UbuntuMono-R.ttf" 0 0

можно написать скрипт, например, на VBScript, который есть в Win из коробки.

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 17:55 04-10-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
1. Скорее всего из-за "убрано предупреждение и DC запускается в любом случае", т.к. изначально вылезало предупреждение и дальше не было продолжения.
 
Про VBScript - каким методом запускать команду ?

Цитата:
winapiexec.exe gdi32.dll@AddFontResourceExW "C:\Utilities\DC\fonts\UbuntuMono-R.ttf" 0 0
 
WshShell.Run выдает ошибку, не может найти файл. Сам же DC загружается без проблем.
 
P.S. DC х64 запускается на Windows Server 2012 R2  

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 22:06 06-10-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Submachine_Gunner
Если расположить файлы так

Код:
%COMMANDER_PATH%\launch.vbs
%COMMANDER_PATH%\doublecmd.exe
%COMMANDER_PATH%\utils\winapiexec64.exe
%COMMANDER_PATH%\fonts\UbuntuMono-R.ttf

то так должно работать

Код:
Dim P, R, W, F
 
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
 
' Получаем папку DC и скрипта
P = FSO.GetParentFolderName(Wscript.ScriptFullName)
' Путь к утилите winapiexec
If WshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") = "x86" And WshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITEW6432%") = "%PROCESSOR_ARCHITEW6432%" Then
    W = P & "\utils\winapiexec.exe"
Else
    W = P & "\utils\winapiexec64.exe"
End If
' Путь к шрифту
F = P & "\fonts\UbuntuMono-R.ttf"
' Запуск
R = WshShell.Run("""" & W & """ gdi32.dll@AddFontResourceExW """ & F & """ 0 0", 0, True)
If R = 1 Then
    WshShell.Run """" & P & "\doublecmd.exe""", 1, True
    WshShell.Run """" & W & """ gdi32.dll@RemoveFontResourceExW """ & F & """ 0 0", 0, True
Else
    WshShell.Run """" & P & "\doublecmd.exe""", 1, False
End If

Расширенная версия VBS-скрипта (см. далее в теме).
 
Насчёт AutoIt добавлю: на скомпилированные скрипты антивирусники нередко делают стойку (там ещё и UPX), поэтому может быть практичнее вместо инсталляции просто взять AutoIt3.exe/AutoIt3_x64.exe из официального дистрибутива (с цифровой подписью) и запускать AutoIt-скрипты, например, VBS-скриптом (с автовыбором разрядности). Своеобразная матрёшка, конечно, выходит, зато без нервотрёпки.

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 23:53 06-10-2018 | Исправлено: Skif_off, 16:48 10-10-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Спасибо, ошибка была в пути, символ затерялся.
VBS скриптом работает, буду наслаждаться решением.

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 09:35 08-10-2018 | Исправлено: Submachine_Gunner, 09:36 08-10-2018
Grogan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off , скрипт хорошо бы допилить введя переменную , содержащую "winapiexec.exe" нужной разрядности.

Всего записей: 77 | Зарегистр. 01-08-2006 | Отправлено: 13:22 08-10-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grogan
Согласен, поправил предыдущий пост, заодно вынес путь к winapiexec и шрифту в отдельные переменныые W и F, добавил комментарии  (в VBScript не силён, постольку-поскольку, потому попроще).
Определение разрядности подсмотрел на OSzone.net, проверить на х64 нет возможности.

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 15:35 08-10-2018
Submachine_Gunner



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дано, для примера код кнопки:

Код:
 
DOUBLECMD#TOOLBAR#XMLDATA<?xml version="1.0" encoding="UTF-8"?>
<doublecmd>
  <Program>
    <ID>{AC3EE7E29}</ID>
    <Icon>%COMMANDER_PATH%\Arc\x32\7za.exe</Icon>
    <Hint>Zip Архив из выделения с перемещением с именем файла под курсором с ~Префикс</Hint>
    <Command>%COMMANDER_PATH%\Arc\x32\7za.exe</Command>
    <Params>%?a -sdel -scsUTF-16LE %"0  %/1 "%ds%os~Пр.zip" %"1 @%LWs</Params>
    <StartPath>%COMMANDER_PATH%\Arc\</StartPath>
  </Program>
</doublecmd>
 

Ожидается, что, если выделены в текущей панели файлы 1.doc и 2.doc, а курсор стоит в той же панели на 3.doc, то при нажатии кнопки образуется архив 3.zip, содержащий 1.doc и 2.doc [аналогичная кнопка работает в total commander безотказно].
Однако DC на вход архиватору выдает:  
a -sdel -scsUTF-16LE  "C:\Users\S_G\Desktop\ C:\Users\S_G\S_G\Desktop\1 2~Пр.zip"  @C:\Users\S_G\AppData\Local\Temp\190\_dc~~~\Filelist1413716104.lst
Т.е не ожидаемый параметр  {имя файла под курсором}, а имена выделенных файлов.
Аналогичный вывод (имена выделенных файлов, а не текущего имени под курсором) выдают f,v (в том числе и с s на конце).
Как заставить DC выдавать требуемое - текущее имя под курсором, а не выделенный набор?

Всего записей: 20 | Зарегистр. 29-09-2006 | Отправлено: 21:29 08-10-2018 | Исправлено: Submachine_Gunner, 21:32 08-10-2018
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Submachine_Gunner
DC так не может, если выделено несколько, то берёт всё. Обсуждалось опциональное отключение глобально, добавление %p0 и %f0 для файла под курсором, но пока не реализовано.
 
Временно, наверное, можно попробовать вместо %o воткнуть InputBox с %[запрос;значение].

Всего записей: 6489 | Зарегистр. 28-01-2008 | Отправлено: 21:48 08-10-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru