Я могу “перетащить” файл в окно без файлового менеджера?

Поскольку Вы узнали, mawk буферизует его вход, таким образом, Вы, вероятно, видели бы эффекты, после того как Ваше общее количество уведомляет, что сообщения достигли некоторого k. Связанная статья предполагает, что mawk имеет a -Winteractive флаг для отключения его но я нахожусь в положении для проверки этого.

41
19.06.2014, 02:11
4 ответа

Несколько месяцев назад у меня была точно такая же проблема, и в конце концов я просто написал инструмент, чтобы сделать это за меня. Когда я увидел это и обнаружил, что у кого-то другого был такой же зуд, я убрал его, чтобы кто-то другой, кроме меня, мог на самом деле заставить его работать, и закончил мой список дел. Теперь код готов: https://github.com/mwh/dragon

Чтобы получить его, запустите

git clone https://github.com/mwh/dragon.git
cd dragon
make

, и вы получите автономный исполняемый дракон - вы можете переместить его куда угодно. make install поместит его в $HOME/.local/bin.

В любом случае, вы можете:

dragon *.jpg

получить простое окно с перетаскиваемыми кнопками для каждого из этих файлов:

Screenshot of dragon showing a few files

Вы можете перетащить любой из них в браузер, файловый менеджер, редактор или в любое другое место, которое говорит по стандартному перетаскиваемому протоколу.

Если вы хотите пойти другим путем и перетащить вещи в , используйте --target - они будут напечатаны на стандартном выводе или доступны для повторного перетаскивания, если вы используете --keep также.


Для сборки вам понадобится Си-компилятор и заголовки разработки GTK+ 3 - если вы на Arch, то вы получите их просто установив GTK+, но на других дистрибутивах вам может потребоваться apt-get install build-essentials libgtk3-dev или yum установить gtk3-devel или аналогичный сначала. Кроме того, она полностью автономна, не содержит составных библиотек или чего-либо подобного, и вы можете просто поместить исполняемый файл туда, куда захотите.

Мой вариант использования - это в основном одноразовое перетаскивание всего лишь нескольких файлов (обычно только одного), без особой заботы о том, как они появятся, так что если это не совпадает с тем, что вы хотите, то Dragbox (которого я не видел до недавнего времени) все равно может быть лучше для вас. Буквально вчера я добавил поддержку использования его в качестве перетаскивающего устройства, так что эта часть с моей стороны не принесла много пользы. В остальном, однако, я использую ее успешно уже некоторое время. Есть и другие режимы и опции, описанные в файле readme.

.
20
27.01.2020, 19:35

Вы можете легко перемещаться по файловой системе в вашем браузере, используя синтаксис:

file:///home/username/blah/blah

Откройте путь в пустой вкладке, и оттуда вы можете перетащить файл. По крайней мере, с хромом / хромом, здесь нет других браузеров, чтобы попробовать.

6
27.01.2020, 19:35

Спасибо @derobert за рекомендацию мне приложения Dragbox.

Dragbox делает именно то, что мне нужно. Например, у меня есть папка с несколькими файлами .png, которые я хотел бы перетащить в Chromium. Внутри этой папки выполнение dragbox * .png создает следующее окно:

A GUI window with the names of several files listed

Я могу использовать свою мышь, чтобы перетаскивать файлы оттуда в Chromium, и это работает безупречно. Однако добраться до этого момента было нелегко. Насколько мне известно, Dragbox официально поддерживает только системы Debian. Я не мог найти нигде, что изначально работало для Arch. Итак, я написал пошаговое руководство, как заставить Dragbox работать в Arch Linux. Это почти то же самое, что я сделал на своей машине, с парой модификаций, чтобы следовать лучшим практикам. Если где-то возникла ошибка, вы можете посмотреть в истории изменений этого ответа именно , что я делал на своей машине.

  1. Клонируйте исходный код Dragbox на свой компьютер, выполнив git clone https://github.com/engla/dragbox.git
  2. . Будет создан новый каталог под названием dragbox внутри вашего текущего рабочий каталог. Зайти внутрь.
  3. Для установки Dragbox и Dragbox требуется Python 2, который входит в стандартную комплектацию Arch Linux. Однако он ожидает, что Python 2 будет установкой Python по умолчанию, что неверно для Arch. Чтобы обойти это, выполните export PYTHON = / bin / python2 . Пока вы не закроете текущее окно терминала, переменная среды $ PYTHON будет иметь значение / bin / python2 . Скрипты установки Dragbox проверяют это и будут использовать его поверх Python 3.
  4. Выполнить ./ autogen.sh , ./ configure , make и сделать установку . make install должен выполняться с правами root (например, sudo make install ).
  5. Dragbox теперь установлен на вашем компьютере, но он попытается использовать Python 3 для запуска. С правами root откройте / usr / local / bin / dragbox в текстовом редакторе. Измените shebang (первая строка, которая сообщает вашей оболочке, с каким исполняемым файлом запускать скрипт) с #! / Usr / bin / env python на #! / Usr / bin / env python2 .
  6. Теперь скрипт работает, но не может найти модуль, содержащий актуальную программу. Есть несколько способов исправить это.

    1. Включите в свой ~ / .bashrc или аналогичный строку, читающую export PYTHONPATH = $ PYTHONPATH: немедленно (например, без пробела между), следуя моему пути к каталог. Python теперь будет искать в этом каталоге при попытке импортировать модули. Внутри каталога, созданного на шаге 1, будет каталог с именем Dropbox / (с большой буквы D). Скопируйте этот каталог в каталог, который вы добавили в свой $ PYTHONPATH (например, если вы написали export PYTHONPATH = $ PYTHONPATH: ~ / python / modules , скопируйте Dragbox / ] для создания каталога ~ / python / modules / Dragbox / ).

    2. Вероятно, худшая практика, но вы можете скопировать тот же каталог в каталог, который уже находится в вашем $ PYTHONPATH . Например, вы можете скопировать его, чтобы создать /usr/lib/python2.7/site-packages/ .

Если вы выполнили эти шаги, Dragbox должен работать! Теперь вы можете запустить man dragbox , чтобы узнать больше о том, как его использовать, и запустить его, просто набрав dragbox .

28
27.01.2020, 19:35

Только что сам решил эту проблему.

Возможно, самый простой способ - использовать диалог "Открыть файл...". Вы можете просто перетаскивать файлы из диалога gtk file, как в файловом менеджере.

Вам может понадобиться открыть отдельное окно, чтобы диалог не занимал весь экран.

Вот и все. Вот так просто.

4
27.01.2020, 19:35

Теги

Похожие вопросы