ファイルマネージャなしでウィンドウにファイルを「ドラッグ」できますか?


41

(私はArch Linuxを使用しており、w3としてi3を使用し、ターミナルエミュレータとしてxtermを使用していますが、関連するものがあるかどうかはわかりません。)

時々、ウェブサイトから、デスクトップからインターネットブラウザのウィンドウにマウスでファイルをドラッグするように求められます。ほとんどの場合、別の方法がありますが、最近、ドラッグアンドドロップが必要な操作を見つけました。残念ながら、ファイルマネージャがありません。コンピューターのファイルシステムをbashのみでナビゲートします。

ドラッグアンドドロップアクションを偽造する方法はありますか?実際に実行せずに、ブラウザに「このファイルをドロップしただけです」と言ってもいいですか

最悪のシナリオでは、Webブラウザにファイルをドロップするためだけにグラフィカルファイルマネージャをダウンロードできますが、その解決策は避けたいです。


3
>私は実際にそれをやってなくて、私のブラウザ「私はあなたにこのファイルをドロップ」を言うことができる「サウンドをstackexchange上のJavaScriptのコミュニティのための偉大な質問のように?。
jayhendren

www:mechanizeまたはその派生物も参照してください。perlとpythonがあるようです。ソリューションが多ければ多いほど良い!


1
dragboxはもう存在しません。受け入れられた回答を変更してください。
ユカシマフクサイ

1
@yukashimahuksay完了、ヘッズアップに感謝
地下

回答:


19

数か月前とまったく同じ問題を抱えていましたが、最終的にはそれを行うためのツールを作成しました。私はこれを見て、他の誰かが同じかゆみを持っているのを見つけたとき、私以外の誰かが実際にそれを実行できるようにそれをクリーンアップし、私のやることリストを終了しました。コードは現在アップしています:https : //github.com/mwh/dragon

取得するには、実行します

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

これにより、スタンドアロンのdragon実行可能ファイルが得られます。必要な場所に移動できます。make installに入れ$HOME/.local/binます。

どちらにしても、次のことができます。

dragon *.jpg

これらのファイルごとにドラッグ可能なボタンを持つシンプルなウィンドウを取得するには:

いくつかのファイルを表示するドラゴンのスクリーンショット

ブラウザ、ファイルマネージャ、エディタ、または標準のドラッグアンドドロッププロトコルを話す他の場所にこれらのいずれかをドラッグできます。

あなたは他の方法、およびドラッグ物事を移動したい場合には、それまで、使用--target-彼らは標準出力に出力、またはあなたが使用している場合に再びドラッグするために利用されます--keepうまくとして。


ビルドするには、CコンパイラとGTK + 3開発ヘッダーが必要です。Archを使用している場合は、GTK +をインストールするだけでそれらを取得できますが、他のディストリビューションでは、最初に必要なapt-get install build-essentials libgtk3-devyum install gtk3-develまたは同様のことがあります。それ以外は、完全に自己完結型で、構成ライブラリも何もありません。実行可能ファイルを好きな場所に置くことができます。

私のユースケースは、主にいくつかのファイル(通常は1つ)のみの1回限りのドラッグであり、それらの表示方法を特に気にせずに、それがあなたが望むものと整列しない場合、Dragbox(私はそれまで見ませんでした)最近)あなたのためにまだ良いかもしれません。昨日、ドラッグターゲットとしても使用するためのサポートを追加しました。そのため、この部分はあまり使い道がありませんでした。それ以外は、しかし、私はしばらくの間これを正常に使用しています。readmeファイルには、他のモードとオプションが記載されています。


ありがとうございました!ビルド/インストールに数秒かかりました!それを使用します!--targetオプションは爆発的です!

素敵な小さなスタンドアロンバイナリ。素敵な小さなMakefileで。パーフェクト。ありがとうございました!
ctn 14

1
あなたはヒーローです。このツールはAURの名前でも利用可能ですdragon-drag-and-drop-git
FichteFoll

わたしは、あなたを愛しています!アーチコミュニティはUが大好き!ありがとうございました!私は何年もの間これを探していました。
ユカシマフクサイ

28

Dragboxアプリケーションを推奨してくれた@derobertに感謝します。

Dragboxはまさに必要なことを行います。たとえば、Chromiumにドラッグできるようにしたい多数の.pngファイルがあるフォルダーがあります。そのフォルダ内で、実行dragbox *.pngすると次のウィンドウが作成されます。

いくつかのファイルの名前がリストされたGUIウィンドウ

マウスを使用してそこからChromiumにファイルをドラッグすると、問題なく動作します。しかし、この点に到達するのは苦痛でした。私の知る限り、DragboxはDebianシステムのみを公式にサポートしています。Archでネイティブに機能する場所はどこにも見つかりませんでした。そこで、Arch LinuxでDragboxを機能させるためのステップバイステップガイドを作成しました。これは、私がマシン上で行ったものとほぼ同じですが、より良いプラクティスに従うためにいくつかの修正を加えました。どこかにエラーがある場合は、この回答の編集履歴を見て、自分のマシンで何をしたかを正確に確認できます。

  1. 実行してDragboxのソースをコンピューターに複製します git clone https://github.com/engla/dragbox.git
  2. dragbox現在の作業ディレクトリ内にcreated という新しいディレクトリが作成されます。中に入る。
  3. DragboxとDragboxのインストールには、Arch Linuxに標準で付属しているPython 2が必要です。ただし、Python 2がデフォルトのPythonインストールであると想定されていますが、Archではそうではありません。を実行してこれを回避してくださいexport PYTHON=/bin/python2。現在のターミナルウィンドウを閉じるまで、環境変数$PYTHONの値はになります/bin/python2。Dragboxのインストールスクリプトはそれをチェックし、Python 3で使用します。
  4. 実行./autogen.sh./configuremakemake installmake installルート権限で実行する必要があります(例:)sudo make install
  5. Dragboxがコンピューターにインストールされましたが、Python 3を使用して実行しようとします。ルート権限/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


2
実際、PEP 394が採用された/usr/bin/env python2ため、最近では、使用が推奨されています。
ジル 'SO-悪であるのをやめる' 14年

1
2番目の修正は必要ありません。DragboxディレクトリをPYTHONPATHpython2の ように、site-packagesシステムまたはユーザーごとに)どこかにコピーするだけです。その行はdragbox、そのパッケージをインポートできない場合にのみ実行されます。
バクリウ14年

@Sethまあ、どうもありがとう。私はPythonスクリプトを設計されたものとはわずかに異なるシステムで実行しましたが、まだPythonが含まれていました:P起こる。
地下

2
Archlinuxでは、このタイプの問題に対する実際の解決策はPKGBUILDを作成することです。あなたは主に自分がやったことをしますがpacman、ファイルを管理できる特別なスクリプトに入れて、それを更新または削除したい場合にシステムをいじり回す必要がないようにします。
HalosGhost 14年

1
Dragboxは死んでいるようです。git-repoはなくなりました。
カレイサン

6

次の構文を使用して、ブラウザー内でファイルシステムを簡単にナビゲートできます。

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

空のタブでパスを開き、そこからファイルをドラッグアンドドロップできます。少なくともクロム/クロムでは、他のブラウザを試してはいけません。


...これは私のために働いていませんが、それはあなたが記述方法や、私はで何かをドロップしたいuserscriptに問題と問題だ場合、私は言うことができない
undergroundmonorail

これを可能にするために有効にする必要があるコマンドラインスイッチまたはchrome内の属性があると思います。
slm

だろうchrome://flagsこのような何かを探すために右の場所で?それが今私が見ているところです。
地下

あなたがしている権利をMMM @undergroundmonorail、私はただのデモで試してみましたdropzonejs.com、それは仕事をしません。しかし
、間違いなく


4

自分で問題を解決しました。

おそらく最も簡単な方法は、「ファイルを開く...」ダイアログを使用することです。ファイルマネージャーのように、gtkファイルダイアログからドラッグアンドドロップするだけです。

ダイアログが画面を盗まないように、別のウィンドウを開く必要がある場合があります。

それでおしまい。簡単です。


驚くばかり!何もインストールする必要はありません。Firefoxを使用しているため、メニューをクリックできませんが、Ctrl + oは正常に機能します。
ミラノバブシュコフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.