Drag-n-Drop — тяни-и-бросай (перетаскивание)

Здесь можно обсудить ваш любимый плагин.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by Alexey Samlyukov »

Latest post of the previous page:

перетаскиваю из одной панели в другую, в которой открыт корень диска, вываливается ошибка: папка "\" не существует.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by Alexey Samlyukov »

и в настройках, в поле Number of pixels to pass before start dragging криво задана маска поля, не могу ввести цифру 10.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

Версия плагина — 3.0.1. На предыдущей стабильной версии Far'а всё работало, поставил сегодня билд 4900 и плагин работать перестал. Выглядит так: захватываю файл, курсор правильно меняет форму, но когда вытаскиваю за границы окна Far'а он меняется на знак "stop" и бросить уже никуда ничего нельзя.

Проверял в обоих версиях x86 и x64. ОС — Windows 10 x64.
User avatar
Freeman
Posts: 35
Joined: Thu 20 Nov, 2014 20:10
Location: Санкт-Петербург
Has thanked: 5 times
Been thanked: 2 times
Contact:

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by Freeman »

А за что отвечает галка "Копировать Проводником". Предполагал, что если она не установлена, копирования происходит Far-ом с отображением процесса копирования внутри него, но это не так. Чем отличается поведение при установленной и снятой галке, так и не понял.

Еще обнаружил, что при загруженном плагине не работает выделение файлов правой кнопкой мыши в Far x86, даже если галка "Меню по правой кнопке" снята. С сожалением пришлось отказаться от плагина, поскольку файлы правой кнопкой я выделяю гораздо чаще, чем таскаю их за пределы Far-а.
Пользователь Far с 1998 года
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

Freeman wrote: Еще обнаружил, что при загруженном плагине не работает выделение файлов правой кнопкой мыши в Far x86, даже если галка "Меню по правой кнопке" снята.
Подтверждаю. Но это еще в старой ANSI-версии плагина так было.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

И еще вдогонку. Старая ANSI-версия плагина с новым стабильным билдом 4900 работает. Так что проблема с перетаскиванием привнесена в 3.0.х.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by Pasha_ZZZ »

Почему-то нет действий Переместить и Создать ярлык при перетаскивании ПКМ. А если ЛКМ + Alt/ЛКМ + Shift - то курсор меняется на перечеркнутый круг.
grechnik
Posts: 12
Joined: Wed 22 Feb, 2017 14:21
Been thanked: 5 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by grechnik »

Новая версия: https://github.com/grechnik/far-drag-n- ... ag/v3.0.81 . Добавлены операции перемещения и создания ссылок, как при драге из Far, так и при драге в Far. Произошла синхронизация с апстримом; как следствие, нумерация немного скакнула, а также поменялся guid плагина, так что настройки собьются.
Alexey Samlyukov wrote: перетаскиваю из одной панели в другую, в которой открыт корень диска, вываливается ошибка: папка "\" не существует.
fixed
Alexey Samlyukov wrote: и в настройках, в поле Number of pixels to pass before start dragging криво задана маска поля, не могу ввести цифру 10.
fixed, нет больше такого поля
dmitrik wrote: Версия плагина — 3.0.1. На предыдущей стабильной версии Far'а всё работало, поставил сегодня билд 4900 и плагин работать перестал. Выглядит так: захватываю файл, курсор правильно меняет форму, но когда вытаскиваю за границы окна Far'а он меняется на знак "stop" и бросить уже никуда ничего нельзя.

Проверял в обоих версиях x86 и x64. ОС — Windows 10 x64.
должно починиться
Freeman wrote: А за что отвечает галка "Копировать Проводником". Предполагал, что если она не установлена, копирования происходит Far-ом с отображением процесса копирования внутри него, но это не так. Чем отличается поведение при установленной и снятой галке, так и не понял.
При драге файлов из Far - ничем, в этом случае плагин просто предоставляет данные, у него нет технической возможности делать операцию самому. Эта галка отвечает за то, как делается драг файлов в Far, и да, разница именно в отображении процесса копирования.
Freeman wrote:Еще обнаружил, что при загруженном плагине не работает выделение файлов правой кнопкой мыши в Far x86, даже если галка "Меню по правой кнопке" снята. С сожалением пришлось отказаться от плагина, поскольку файлы правой кнопкой я выделяю гораздо чаще, чем таскаю их за пределы Far-а.
Karbazol поправил.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

grechnik wrote: должно починиться
Починилось наполовину. Вытащить и бросить теперь что-то куда-то можно, но только напрямую, в видимое рядом окно. Перетащить в таскбар на кнопку нужного окна, чтобы это окно вышло на передний план, и бросить уже в него по-прежнему нельзя. Всё тот же знак "stop".
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

Но изменения хорошие. Особенно возможность выделять файлы правой кнопкой мыши. Спасибо, что не бросаете плагин.
grechnik
Posts: 12
Joined: Wed 22 Feb, 2017 14:21
Been thanked: 5 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by grechnik »

dmitrik wrote:Починилось наполовину. Вытащить и бросить теперь что-то куда-то можно, но только напрямую, в видимое рядом окно. Перетащить в таскбар на кнопку нужного окна, чтобы это окно вышло на передний план, и бросить уже в него по-прежнему нельзя. Всё тот же знак "stop".
Монитор в режиме HiDPI aka "Параметры экрана -> Изменение размера текста, приложений и других элементов > 100%" или нет?
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

grechnik wrote: Монитор в режиме HiDPI aka "Параметры экрана -> Изменение размера текста, приложений и других элементов > 100%" или нет?
Нет, у меня 125%.
grechnik
Posts: 12
Joined: Wed 22 Feb, 2017 14:21
Been thanked: 5 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by grechnik »

В этих 125% и дело. В Far.exe где-то между 4774 и 4900 поломали манифест. В 4774 манифест выглядит так:

Code: Select all

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
...
<asmv3:application>
	<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
		<dpiAware>true</dpiAware>
	</asmv3:windowsSettings>
</asmv3:application>
</assembly>
и это работает: процесс Far получает от системы ачивку DPI-Aware, и техническое окно, создаваемое плагином, получает ровно такие размеры, как плагин говорит системе.

В 4900 манифест выглядит так:

Code: Select all

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
...
<asmv3:application>
	<windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
		<dpiAware>true</dpiAware>
		<longPathAware>true</longPathAware>
	</windowsSettings>
</asmv3:application>
</assembly>
и это не работает: система просто-напросто игнорирует поддерево windowsSettings в неправильном xml namespace. Far не получает от системы ачивку DPI-Aware, техническое окно, создаваемое плагином, неожиданно растягивается пропорционально dpi, а координаты от мыши соответственно сжимаются.
Включать longPathAware правильно примерно так:

Code: Select all

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
...
<asmv3:application>
	<asmv3:windowsSettings>
		<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
		<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
	</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Я, в принципе, могу в плагин запихнуть вызов SetProcessDPIAware(), но поскольку оно глобально для процесса, идеологически правильнее и менее неожиданно для других плагинов с не-консольным выводом будет пофиксить манифест в Far.exe.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by DrKnS »

grechnik wrote: система просто-напросто игнорирует поддерево windowsSettings в неправильном xml namespace
Если что-то можно сделать максимально запутанно, microsoft так и поступит. :facepalm:
Исправлено.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by dmitrik »

О, с новым билдом Far'а 4949 всё заработало! Спасибо всем причастным. :)
User avatar
Karbazol
Posts: 58
Joined: Wed 16 Mar, 2005 04:26
Location: Nizhni Novgorod, Russia
Contact:

Drag-n-Drop — тяни-и-бросай (перетаскивание)

Post by Karbazol »

Новая версия плагина доступна на Git Hub'e
Post Reply

Return to “Обсуждение плагинов”