{"id":15116972,"url":"https://github.com/euclio/fm","last_synced_at":"2025-04-09T23:13:59.598Z","repository":{"id":38273453,"uuid":"367532679","full_name":"euclio/fm","owner":"euclio","description":"Small, general purpose file manager built with GTK4.","archived":false,"fork":false,"pushed_at":"2025-03-23T01:06:15.000Z","size":317,"stargazers_count":197,"open_issues_count":45,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-09T23:13:54.445Z","etag":null,"topics":["file-manager","gtk4","relm4","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/euclio.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-15T03:41:48.000Z","updated_at":"2025-04-07T18:03:05.000Z","dependencies_parsed_at":"2024-07-31T19:32:28.197Z","dependency_job_id":"fa909b87-4107-4f1e-851d-5a0047428153","html_url":"https://github.com/euclio/fm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euclio%2Ffm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euclio%2Ffm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euclio%2Ffm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euclio%2Ffm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/euclio","download_url":"https://codeload.github.com/euclio/fm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125589,"owners_count":21051770,"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","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":["file-manager","gtk4","relm4","rust"],"created_at":"2024-09-26T01:45:27.434Z","updated_at":"2025-04-09T23:13:59.563Z","avatar_url":"https://github.com/euclio.png","language":"Rust","funding_links":[],"categories":["File and Data Management","Rust","Linux"],"sub_categories":["File Management","Other"],"readme":"# fm\n\n`fm` is a small, general-purpose file manager built using GTK and [Relm4].\n\n![Screenshot](https://user-images.githubusercontent.com/1372438/164090003-20bca431-e2ef-475a-86d4-df64d10e1989.png)\n\nThe directories are visualized using [Miller columns], which enables quick\nnavigation throughout the hierarchy.\n\n`fm` is in the early stages of development. Manipulating important files with it\nrisks data loss.\n\n## Platform support\n\nDevelopment is currently focused on Linux, but bug reports for other platforms\nare welcome.\n\nThe application is known to run successfully on MacOS. Other platforms are\nuntested, but if you can get the system dependencies to build, `fm` should work.\n\n## Hacking\n\n`fm` is a Rust project that utilizes [GTK 4][install-gtk],\n[libpanel][install-libpanel], [GtkSourceView][install-gtksourceview], and\n[libadwaita][install-libadwaita].\n\n1. First, [install Rust and Cargo][install-rust].\n\n2. Install system dependencies.\n\n    Note that libpanel is alpha software and may not be packaged for your\n    system. In that case, you can build it from source, install it, and then\n    build `fm` with the `PKG_CONFIG_PATH` environment variable set to\n    `PKG_CONFIG_PATH=\"/path/to/libpanel/lib/pkgconfig:$PKG_CONFIG_PATH\"`.\n\n    #### Arch Linux\n\n    ```sh\n    $ pacman -Syu gtk4 libadwaita libpanel-git gtksourceview5\n    ```\n\n    #### Fedora\n\n    ```\n    $ dnf install -y gtk4 libadwaita-devel libpanel\n    ```\n\n    #### openSUSE\n\n    ```sh\n    $ zypper in glib2-devel pango-devel gtk4-devel libadwaita-devel libpanel-devel gtksourceview5-devel libpoppler-glib-devel\n    ```\n\n3. Build and run the application.\n\n    ```sh\n    $ cargo run\n    ```\n\n## License\n\n`fm` is licensed under the MIT license.\n\n[Miller columns]: https://en.wikipedia.org/wiki/Miller_columns\n[install-rust]: https://www.rust-lang.org/tools/install\n[install-gtk]: https://www.gtk.org/docs/installations/\n[install-gtksourceview]: https://wiki.gnome.org/Projects/GtkSourceView\n[install-libadwaita]: https://gnome.pages.gitlab.gnome.org/libadwaita/\n[install-libpanel]: https://gitlab.gnome.org/chergert/libpanel\n[Relm4]: https://aaronerhardt.github.io/relm4-book/book/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuclio%2Ffm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feuclio%2Ffm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuclio%2Ffm/lists"}