a warning
This is the real internet, not babby AOL. The hydrus client gives you the power to screw up your life. If you want to do private sexy slideshows of your shy wife that's fine, but don't upload the pictures anywhere you don't absolutely trust and don't give them public tags that'll identify anyone. It is impossible to contain leaks of private information.
the problem
If you have ever seen something like this—
—then you already know the problem: using a filesystem to manage a lot of images sucks.
Finding the right picture within a minute can be difficult. Finding all those by a particular artist or of a particular resolution within any reasonable time limit can be impossible. Adding new files into the whole mess is a further pain, and most operating systems bug out displaying folders with > 10,000 images.
so, what does the hydrus client do?
Let's first focus on storing and sharing files.
On booting the client for the first time, you will be faced with a blank screen and little idea of what to do next. I advise you simply drag-and-drop a folder with a hundred or so images onto the main window. After a little parsing, a dialog will appear affirming what you want to import. Ok that and a new page will open. Thumbnails will stream in as the software processes each file.
The files are being imported into the client's database. The client discards their filenames.
Notice your original folder and its files are untouched. You can move the originals somewhere else, delete them, and the client will still return searches fine. In the same way, you can delete from the client, and the original files will remain unchanged; import is a copy, not a move, operation. The client performs all its operations on its internal database. If you find yourself enjoying using the client and decide to completely switch over, you may delete the original files you import without worry. You can always export them back again later (albeit with different filenames).
Now:
- Click on a thumbnail; see what happens. Now double- or middle-click it to go fullscreen, then mouse-scroll or page up and down a bit, and double/middle-click again. Hitting Enter/Return on a focussed file does the same thing.
- Try shift- or ctrl- selecting several files, and notice how the status bar at the bottom of the screen changes. Right click your selection.
- Hit F9 to bring up a new page chooser. It won't show much right now, because you are just started. You can navigate it with the arrow keys, your numpad, or your mouse.
-
On the left of a normal 'file search' page is a text box with a large pop-up dropdown. It looks like this:
This is the autocomplete tag entry. It is where you put in the predicates to do a search. The dropdown window only appears when the text box is focussed. If the text box is empty, it will show a number of 'system' tags that let you search by non-tag metadata such as file size or animation duration. Typing in the text box will, when you have some tags in your database, show the tags that begin with whatever you type. The following (number) shows how many files have that tag, and hence how large the search result will be if you select that tag. You can scroll the dropdown list with the arrow keys or ctrl + scrollwheel, and then hit enter or just double click on a tag to enter it into the current search.
There are also several buttons to play with:
- include current/pending tags - will determine whether the autocomplete results (and their counts) will be harvested from tags that currently exist, and/or the tags that are waiting to be sent to a service (more on this in getting started with tags).
- searching immediately - determines whether new searches will be performed as soon as you add or remove a search predicate, or whether the client will wait until you hit the button again. This is useful if you have a complicated query and don't want to wait for the search with every step.
- file repository/tag repository - determines the search domain for the autocomplete tags. Selecting 'all known files/tags' will union all known file or tag services together. Be careful selecting both 'all known files' and 'all known tags', as queries (and even just the dropdown!) will be delayed!
- Once you are happy with the dropdown, try hitting 'system:size', and maybe change the resultant dialog's < to > or the 100KB to 1MB.
- You can remove from the list of 'active tags' above with a double-click, or by entering the same tag again through the dropdown.
- Play with the system tags more if you like, and the sort-by dropdown. The collect-by dropdown (which collects by certain tags) will only do things if your files have appropriate tags.
- To close a page's tab, middle click it.
The client currently supports the following mimetypes:
- image/bmp (.bmp - converted to image/png on import)
- image/gif (.gif)
- image/png (.png)
- image/jpeg (.jpg)
- application/x-shockwave-flash (.swf)
- video/x-flv (.flv)
The client can also download files from several websites, including 4chan, many boorus, and gallery sites like deviant art. The different options are under F9->download.
Most of them have similar interfaces. Paste the url or type the query your are interested in, and press enter.
FAQ: why not use filenames and folders?
inbox and archiving
the client sends newly imported/downloaded files to an inbox so you may more easily decide what to do with them. Inbox acts like a tag, matched by 'system:inbox'. A small envelope icon is drawn in the top corner of all inbox files.
If you are sure you want to keep a file long-term, you should archive it, which will remove it from the inbox. You can archive from your selected thumbnails' right-click menu, or by pressing F7.
Anything you do not want to keep should be deleted.
A quick way of doing this is—
filtering
Lets say you just downloaded a good thread, or perhaps you just imported an old folder of miscellany. You now have a whole bunch of files in your inbox—some good, some awful. You probably want to quickly go through them, saying yes, yes, yes, no, yes, no, no, yes, where yes means 'keep and archive' and no means 'delete this trash'. Filtering is the solution.
Select some thumbnails, and either choose filter from their right-click menu or hit F12. You will see this selection in fullscreen, with the following controls:
- Left-click, space, or F7: keep and archive the file, move on
- Right-click or delete: delete the file, move on
- Arrow key up: Skip this file, move on
- Middle-click or backspace: I didn't mean that, go back one
- Escape, return, or F12: stop filtering now
When done, you will be asked whether you want to commit your choices, forget them, or go back to filtering the current file.
Filtering saves time.
I have plans to make a filtering-like system to speed up certain kinds of tagging. Your thoughts would be appreciated.
exporting and uploading
There are many ways to export files from the client:
-
raw export
Right clicking some files and selecting 'export all' will copy all those files from the database to your export folder, which is set in file->options and easily accessed in file->open export folder.
The files will have ugly filenames. It is on my to-do list to make them better, perhaps tag-based.
This is an ugly operation, but it is quick. It is best when you want to mass-export many thousands of files.
-
copy->copy all
Right clicking some files and selecting 'copy all' from the copy submenu will export the files to a temporary folder and copy their paths to your clipboard. You can then paste them wherever you like, just as with normal files. They will have the same ugly filenames as with a normal export.
This is a very quick operation, and can also be triggered by hitting Ctrl+C. It is best when you want to export just a few files somewhere for a temporary job.
-
copy->hash/hashes
Right clicking some files and selecting 'copy hash/hashes' will copy the files' unique identifiers to your clipboard.
You will not have to do this often. It is best when you want to tell someone else about a number of files without giving them the files.
-
copy->copy path/local url
Right clicking any file and selecting 'copy path' will copy the file's raw database path (install_path/db/client_files/[hash]) to your clipboard. 'copy local url' does the same, but with a localhost url in the form http://127.0.0.1:45865/file?hash=[hash].
These are most useful when you want to send a single file to another program. You can copy either of these addresses into a file open dialog like so:
This works for file upload, opening a file in a graphics editor, or whatever. You can also paste into your browser's address bar, to check they are working.
The path method will always work, the url method will only work while the client is running.
The path method will send the file's hash as the filename, the url method will send something odd like file[7].
The path method will change your current working directory to your client's db directory (possibly annoying, if you have a lot of files), the url method will change your current working directory to temporary internet files.
I generally recommend you go with the url method.
If you use the path method to open a file inside an image editing program, try to remember to go 'save as' and give it a new filename! The client does not expect files inside its db directory to change.
-
dumping to imageboard
Right clicking some files and selecting 'dump all' will let you mass-dump them to an imageboard. You'll be asked which board you want to dump to and then taken to a new page:
If you have a 4chan pass, you can authenticate the client in services->manage 4chan pass. Any new dump pages will no longer show the captcha window.
The client comes with all of 4chan's boards pre-configured. If you feel very brave and confident of your html-form-parsing skills, go services->manage imageboards and try to add some new sites.
sharing files
The hydrus network has a service that lets clients share files anonymously, called a file repository.
It simply stores files in a big pool. Anyone who has an access key to the repository can see the pool's thumbnails and download anything they like. They may have permission to to upload to it as well. Admins can delete. I run a download-only file repository, which you are welcome to connect to to get a feel for the interface. Go services->add, remove or edit services.
- 8f8a3685abc19e78a92ba61d84a0482b1cfac176fd853f46d93fe437a95e40a5@98.214.1.156:45872
Then go services->review services to see your client synchronise with the repository's file list.
Hit F9, and you'll see a new "files->" page. It works exactly like a local search, it just uses a different file list. Files you do not have will be drawn with a dark background, those you do will be drawn as normal:
To download a file, double- or middle-click it, or select from the right click menu.
If you have permission to upload files to a particular repository, that option will appear in the right-click menu for any local files. Selecting this will pend them for batch uploading; just select from the new pending menu to effect the upload when you are ready.
lastly
The hydrus client is not an image-editing program, nor is it particularly intended for half-finished images. Think of it as a giant archive, a library, for everything excellent you have decided to store away.