{"id":13437779,"url":"https://github.com/IgnorantGuru/spacefm","last_synced_at":"2025-03-19T18:30:38.301Z","repository":{"id":2723044,"uuid":"3717775","full_name":"IgnorantGuru/spacefm","owner":"IgnorantGuru","description":"SpaceFM File Manager","archived":false,"fork":false,"pushed_at":"2024-04-21T20:44:27.000Z","size":72718,"stargazers_count":492,"open_issues_count":232,"forks_count":73,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-03-01T00:43:54.387Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ignorantguru.github.com/spacefm/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IgnorantGuru.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-03-14T13:19:23.000Z","updated_at":"2025-02-25T10:30:56.000Z","dependencies_parsed_at":"2024-06-19T01:11:36.426Z","dependency_job_id":null,"html_url":"https://github.com/IgnorantGuru/spacefm","commit_stats":{"total_commits":1576,"total_committers":12,"mean_commits":"131.33333333333334","dds":0.1725888324873096,"last_synced_commit":"e6f291858067e73db44fb57c90e4efb97b088ac8"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgnorantGuru%2Fspacefm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgnorantGuru%2Fspacefm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgnorantGuru%2Fspacefm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgnorantGuru%2Fspacefm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IgnorantGuru","download_url":"https://codeload.github.com/IgnorantGuru/spacefm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244483106,"owners_count":20460056,"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":[],"created_at":"2024-07-31T03:01:00.179Z","updated_at":"2025-03-19T18:30:37.380Z","avatar_url":"https://github.com/IgnorantGuru.png","language":"C","funding_links":[],"categories":["C","Applications"],"sub_categories":["File Manager"],"readme":"README for SpaceFM v1.0\n\n    Homepage       http://ignorantguru.github.io/spacefm/\n    Downloads      https://github.com/IgnorantGuru/spacefm/releases\n    News           http://ignorantguru.github.io/spacefm/news.html\n    Wiki           https://github.com/IgnorantGuru/spacefm/wiki\n    Screenshots    https://github.com/IgnorantGuru/spacefm/wiki/Screenshots\n    Users Manual   http://ignorantguru.github.io/spacefm/spacefm-manual-en.html\n    Forum          https://sourceforge.net/p/spacefm/discussion/general/\n    Report Issues  https://github.com/IgnorantGuru/spacefm/issues\n\n\nCONTENTS\n\n    DESCRIPTION\n    PACKAGES\n    INSTALLER\n    DEPENDENCIES\n    DOWNLOAD\n    INSTALL\n    BUILD DEBUG\n    CREATE DEBIAN PACKAGE\n    UNINSTALL\n    USING GIT\n    ENABLE KERNEL POLLING\n    TRANSLATE\n    RELEASE\n    LICENSE\n    DERIVATIVE WORKS\n\n\nDESCRIPTION\n\n    SpaceFM is a multi-panel tabbed file and desktop manager for Linux with\n    built-in VFS, udev- or HAL-based device manager, customisable menu system,\n    and bash integration. SpaceFM aims to provide a stable, capable file\n    manager with significant customisation capabilities.\n\n\nPACKAGES\n\n    SpaceFM is included in most distro repositories.  To find packages, forum\n    threads, and other info for your distro, see:\n        https://github.com/IgnorantGuru/spacefm/wiki/Distros\n\n    For other distros, or to build with custom options, see INSTALLER below.\n\n\nINSTALLER\n\n    The easiest way to download and build SpaceFM is to use the net installer,\n    which automates the instructions in this README. To download the installer:\n\n    wget https://raw.github.com/IgnorantGuru/spacefm/next/spacefm-installer\n    # OR using curl:\n    curl -L -o spacefm-installer \\\n            https://raw.github.com/IgnorantGuru/spacefm/next/spacefm-installer\n\n    To run the installer (MUST be run in a terminal):\n\n        bash spacefm-installer\n\n    Most users can press Enter to accept default values at both prompts.\n\n    The installer will display dependencies for your chosen build.  If\n    any dependencies are missing, examine the error, install missing packages,\n    and try again.  See DEPENDENCIES below for reference.\n\n    If you have already downloaded the source, the installer can be run from\n    within the source directory to automatically build and install:\n\n        ./spacefm-installer\n\n    When SpaceFM is installed, the installer is also installed to /usr/bin.\n    For automated options, run:  spacefm-installer --help\n\n    To reinstall or upgrade, just run the installer again.  For example, to\n    upgrade to the latest rolling release, just run:\n\n        spacefm-installer --version=next --prefix=/usr\n\n    To uninstall:   spacefm-installer --uninstall\n\n\nDEPENDENCIES\n\n    Install required build dependencies (below are Debian package names -\n    packages names on your distro may vary but should be similar):\n\n        autotools-dev bash build-essential intltool pkg-config fakeroot\n        shared-mime-info desktop-file-utils libc6 libcairo2 libglib2.0-0\n        libglib2.0-dev libpango1.0-0 libx11-6 libx11-dev libudev1\n        libudev-dev libffmpegthumbnailer-dev\n\n    Also, if using GTK2: libgtk2.0-0 (\u003e=2.18) libgtk2.0-dev libgtk2.0-bin\n\n    OR, if using GTK3:   libgtk-3-0 libgtk-3-dev libgtk-3-bin\n\n    Also, if you want to use startup notification: libstartup-notification0-dev\n\n    For optional dbus support: dbus libdbus-1-3 libdbus-1-dev\n\n    RECOMMENDED: udevil|pmount|udisks gksu|kdesu|ktsuss|lxqt-sudo eject lsof\n                 wget\n\n    For additional mounting support: fuseiso curlftpfs jmtpfs gphotofs ifuse\n\n    IMPORTANT: SpaceFM is highly integrated with bash and uses features of\n    bash v4.  Attempting to substitute another shell for bash WILL cause\n    feature breakage, even if not immediately apparent.  Install genuine bash.\n\n    configure will report anything missing when you run it as shown below.\n\n\nDOWNLOAD\n\n    SpaceFM is distributed via Github:\n        https://github.com/IgnorantGuru/spacefm/releases\n\n    First, make a temporary directory and enter it:\n\n        mkdir /tmp/spacefm-build\n        cd /tmp/spacefm-build\n\n    To download a branch, particular version, or under-development commit, use:\n\n    wget -O spacefm.tar.gz https://github.com/IgnorantGuru/spacefm/archive/next.tar.gz\n\n    The above example downloads the 'next' branch, which is SpaceFM's rolling\n    release.  You can also substitute 'master' (stable release), a version\n    number (eg '1.0.4'), or a commit (eg 1709b809) for 'next' in the above URL.\n\n    Then, extract the archive, and enter the source directory:\n\n        tar xzf spacefm.tar.gz \u0026\u0026 cd spacefm-*\n\n    ALTERNATIVELY, instead of downloading the tarball with wget above, you can\n    use git to clone the SpaceFM source repo, check signatures, and download\n    upgrades.  See the USING GIT section further below.\n\n\nINSTALL\n\n    Use these commands to build and install:\n\n        ./configure --prefix=/usr\n        make -s\n        sudo make install\n        sudo update-mime-database /usr/share/mime \u003e /dev/null\n        sudo update-desktop-database -q\n        sudo gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor\n        sudo gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza\n\n        # Remove Temporary Files\n        cd / \u0026\u0026 rm -rf /tmp/spacefm-build\n\n    If configure reports missing dependencies, install them and run configure\n    again before proceeding to make.\n\n    configure options for alternate builds:\n\n    --with-gtk3\n        By default, configure will use GTK2 if installed.  To force use of\n        GTK3, add --with-gtk3.\n\n        BE SURE to use a GTK3 theme which supports your CURRENT version of GTK3\n        (no theme warnings should appear when spacefm is run in a terminal),\n        or use Adwaita.\n\n        PACKAGERS: Due to other desktop components, some users may require or\n        prefer GTK2.  Please consider providing both spacefm-gtk2 and\n        spacefm-gtk3 packages for your users.\n\n    --disable-video-thumbnails\n        Remove support for video thumbnails.  Omit libffmpegthumbnailer.\n\n    --enable-hal\n        Use HAL instead of udev.  Device manager functions are extremely\n        limited.  Use of this build is only recommended if udev or eudev is not\n        available.  SpaceFM HAL support is no longer actively developed, yet\n        please report any build problems.\n        Instead of libudev1 and libudev-dev, install:\n            hal libhal-dev libhal-storage-dev libhal-storage1 libhal1\n            libdbus-glib-1-2 libdbus-glib-1-dev dbus libdbus-1-3 libdbus-1-dev\n\n    --sysconfdir=/etc\n        Set the correct location of /etc on your system for installing\n        /etc/spacefm/spacefm.conf.\n\n    For additional configure options, see:  ./configure --help\n\n    To run root commands, SpaceFM supports gksu, gksudo, gnomesu, kdesu,\n    kdesudo, ktsuss, lxqt-sudo, xdg-su, su-to-root, su, and sudo.  To configure\n    an additional terminal or graphical su program see\n    /etc/spacefm/spacefm.conf. Or, to build with an additional graphical su\n    program ('/usr/bin/mysu' in this example), add:\n        --with-preferable-sudo=/usr/bin/mysu\n\n    Note: When using older distros, enabling kernel polling may be required. If\n    you insert a CD and SpaceFM still says 'no media', please see the ENABLE\n    KERNEL POLLING section further below.\n\n\nBUILD DEBUG\n\n    If SpaceFM crashes or hangs on your system, you can help to correct this\n    problem by reporting it, including a full backtrace.\n\n    The easiest way to install a debug-compatible version of SpaceFM is using\n    the installer.  See INSTALLER section above.  At the install options\n    prompt, enter 1 for Debug.  Or run:  spacefm-installer --version=next 1\n\n    OR, to manually build for debugging:\n\n    1)  Install build dependencies for your build (see DEPENDENCIES above).\n\n    2)  Install the 'gdb' GNU Debugger, and debugging library symbols.  For\n        example on Debian (packages on other distros should have similar names):\n        libc6-dbg libglib2.0-0-dbg libgtk2.0-0-dbg|libgtk-3-0-dbg librsvg2-dbg gdb\n\n    3)  Follow the DOWNLOAD and INSTALL instructions above, substituting this\n        configure command (add any other desired configure options):\n\n            CFLAGS='-ggdb3' STRIP='!strip' ./configure --prefix=/usr\n\n    4)  After completing the install, run spacefm with the debugger:\n\n            gdb spacefm\n\n        In gdb, enter 'run' at the prompt.  Or, to make gdb halt on any\n        warnings, use 'run --g-fatal-warnings'.\n\n        SpaceFM will start.  When the crash occurs, gdb will freeze SpaceFM.\n        Or if SpaceFM hangs, press Ctrl-C in gdb to interrupt it, or in another\n        terminal run:   killall -s KILL spacefm\n\n    5)  In gdb enter:  thread apply all bt full\n\n        Provide the output with your detailed bug report at\n        https://github.com/IgnorantGuru/spacefm/issues\n\n    NOTE: When SpaceFM is built this way, it may run more slowly and use more\n    memory.  Once you are done debugging, be sure to install a normal\n    (optimized) build.\n\n\nCREATE DEBIAN PACKAGE\n\n    It's easy to create a binary deb package of SpaceFM on your Debian-based\n    distro.  Please see the file distros/debian/README-DEBIAN.  Also note that\n    there are SpaceFM packages in the official Debian repos and elsewhere:\n    https://github.com/IgnorantGuru/spacefm/wiki/Debian\n\n\nUNINSTALL\n\n    If you installed from a package, use your package manager to remove\n    SpaceFM.  Or, use the installer to uninstall:\n\n        spacefm-installer --uninstall\n\n    Otherwise, run these commands AS ROOT:\n\n        rm /usr/bin/spacefm /usr/bin/spacefm-auth /usr/bin/spacefm-installer\n        rm -r /usr/share/spacefm     # this may remove SpaceFM plugins\n        rm /usr/share/pixmaps/spacefm.png\n        rm /usr/share/pixmaps/spacefm-*.png\n        rm /usr/share/icons/hicolor/*/apps/spacefm.png\n        rm /usr/share/icons/hicolor/*/apps/spacefm-*.png\n        rm /usr/share/icons/Faenza/apps/48/spacefm.png\n        rm /usr/share/icons/Faenza/apps/48/spacefm-*.png\n        rm /usr/share/*/LC_MESSAGES/spacefm.mo\n        rm /usr/share/applications/spacefm*.desktop\n        rm /usr/share/mime/packages/spacefm-mime.xml\n        update-mime-database /usr/share/mime \u003e /dev/null\n        update-desktop-database -q\n        gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor\n\n\nUSING GIT\n\n    Instead of downloading a tarball to install SpaceFM, you can download some\n    or all of the source repo using git.  See a tutorial for complete git\n    instructions, but a few examples are provided below.\n\n    To download just the source dir of a given branch, version, or commit, run:\n\n        git clone --depth 1 -b next git://github.com/IgnorantGuru/spacefm.git spacefm\n        cd spacefm\n\n    You can substitute any branch or version (eg 1.0.4) for 'next' in the above\n    command.  To build and install, see INSTALL above, or run:\n        ./spacefm-installer\n\n    To pull in the latest changes to the next branch, run:\n\n        git pull origin next\n\n    Then you can proceed to INSTALL instructions to install the upgrade, or\n    run:  ./spacefm-installer\n\n    Although git already includes strong integrity protection, SpaceFM release\n    tags are also signed with IgnorantGuru's GPG key 0x01937621 (Key\n    fingerprint = 7977 070A 723C 6CCB 696C  0B02 27A5 AC5A 0193 7621).\n\n    To verify the GPG signature on a release (1.0.4 in this example), run:\n        git tag -v 1.0.4\n\n    To download the full SpaceFM source repo, with all branches and history:\n\n        git clone git://github.com/IgnorantGuru/spacefm.git spacefm\n        cd spacefm\n\n    To find the sources for a particular branch (eg next or master), version,\n    or commit (in this example, version 1.0.4), run:\n\n        git checkout 1.0.4\n\n    Then you can proceed to INSTALL instructions or run spacefm-installer.\n\n    To create a tar.xz archive of the sources for version 1.0.4:\n\n        git archive 1.0.4 --prefix=spacefm-1.0.4/ | xz \u003e spacefm-1.0.4.tar.xz\n\n\nENABLE KERNEL POLLING\n\n    Kernel polling, which allows for device and media change detection, is a\n    newer feature of the Linux kernel and udev, so some distros don't yet have\n    it enabled by default, but most already do.  If you insert a CD and SpaceFM\n    still says 'no media', this is a symptom that kernel polling is not\n    enabled.\n\n    To use kernel polling, your Linux kernel may need to be 2.6.38 or newer,\n    and udev may need to be version 173 or newer.\n\n    TO DETERMINE IF KERNEL POLLING IS ENABLED:\n\n        cat /sys/module/block/parameters/events_dfl_poll_msecs\n        cat /sys/block/sr0/events_poll_msecs\n\n    If you get 0 or -1 from both of those commands, kernel polling may be\n    disabled.\n\n    TO ENABLE KERNEL POLLING PERMANENTLY (survives a reboot), add the\n    following command to your /etc/rc.local file (anywhere before the\n    'exit' line in that file):\n\n        echo 2000 \u003e /sys/module/block/parameters/events_dfl_poll_msecs\n\n    Any number between 2000 and 5000 (milliseconds) should be reasonable -\n    the higher 5000 means poll every 5 seconds, which is less overhead but\n    a little slower.\n\n    OR pass this option to the kernel boot command line in grub:\n\n        block.events_dfl_poll_msecs=2000\n\n    OR add a udev rule to enable kernel polling on removable devices:\n\n        echo 'ACTION==\"add\", ATTR{removable}==\"1\", \\\n              ATTR{events_poll_msecs}==\"-1\", ATTR{events_poll_msecs}=\"2000\"' \\\n              \u003e /etc/udev/rules.d/61-removable-storage-polling.rules\n\n    A reboot will be required for the above changes to take effect, or...\n\n    TO ENABLE KERNEL POLLING TEMPORARILY AND IMMEDIATELY, enable common\n    polling for the block module:\n\n        sudo bash -c 'echo 2000 \u003e /sys/module/block/parameters/events_dfl_poll_msecs'\n\n    OR you can enable polling just for a single device like this (/dev/sr0\n    in this example):\n\n        sudo bash -c 'echo 2000 \u003e /sys/block/sr0/events_poll_msecs'\n\n    This change should be immediate - media will be detected.  However, the\n    above change will be lost when you reboot.\n\n    References:\n    http://www.mail-archive.com/lfs-dev@linuxfromscratch.org/msg15714.html\n    http://blogs.gentoo.org/mgorny/2011/06/20/uam-can-now-mount-cds-and-dvds/\n    https://bugs.archlinux.org/task/25609\n    http://unix.stackexchange.com/questions/38582/\n\n\nTRANSLATE\n\n    To help translate SpaceFM please visit:\n        https://github.com/IgnorantGuru/spacefm/wiki/Translate\n\n    At Transifex:\n        https://www.transifex.com/ignorantguru/spacefm/\n\n    Just sign up for a free Transifex account.  For instructions visit:\n        http://help.transifex.com/intro/translating.html#translating\n\n\nRELEASE\n\n    For developers:  The 'release' script in the SpaceFM source dir is used by\n    SpaceFM developers (or forks) to perform a release.\n\n    To use this script, complete changes to the next branch (they don't have to\n    be commited), then run: ./release\n\n    Note the manual workflow items listed by the script before proceeding.\n\n    The script will interactively perform a release of SpaceFM by increasing\n    the version number, preparing the source dir for distribution, commiting\n    the next branch, merging to master, signing the release tag, pushing\n    master, starting the next version, and pushing next.  You must have\n    permission to push to git's origin.  It also optionally pulls the wiki, and\n    pushes gh-pages, if present.\n\n    When the script is finished, master branch will contain the new release,\n    next branch will be prepared for the next version, and Github will show the\n    release tag in Releases.\n\n\nLICENSE\n\n    SpaceFM - Copyright (C) 2018 IgnorantGuru   GPL3+\n\n    This program is free software; you can redistribute it and/or modify it\n    under the terms of the GNU General Public License as published by the\n    Free Software Foundation; either version 3 of the License, or (at your\n    option) any later version.\n\n    USE AT YOUR OWN RISK.  This program is distributed in the hope that it\n    will be useful, but WITHOUT ANY WARRANTY; without even the implied\n    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See\n    the GNU General Public License for more details.\n\n    The 'exo' libraries and source code used by this software are licensed\n    under the GNU General Public License and the GNU Lesser General Public\n    License version 3 (LGPL3).\n\n    You should have received a copy of the GNU General Public License and\n    the GNU Lesser General Public License along with this program; if not,\n    write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth\n    Floor, Boston, MA  02110-1301, USA.\n\n    See COPYING and COPYING-LGPL files.\n\n\nDERIVATIVE WORKS\n\n    If you plan to publish a significant amount of or the full source to\n    SpaceFM with your modifications, please see the following wiki article:\n\n    https://github.com/IgnorantGuru/spacefm/wiki/Guidelines-For-Distributing-Modifications\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIgnorantGuru%2Fspacefm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIgnorantGuru%2Fspacefm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIgnorantGuru%2Fspacefm/lists"}