{"id":69108,"date":"2022-12-02T09:00:59","date_gmt":"2022-12-02T09:00:59","guid":{"rendered":"https:\/\/www.cryptocabaret.com\/?p=69108"},"modified":"2022-12-02T09:00:59","modified_gmt":"2022-12-02T09:00:59","slug":"try-this-java-file-manager-on-linux","status":"publish","type":"post","link":"https:\/\/www.cryptocabaret.com\/?p=69108","title":{"rendered":"Try this Java file manager on Linux"},"content":{"rendered":"<p><span class=\"field field--name-title field--type-string field--label-hidden\">Try this Java file manager on Linux<\/span><br \/>\n<span class=\"field field--name-uid field--type-entity-reference field--label-hidden\"><a title=\"View user profile.\" href=\"https:\/\/opensource.com\/users\/seth\" class=\"username\">Seth Kenlon<\/a><\/span><br \/>\n<span class=\"field field--name-created field--type-created field--label-hidden\">Fri, 12\/02\/2022 &#8211; 03:00<\/span><\/p>\n<div class=\"clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item\">\n<p>Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, we&#8217;re taking a look at a file manager for your Linux system.<\/p>\n<p>At the tail end of the Sun Microsystem days, there was something called the Java Desktop System, which was strangely <em>not<\/em> written in Java. Instead, it was a (according to sun.com at the time) &#8220;judicious selection of integrated and tuned desktop software, most based on open source and open standards.&#8221; It was based on GNOME, with an office suite, email and calendaring apps, instant messaging, &#8220;and Java technology.&#8221; I found myself musing about what it would take to create a desktop in Java. Objectively, a desktop doesn&#8217;t actually consist of all that much. The general consensus seems to be that a desktop is made up of a panel, a system tray, an application menu, and a file manager.<\/p>\n<p>It&#8217;s an interesting thought exercise to imagine an actual Java desktop. Not enough to start an open source project with that as its aim, but enough for a quick web search for the necessary components. And as it turns out, someone has written and maintains a file manager in Java.<\/p>\n<h2>JFileProcessor<\/h2>\n<p>The Java file manager I found is called JFileProcessor, or JFP for short. It&#8217;s a fascinating exercise not just in Java, but specifically in <a href=\"https:\/\/opensource.com\/article\/20\/12\/groovy\">Groovy<\/a>, a popular scripting language for Java.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/opensource.com\/sites\/default\/files\/2022-09\/jfileprocessor.webp\" width=\"654\" height=\"461\" alt=\"Image of the JfileProcessor folders.\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>(Seth Kenlon, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<p>As a file manager, JFileProcessor takes a minimal approach to both design and function. It lets you view, open, move, copy, cut, or delete files on your local system and on remote systems. It&#8217;s not particularly customizable, it doesn&#8217;t have extra features like split panels or movable panes. It&#8217;s not built around any central theme aside from managing files. JFileProcessor is refreshing, in a way, because of its simplicity. This is a file manager, and that&#8217;s all. And sometimes that&#8217;s all you want in a file manager.<\/p>\n<p>I&#8217;ve written about options to <a href=\"https:\/\/opensource.com\/article\/22\/3\/beautify-java-applications\">theme Java Swing<\/a> before, and that technique is technically an option for this open source application. However, I think part of the charm of this application is what OpenSolaris called its &#8220;Blueprint&#8221; theme. It&#8217;s a nostalgic look of Java, and I&#8217;ve enjoyed running it in its native GUI appearance as a callback to my OpenSolaris (now OpenIndiana) laptop.<\/p>\n<\/p>\n<div class=\"embedded-resource-list callout-float-right\">\n<div class=\"field field--name-title field--type-string field--label-hidden field__item\">More Linux resources<\/div>\n<div class=\"field field--name-links field--type-link field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/cheat-sheets\/linux-commands-cheat-sheet\/?intcmp=70160000000h1jYAAQ\">Linux commands cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/cheat-sheets\/advanced-linux-commands\/?intcmp=70160000000h1jYAAQ\">Advanced Linux commands cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/www.redhat.com\/en\/services\/training\/rh024-red-hat-linux-technical-overview?intcmp=70160000000h1jYAAQ\">Free online course: RHEL technical overview<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/cheat-sheet-networking?intcmp=70160000000h1jYAAQ\">Linux networking cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/cheat-sheet-selinux?intcmp=70160000000h1jYAAQ\">SELinux cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/linux-common-commands-cheat-sheet?intcmp=70160000000h1jYAAQ\">Linux common commands cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers?intcmp=70160000000h1jYAAQ\">What are Linux containers?<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/linux?intcmp=70160000000h1jYAAQ\">Our latest Linux articles<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<h2>User experience<\/h2>\n<p>Design aside, what really matters is user experience. JFileProcessor has just three buttons that you use on a daily basis: Up, back, and forward. They aren&#8217;t bound to keyboard shortcuts, so you do have to click the buttons to navigate (or use the <strong>Tab<\/strong> key to select a button). I do a lot with keyboard shortcuts when using graphical applications, so this slowed me down a lot as I tried to navigate my system. However, there are times when I&#8217;m actually just lazily browsing files, and for that JFileProcessor worked exactly as I needed it.<\/p>\n<p>There&#8217;s a search component to JFileProcessor, too. As long as you set a reasonable starting folder, the search is quick and intelligent, allowing for both search globs and regex patterns. I used this feature regularly when searching for a specific e-book or comic archive or game rulebook, for instance, or any time that I had a rough idea that directory contained an item but couldn&#8217;t be bothered to click all the way through to the destination. A quick search through the subdirectories inevitably returned the obvious result, and a double-click opened the file to whatever XDG preference I had set (Evince for PDFs, Foliate for eBooks, and so on.)<\/p>\n<p>A right-click on any file or directory brings up a context menu. It&#8217;s got most of the common tasks you&#8217;d expect: Copy, Cut, Paste, Delete, Rename, New. It&#8217;s got some nice additions, too.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/opensource.com\/sites\/default\/files\/2022-09\/jfileprocessor-menu.webp\" width=\"252\" height=\"390\" alt=\"Right-click context menu in JFileProcessor\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>(Seth Kenlon, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<p>For instance, you can copy just the filename to your clipboard or save a path to a file. You can also run some scripts, including one to batch rename files, one to run a command on selected files, one to create a ZIP or TAR archive, and many more. And of course, there are several options for the coder, including opening a terminal at your current location and opening a new coding window.<\/p>\n<h2>Install<\/h2>\n<p>I&#8217;m a real fan of Java. It&#8217;s a clear language with sensible delimiters and a firm stance on cross-platform compatibility. I enjoy it as a language, and I love seeing what programmers create with it.<\/p>\n<p>JFileProcessor is aptly named. It&#8217;s an effective way to process files, in the sense that JFileProcessor gives you a simple window into the files of data on your system and allows you to interact with them, graphically, in the same way you&#8217;re likely to interact with them from a terminal. It&#8217;s not the most efficient file manager I&#8217;ve used, nor the one with the most features. However, it&#8217;s a pleasant application that provides you with the basic tools you need for file management with a relatively small codebase that makes for some stellar afternoon reading.<\/p>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item\">\n<p>JFileProcessor takes a minimal approach to both design and function as a Linux file manager.<\/p>\n<\/div>\n<div class=\"field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item\">\n<article class=\"media media--type-image media--view-mode-caption\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/12\/java-coffee-beans.jpg\" width=\"520\" height=\"292\" alt=\"Coffee beans\" title=\"Coffee beans\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Pixabay. CC0.<\/p>\n<\/div>\n<\/article>\n<\/div>\n<div class=\"field field--name-field-tags field--type-entity-reference field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/linux\" hreflang=\"en\">Linux<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/java\" hreflang=\"en\">Java<\/a><\/div>\n<\/p><\/div>\n<div class=\"hidden field field--name-field-listicle-title field--type-string field--label-hidden field__item\">What to read next<\/div>\n<div class=\"field field--name-field-default-license field--type-list-string field--label-hidden field__item\"><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><br \/>\n        <img decoding=\"async\" alt=\"Creative Commons License\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/12\/cc-by-sa-4-3.png\" title=\"This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.\"><\/a>This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.<\/div>\n<section class=\"field field--name-field-comments field--type-comment field--label-hidden comment-wrapper\">\n<div class=\"comments__count\">\n<div class=\"login\"><a href=\"https:\/\/opensource.com\/user\/register?absolute=1\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?destination=\/feed&amp;absolute=1\">Login<\/a> to post a comment.<\/div>\n<\/p><\/div>\n<\/section>\n<p class=\"wpematico_credit\"><small>Powered by <a href=\"http:\/\/www.wpematico.com\" target=\"_blank\" rel=\"noopener\">WPeMatico<\/a><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Try this Java file manager on Linux Seth Kenlon Fri, 12\/02\/2022 &#8211; 03:00 Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, we&#8217;re taking a look at a file manager for your Linux system. At the tail [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":69109,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[307],"tags":[],"class_list":["post-69108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source"],"_links":{"self":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/69108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=69108"}],"version-history":[{"count":0,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/69108\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/media\/69109"}],"wp:attachment":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=69108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=69108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=69108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}