{"id":13862871,"url":"https://github.com/kyagi/shell-pop-el","last_synced_at":"2025-07-14T13:32:52.258Z","repository":{"id":41566001,"uuid":"6213445","full_name":"kyagi/shell-pop-el","owner":"kyagi","description":"shell-pop.el helps you to use shell easily on Emacs. Only one key action to work.","archived":false,"fork":false,"pushed_at":"2023-12-28T06:12:03.000Z","size":315,"stargazers_count":211,"open_issues_count":11,"forks_count":21,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-08-05T06:06:23.964Z","etag":null,"topics":["emacs","guake","shell","terminal"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kyagi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2012-10-14T12:31:10.000Z","updated_at":"2024-07-14T09:53:44.000Z","dependencies_parsed_at":"2024-04-08T16:58:35.643Z","dependency_job_id":"572df62d-1b50-4ee5-8d27-6fb1734014f3","html_url":"https://github.com/kyagi/shell-pop-el","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyagi%2Fshell-pop-el","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyagi%2Fshell-pop-el/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyagi%2Fshell-pop-el/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyagi%2Fshell-pop-el/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kyagi","download_url":"https://codeload.github.com/kyagi/shell-pop-el/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225980898,"owners_count":17554919,"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":["emacs","guake","shell","terminal"],"created_at":"2024-08-05T06:01:54.569Z","updated_at":"2024-11-22T23:30:30.805Z","avatar_url":"https://github.com/kyagi.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# shell-pop-el [![melpa badge][melpa-badge]][melpa-link] [![melpa stable badge][melpa-stable-badge]][melpa-stable-link]\n\nshell-pop.el helps you to use shell easily on Emacs. Only one key action to work.\n\n## Installation\n\nYou can install shell-pop.el from [MELPA](https://melpa.org/) and [Marmalade](https://marmalade-repo.org/)\nwith `package.el`.\n\n```\n M-x package-install shell-pop\n```\n\n### Manual Install\n\nMake sure to place shell-pop.el somewhere in the load-path and add the following lines\nto your init file(`~/.emacs.d/init.el`, `~/.emacs` etc).\n\n```lisp\n(add-to-list 'load-path \"somewhere\")\n(require 'shell-pop)\n```\n\n## Customization\n\nUse `M-x customize-variable RET shell-pop-shell-type RET` to customize the shell to use.  Four pre-set options are: `shell`, `terminal`, `ansi-term`, and `eshell`.  You can also set your custom shell if you use other configuration.\n\nFor `terminal` and `ansi-term` options, you can set the underlying shell by customizing `shell-pop-term-shell`.  By default, `shell-file-name` is used, but you can also use `/bin/tcsh`, `/bin/zsh` or others.\n\nUse `M-x customize-group RET shell-pop RET` to set further options such as hotkey, window height and position.\nYou can get a full frame layout by setting `full` to `shell-pop-window-position`.\n\nAfter saving the customized values, your .emacs file will be like as follows.\n\n```lisp\n(custom-set-variables\n ;; custom-set-variables was added by Custom.\n ;; If you edit it by hand, you could mess it up, so be careful.\n ;; Your init file should contain only one such instance.\n ;; If there is more than one, they won't work right.\n '(shell-pop-default-directory \"/Users/kyagi/git\")\n '(shell-pop-shell-type (quote (\"ansi-term\" \"*ansi-term*\" (lambda nil (ansi-term shell-pop-term-shell)))))\n '(shell-pop-term-shell \"/bin/bash\")\n '(shell-pop-universal-key \"C-t\")\n '(shell-pop-window-size 30)\n '(shell-pop-full-span t)\n '(shell-pop-window-position \"bottom\")\n '(shell-pop-autocd-to-working-dir t)\n '(shell-pop-restore-window-configuration t)\n '(shell-pop-cleanup-buffer-at-process-exit t))\n ```\n\n#### `shell-pop-window-position`(Default: \"bottom\")\n\nPosition of popup window. You can choose `\"bottom\"`, `\"top\"`, `\"right\"`, `\"left\"` and `\"full\"`.\nUse entire frame when this value is `\"full\"`.\n\n\n#### `shell-pop-window-size`(Default: `30`)\n\nPercentage for shell-buffer window size.\n\n\n#### `shell-pop-full-span`\n\nThis option allows you to generate the shell window with the same width as the current Emacs frame. It is beneficial when you are always using multiple windows on Emacs. In detail, see https://github.com/kyagi/shell-pop-el/pull/21#issuecomment-48876673\n\n#### `shell-pop-in-hook`\n\nThis hook runs before shell buffer pop-up.\n\n#### `shell-pop-in-after-hook`\n\nThis hook runs after shell buffer pop-up.\n\n#### `shell-pop-out-hook`\n\nThis hook runs before shell buffer pop-out.\n\n#### `shell-pop-process-exit-hook`\n\nThis hook runs when the shell's process exits.\n\n\n## Usage\n\nJust hit the hot key you customized for `shell-pop-universal-key`.\nFor example, `C-t` for the above case.\n\nYou can have multiple shell buffers if you run shell-pop with universal-arguments.\nFor example, `C-u 2 C-t`. You can increase the number(`2`, `3`, `4`, ...) as much as you want for different shell buffers.\n\n## Screenshot\n\n![screenshot](https://raw.github.com/kyagi/shell-pop-el/master/screenshot.png)\n\n## EmacsWiki (No longer updated)\n\nhttp://www.emacswiki.org/emacs/ShellPop\n\n[melpa-link]: http://melpa.org/#/shell-pop\n[melpa-stable-link]: http://stable.melpa.org/#/shell-pop\n[melpa-badge]: http://melpa.org/packages/shell-pop-badge.svg\n[melpa-stable-badge]: http://stable.melpa.org/packages/shell-pop-badge.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyagi%2Fshell-pop-el","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkyagi%2Fshell-pop-el","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyagi%2Fshell-pop-el/lists"}