{"id":23958143,"url":"https://github.com/amarz45/dfm","last_synced_at":"2025-09-12T15:32:44.676Z","repository":{"id":38220262,"uuid":"503853310","full_name":"amarz45/dfm","owner":"amarz45","description":"Manage files using dmenu","archived":false,"fork":false,"pushed_at":"2023-09-13T02:29:45.000Z","size":43787,"stargazers_count":28,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-31T04:55:32.441Z","etag":null,"topics":["dmenu","dmenu-scripts","file-manager"],"latest_commit_sha":null,"homepage":"https://amarakon.github.io/projects/dfm/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amarz45.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-06-15T17:01:14.000Z","updated_at":"2025-01-17T00:18:27.000Z","dependencies_parsed_at":"2024-01-14T08:00:47.159Z","dependency_job_id":"402a0d00-4f65-48a5-8844-91cf1d81e9f0","html_url":"https://github.com/amarz45/dfm","commit_stats":null,"previous_names":["amarz45/dfm","amarakon/dfm"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/amarz45/dfm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarz45%2Fdfm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarz45%2Fdfm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarz45%2Fdfm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarz45%2Fdfm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amarz45","download_url":"https://codeload.github.com/amarz45/dfm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarz45%2Fdfm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274831620,"owners_count":25357883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dmenu","dmenu-scripts","file-manager"],"created_at":"2025-01-06T17:02:05.280Z","updated_at":"2025-09-12T15:32:44.638Z","avatar_url":"https://github.com/amarz45.png","language":"Shell","readme":"DFM – dmenu File Manager\n================\n\n## Contents\n\n- [Introduction](#introduction)\n- [Usage](#usage)\n  - [Backtrack](#backtrack)\n- [Dependencies](#dependencies)\n- [Installation](#installation)\n  - [Universal](#universal)\n  - [Gentoo](#gentoo)\n- [Uninstallation](#uninstallation)\n  - [Universal](#universal-1)\n  - [Gentoo](#gentoo-1)\n- [Configuration](#configuration)\n- [Credit](#credit)\n\n## Introduction\n\nDFM is a simple file manager that uses dmenu. Instead of opening a slow\ngraphical environment, you open dmenu and quickly choose whatever file\nyou want to manipulate. It supports multiple selections and wildcards.\nDFM is the fastest file manager because it is only usable with the\nkeyboard, unless you apply the\n[mouse-support](https://tools.suckless.org/dmenu/patches/mouse-support/)\ndmenu patch. Keep in mind that DFM is still not a finished project,\nmeaning you will rarely encounter a bug. Please submit an issue or a\npull request if you have any issues or want any changes.\n\n## Usage\n\n``` sh\n`# user` dfm --print # Print the output of the selection\n`# user` dfm --copy # Copy the output of the selection to the clipboard\n`# user` dfm --open # Open the appropriate program for the selection\n`# user` dfm --menu=fzf # Change the menu command from `dmenu` to `fzf`\n`# user` dfm --restore # Restore the location of the previous run\n```\n\nThe default is the `open` option.\n\nTo select one file, press the \u003ckbd\u003eReturn\u003c/kbd\u003e key. To use the input\ninstead of the selection, press \u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003eReturn\u003c/kbd\u003e (not\nnecessary most of the time). To select multiple files, press\n\u003ckbd\u003eControl\u003c/kbd\u003e\u003ckbd\u003eReturn\u003c/kbd\u003e on each selection and press\n\u003ckbd\u003eReturn\u003c/kbd\u003e when you are finished. (This requires the\n[multi-selection](https://tools.suckless.org/dmenu/patches/multi-selection/)\ndmenu patch.) To select all the files, type `*`. To go to the home\ndirectory, type `~`. To go back a directory, type `..` or press\n\u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003eReturn\u003c/kbd\u003e without typing anything. To go to the\n`/` directory, type `/`.\n\n### Backtrack\n\nA cool new feature I added is to quickly backtrack to any directory.\nThis allows you to type a directory you passed in the prompt to return\nto it instead of constantly doing `..`. If you are in the\n`/home/amarakon/.local/src/amarakon/dfm` directory, you can type\n`.local` in the prompt and press \u003ckbd\u003eReturn\u003c/kbd\u003e to quickly backtrack\nto the `/home/amarakon/.local` directory. You do not even need to type\nthe full name! You can type `.l` instead of `.local` for example. If\nthere is more than one match, it will use the closest one. For example,\nif I was in the `/home/amarakon/.local/src/amarakon/dfm` directory and I\nchose to return to `amarakon`, It will return me to\n`/home/amarakon/.local/src/amarakon`.\n\n## Dependencies\n\n1.  dmenu\n2.  perl (for case-insensitive matching)\n3.  [sesame](https://github.com/green7ea/sesame) or xdg-utils (sesame is\n    preferred because it supports multi-selection and it is faster.)\n4.  xclip (if you want to use the *copy* or *copy contents* features.)\n\nMost of these will probably already be installed on your system, with\nthe exception of dmenu.\n\n## Installation\n\n### Universal\n\n``` sh\n`# user` git clone https://github.com/amarakon/dfm\n`# user` cd dfm\n`# root` make install\n```\n\n### Arch\n\nInstall the [dmenu-dfm](https://aur.archlinux.org/packages/dmenu-dfm) AUR\npackage.\n\n### Gentoo\n\n``` sh\n`# root` eselect repository add amarlay git https://github.com/amarakon/amarlay\n`# root` emerge --sync amarlay\n`# root` emerge x11-misc/dfm\n```\n\n## Uninstallation\n\n### Universal\n\n``` sh\n`# user` cd dfm\n`# root` make uninstall\n```\n\n### Arch\n\nUninstall the [dmenu-dfm](https://aur.archlinux.org/packages/dmenu-dfm) AUR\npackage.\n\n### Gentoo\n\n``` sh\n`# root` emerge -c x11-misc/dfm\n# Remove my overlay (optional)\n`# root` eselect-repository remove -f amarlay\n`# root` emerge --sync\n```\n\n## Configuration\n\nYou can change the default options for DFM via the configuration file.\nThe configuration file is located in the configuration directory, so\nusually `~/.config/dfm/dfm.conf`. Here is an example configuration:\n\n``` sh\ncopy=clipboard\ncat=true\ncase_sensitivity=sensitive\nmenu=fzf\nlength=30\npath=full\n```\n\n## Credit\n\nThis project is based on\n[clamiax/scripts](https://github.com/clamiax/scripts). It is based on\nthe `dbrowse` script.\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famarz45%2Fdfm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famarz45%2Fdfm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famarz45%2Fdfm/lists"}