{"id":19724875,"url":"https://github.com/cromega08/desktopfy","last_synced_at":"2026-04-15T13:34:03.759Z","repository":{"id":106334090,"uuid":"561378789","full_name":"cromega08/desktopfy","owner":"cromega08","description":"A bash script to add shortcuts to executable files in linux OS.","archived":false,"fork":false,"pushed_at":"2022-11-03T16:42:46.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T15:28:08.494Z","etag":null,"topics":["bash","bash-prompt","bash-script","bash-scripting","desktop","directory","linux","linux-desktop","shell","shell-prompt","shell-script","shell-scripting","shell-scripts","shellcode","shellscript","shortcut","shortcuts","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/cromega08.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":"2022-11-03T15:04:26.000Z","updated_at":"2022-11-03T16:40:02.000Z","dependencies_parsed_at":"2024-04-21T10:46:36.006Z","dependency_job_id":null,"html_url":"https://github.com/cromega08/desktopfy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cromega08/desktopfy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cromega08%2Fdesktopfy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cromega08%2Fdesktopfy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cromega08%2Fdesktopfy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cromega08%2Fdesktopfy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cromega08","download_url":"https://codeload.github.com/cromega08/desktopfy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cromega08%2Fdesktopfy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31842968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bash","bash-prompt","bash-script","bash-scripting","desktop","directory","linux","linux-desktop","shell","shell-prompt","shell-script","shell-scripting","shell-scripts","shellcode","shellscript","shortcut","shortcuts","ubuntu"],"created_at":"2024-11-11T23:27:26.488Z","updated_at":"2026-04-15T13:34:03.744Z","avatar_url":"https://github.com/cromega08.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# desktopfy\n\nA bash script to add shortcuts to executable files in linux OS.\n\n## Installation\n\n### Download\n\nClone the repo in your machine or copy the code inside the \"desktopfy.sh\" file.\n\n### Set global access\n\nIf want to execute globally in your machine, rename the file and remove the \".sh\" in the filename:\n\n```bash\nmv /path/to/script/desktopfy.sh /path/to/script/desktopfy\n```\n\nThen, move the new file inside the binaries location in your machine. Recommended to move inside\" ~/.local/bin\":\n\n```bash\nmv /path/to/script/desktopfy ~/.local/bin\n```\n\n## Usage/Examples\n\n### Usage\n\n1. Access\n\n\tFirst of all, need to see how to access the script in your machine.\n\n\t1.1. Global Access\n\n    If configured global access (inside a bin dir) as explained in the installation tutorial, then just call:\n\n    ```bash\n    desktopfy\n    ```\n\n\t1.2. Local Access\n\n    To call, move inside the file containing the script and call using:\n\n    ```bash\n    mv /path/to/script\n    ```\n\n    ```bash\n    ./desktopfy.sh\n    ```\n\n    Or just call using the absolute path:\n\n    ```bash\n    /path/to/script/desktopfy.sh\n    ```\n\n2. Arguments\n\n\tdesktopfy need 4 positional arguments to work:\n\n\t* Name (-n): The name of the applications.\n\n  \t\t- For multiple word, wrap inside \"\" (\"some thing\").\n\n  \t\t- Avoid use of special characters, only use letters ([a-z]|[A-Z]), numbers ([0-9]) and space (\" \").\n\n\t* Executable (-e): The path to the executable.\n\n  \t\t- Recommend the use of the absolute path (\"/the/complete/path/to/file.AppImage\").\n\n\t\t- Recommend the use of \".AppImage\" files.\n\n\t\t- If only filename is used, the script gonna complete with the working dir.\n\n\t* Icon (-i): The path to the image thumbnail.\n\n\t\t* Recommend the use of the absolute path (\"/the/complete/path/to/image.ico\").\n\n\t\t* Recommend the use of \".ico\" files.\n\n\t\t* If only filename is used, the script gonna complete with the working dir.\n\n\t* Terminal (-t): Indicates if terminal showed when executing.\n\n\t\t* Only \"true\" of \"false\" string arguments are allowed.\n\n\t\t* Raise \"Error\" any other input.\n\n### Examples\n\nThe examples will be of a process to add a shortcut for \"Balena Etcher\".\n\n1. Common case\n\n```bash\ndesktopfy -n balena -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/etcher.ico -t false\n```\n\n```bash\nCreating \"balena\" as balena.desktop\n\"balena\" was created as balena.desktop\n```\n\n2. Multiple words name\n\n```bash\ndesktopfy -n \"balena etcher\" -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/etcher.ico -t false\n```\n\n```bash\nCreating \"balena etcher\" as \"balena_etcher.desktop\"\n\"balena etcher\" was created as \"balena_etcher.desktop\"\n```\n\n3. Relative files\n\n```bash\nmv ~/balena_etcher/etcher\n```\n\n```bash\ndesktopfy -n \"balena etcher\" -e balenaEtcher-1.7.8-x64.AppImage -i etcher.ico -t false\n```\n\n```bash\nCreating \"balena etcher\" as \"balena_etcher.desktop\"\n\"balena etcher\" was created as \"balena_etcher.desktop\"\n```\n\n4. Using capitals letters and\\or numbers\n\n```bash\ndesktopfy -n \"BaleNa 2etcher\" -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/etcher.ico -t false\n```\n\n```bash\nCreating \"BaleNa 2etcher\" as \"balena_2etcher.desktop\"\n\"BaleNa 2etcher\" was created as \"balena_2etcher.desktop\"\n```\n\n5. Overwriting existing file\n\n```bash\ndesktopfy -n \"balena etcher\" -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/etcher.ico -t false\n```\n\n* No (\"n\"):\n\n    ```bash\n    Creating \"balena etcher\" \"as balena_etch.desktop\"\n    \"balena_etch.desktop\" already exists among the shortcuts, do you want to overwrite file? [y/n]: n\n\n    Stoping process\n    ```\n\n* Yes (\"y\"):\n\n    ```bash\n    Creating \"balena etcher\" as \"balena_etch.desktop\"\n    \"balena_etch.desktop\" already exists among the shortcuts, do you want to overwrite file? [y/n]: y\n    \"balena etcher\" was created as \"balena_etcher.desktop\"\n    ```\n\n6. Error: Invalid name argument\n\n```bash\ndesktopfy -n \"balena_etcher\" -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/etcher.ico -t invalidArgument\n```\n\n```bash\nError: Invalid name \"balena_etcher\"\n\nUsage: desktopfy [-n \u003cprogramm_name\u003e] [-e \u003cexecutable_path\u003e] [-i \u003cicon_path\u003e] [-t \u003ctrue|false\u003e]\n\n        -n      Name of the program, for multiple words need to start and end with \"\" (ex. \"some thing\")\n                (Avoid the use of special characters as *, / or others similar)\n\n        -e      Path to the .AppImage, .bin or executable file gonna be used for execution\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -i      Path to the .ico, .png or other image file that gonna be used for icon\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -t      Declare if the terminal it's gonna be showed when executing the program\n                (Only \"true\" or \"false\" arguments are accepted)\n```\n\n7. Error: Executable doesn't exist\n\n```bash\ndesktopfy -n \"balena etcher\" -e ~/balena_etcher/etcher/falseBalena.AppImage -i ~/balena_etcher/etcher/etcher.ico -t false\n```\n\n```bash\nError: \"~/balena_etcher/etcher/falseBalena.AppImage\" doesn't exist\n\nUsage: desktopfy [-n \u003cprogramm_name\u003e] [-e \u003cexecutable_path\u003e] [-i \u003cicon_path\u003e] [-t \u003ctrue|false\u003e]\n\n        -n      Name of the program, for multiple words need to start and end with \"\" (ex. \"some thing\")\n                (Avoid the use of special characters as *, / or others similar)\n\n        -e      Path to the .AppImage, .bin or executable file gonna be used for execution\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -i      Path to the .ico, .png or other image file that gonna be used for icon\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -t      Declare if the terminal it's gonna be showed when executing the program\n                (Only \"true\" or \"false\" arguments are accepted)\n```\n\n8. Error: Icon image doesn't exist\n\n```bash\ndesktopfy -n \"balena etcher\" -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/falseEtcher.ico -t false\n```\n\n```bash\nError: \"~/balena_etcher/etcher/falseEtcher.ico\" doesn't exist\n\nUsage: desktopfy [-n \u003cprogramm_name\u003e] [-e \u003cexecutable_path\u003e] [-i \u003cicon_path\u003e] [-t \u003ctrue|false\u003e]\n\n        -n      Name of the program, for multiple words need to start and end with \"\" (ex. \"some thing\")\n                (Avoid the use of special characters as *, / or others similar)\n\n        -e      Path to the .AppImage, .bin or executable file gonna be used for execution\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -i      Path to the .ico, .png or other image file that gonna be used for icon\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -t      Declare if the terminal it's gonna be showed when executing the program\n                (Only \"true\" or \"false\" arguments are accepted)\n```\n\n9. Error: Invalid terminal argument\n\n```bash\ndesktopfy -n \"balena etcher\" -e ~/balena_etcher/etcher/balenaEtcher-1.7.8-x64.AppImage -i ~/balena_etcher/etcher/etcher.ico -t invalidArgument\n```\n\n```bash\nError: \"invalidArgument\" isn't a valid argument for -t\n\nUsage: desktopfy [-n \u003cprogramm_name\u003e] [-e \u003cexecutable_path\u003e] [-i \u003cicon_path\u003e] [-t \u003ctrue|false\u003e]\n\n        -n      Name of the program, for multiple words need to start and end with \"\" (ex. \"some thing\")\n                (Avoid the use of special characters as *, / or others similar)\n\n        -e      Path to the .AppImage, .bin or executable file gonna be used for execution\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -i      Path to the .ico, .png or other image file that gonna be used for icon\n                (If only name is provided, the current dir gonna be used as parent)\n\n        -t      Declare if the terminal it's gonna be showed when executing the program\n                (Only \"true\" or \"false\" arguments are accepted)\n```\n\n## Authors\n\n* [@Cromega08](https://www.github.com/cromega08)\n\n## License\n\n* [GNU AGPL v3.0](https://choosealicense.com/licenses/agpl-3.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcromega08%2Fdesktopfy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcromega08%2Fdesktopfy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcromega08%2Fdesktopfy/lists"}