{"id":18252091,"url":"https://github.com/ericonr/apppauser","last_synced_at":"2025-04-04T16:32:54.430Z","repository":{"id":65163569,"uuid":"226596120","full_name":"ericonr/AppPauser","owner":"ericonr","description":"An application pauser for all occasions","archived":false,"fork":false,"pushed_at":"2020-05-22T01:27:47.000Z","size":7,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T15:40:33.562Z","etag":null,"topics":["golang","linux-gaming","socket"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/ericonr.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}},"created_at":"2019-12-08T00:54:53.000Z","updated_at":"2024-08-22T07:30:20.000Z","dependencies_parsed_at":"2023-01-05T05:04:31.381Z","dependency_job_id":null,"html_url":"https://github.com/ericonr/AppPauser","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/ericonr%2FAppPauser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericonr%2FAppPauser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericonr%2FAppPauser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericonr%2FAppPauser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericonr","download_url":"https://codeload.github.com/ericonr/AppPauser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247209714,"owners_count":20901844,"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":["golang","linux-gaming","socket"],"created_at":"2024-11-05T09:50:00.108Z","updated_at":"2025-04-04T16:32:54.214Z","avatar_url":"https://github.com/ericonr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AppPauser\n\n[![forthebadge](https://forthebadge.com/images/badges/oooo-kill-em.svg)](https://forthebadge.com)\n\n*an application pauser for all occasions*\n\nThis application was inspired by [this post on Reddit](https://www.reddit.com/r/pcgaming/comments/e7ftzr/unpausable_cutscenes_i_made_a_windows_application/), which showcased an application that allows one to pause a game during unpausable cutscenes on Windows. \nOP's comments showed that the application had to pause the executing thread to pause a game, which led me to thinking about developing a similar application for Linux. \nIt's indeed very simple to send STOP and CONT signals on Linux, which made it possible to create a launcher wrapper that listens on a socket for commands like `pause`, `resume` and `kill`.\n\n## How to use\n\nLaunch the desired application with \n\n```shell\n$ apppauser your-application [arguments]\n```\n\nand control it with\n\n```shell\napppauserctl command\n```\n\nwhere `command` can be:\n\n* `pause`: sends the SIGSTOP signal to an application\n* `resume`: sends the SIGCONT signal to an application\n* `toggle`: sends either SIGSTOP or SIGCONT signal to an application, depending on its current status\n* `kill`: sends the SIGTERM signal to an application\n\n## How to install\n\nInstall the Go compiler, and then run `go get github.com/ericonr/AppPauser` to compile both binaries and store them in `$GOBIN`. \nYou then only need to add `$GOBIN` to your `$PATH` and you are ready to use this!\n\n## Future steps\n\nThere's still a lot to do. What I've already thought about:\n\n* Make the default name for sockets be related to the user's username\n* Include feedback on the output of apppauserctl, which for now doesn't listen to any responses\n* Create command line options to determine the socket name and other options (such as starting an application already paused)\n\n## Warning\n\nThis is as incomplete as it comes, but it did work in my machine. Please let me know about any issues!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericonr%2Fapppauser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericonr%2Fapppauser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericonr%2Fapppauser/lists"}