{"id":45047726,"url":"https://github.com/fuljo/rofi-vscode-mode","last_synced_at":"2026-02-19T08:25:21.413Z","repository":{"id":63144641,"uuid":"560091648","full_name":"fuljo/rofi-vscode-mode","owner":"fuljo","description":"A Rofi plugin to open recent VSCode workspaces","archived":false,"fork":false,"pushed_at":"2026-02-10T21:37:09.000Z","size":785,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-11T00:12:08.008Z","etag":null,"topics":["i3wm","qtile","rofi","rofi-menus","rust","unixporn","visual-studio-code","vscode"],"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/fuljo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-31T18:07:24.000Z","updated_at":"2026-02-10T21:37:13.000Z","dependencies_parsed_at":"2023-11-12T23:22:02.979Z","dependency_job_id":"99223cad-a385-44fa-88c0-46f5e7b0dbb4","html_url":"https://github.com/fuljo/rofi-vscode-mode","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/fuljo/rofi-vscode-mode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuljo%2Frofi-vscode-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuljo%2Frofi-vscode-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuljo%2Frofi-vscode-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuljo%2Frofi-vscode-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fuljo","download_url":"https://codeload.github.com/fuljo/rofi-vscode-mode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuljo%2Frofi-vscode-mode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29608346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["i3wm","qtile","rofi","rofi-menus","rust","unixporn","visual-studio-code","vscode"],"created_at":"2026-02-19T08:25:20.706Z","updated_at":"2026-02-19T08:25:21.408Z","avatar_url":"https://github.com/fuljo.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSCode mode for Rofi\n\n[![CI Workflow](https://github.com/fuljo/rofi-vscode-mode/actions/workflows/ci.yml/badge.svg)](https://github.com/fuljo/rofi-vscode-mode/actions)\n\n\nA very handy Rofi menu to open recent Visual Studio Code workspacess and files, written in Rust.\n\n![Demonstration of open menu](assets/demo_papirus_icons.png)\n\nMain features:\n- A custom-implemented Rofi mode (a.k.a. plugin) named `vscode-recent`, to open recent workspaces and files.\n- The `vscode-recent` command line tool to print paths of recent workspaces and files to stdout. Pair it with a selection tool like [dmenu](https://tools.suckless.org/dmenu/), [fzf](https://github.com/junegunn/fzf) or similar.\n- Entries are taken from VSCode's _File-\u003eOpen Recent_ menu.\n- Delete entries from recently opened (also affects VSCode).\n- Support for [remote](https://code.visualstudio.com/docs/remote/remote-overview) and [virtual](https://code.visualstudio.com/api/extension-guides/virtual-workspaces) workspaces, files and folders.\n- Support for different flavors: [Visual Studio Code](https://code.visualstudio.com), [Visual Studio Code Insiders](https://code.visualstudio.com/insiders), [Code - OSS](https://github.com/microsoft/vscode) and [VSCodium](https://vscodium.com).\n\nThis project was largely inspired by [rofi-code](https://github.com/Coffelius).\nMany thanks to [@Coffelius](https://github.com/Coffelius) for writing it, and to [@SabrinaJewson](https://github.com/SabrinaJewson) for providing Rust bindings to Rofi's C plugin interface.\n\nIf you are curious, I wrote a short [wiki article](https://github.com/fuljo/rofi-vscode-mode/wiki/How-it-works) explaining how this tool gets the recent items and opens them.\n\n## Install\n\n### Package manager\nIf you're an Arch Linux user, this package is available [on the AUR](https://aur.archlinux.org/packages/rofi-vscode-mode).\nYou can easily install it with an AUR helper like `yay`, `paru`, `pacaur`, etc.\n```sh\nyay -S rofi-vscode-mode\n```\n\n### Build from source\nYou can choose to build and install only the `vscode-recent` tool (binary), only the plugin or both.\n\nFirst clone this repository\n```sh\ngit clone https://github.com/fuljo/rofi-vscode-mode\n```\n\nThen get a [Rust toolchain](https://www.rust-lang.org/tools/install) as you prefer.\n\nThen install the needed dependencies\n```sh\n# Ubuntu / Debian\napt-get install \\\n  build-essential pkg-config libsqlite3-dev \\\n  rofi-dev libpango1.0-dev  # only needed for the rofi plugin\n\n# Arch\npacman -S \\\n  make pkg-config sqlite \\\n  rofi # only needed for the rofi plugin\n```\n\nThen run `make` according to your choice:\n```sh\n# Binary and plugin\nmake all\nsudo make install\n\n# Binary only\nmake bin\nsudo make install.bin\n\n# Plugin only\nmake plugin\nsudo make install.plugin\n```\n\n## Usage\n\n### As a Rofi mode\nThis library introduces a new mode named `vscode-recent`.\nYou can run it standalone with the command\n```sh\nrofi -show vscode-recent -modi vscode-recent\n```\nor add it to your default _modi_ in `~/.config/rofi/config.rasi`, like so\n```\nconfiguration {\n\tmodi: \"drun,run,window,vscode-recent\";\n    show-icons:                 true;\n\tdrun-display-format:        \"{name}\";\n\twindow-format:              \"{w} | {c} | {t}\";\n}\n```\n\nI highly reccommend assigning a keyboard shortcut for this; for example I use \u003ckbd\u003eMod\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e to run `rofi -show vscode-recent` (after adding it to my default modi).\n\nWhen an item is selected, press:\n- \u003ckbd\u003eEnter\u003c/kbd\u003e to open it\n- \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eDel\u003c/kbd\u003e to permanently delete it from the list\n\n:warning: Item deletion works by updating the recent items list in VSCode's state database. Do it at your own risk. Please use this feature when VSCode is closed, otherwise your changes may be overwritten.\n\n### As a command line tool\nIf you prefer something other than Rofi to select your entry, we also provide the `vscode-recent` command that simply writes out the paths line by line. You can then pair it with your favourite selection tool, like [dmenu](https://tools.suckless.org/dmenu/) or [fzf](https://github.com/junegunn/fz).\n\nYou can use the `-c` option to set the preferred flavor and the `-F` option to set the desired ouput format:\n- `label` (default) will show the \"tildified\" path, which needs to be expanded. Only local entries are not shown.\n  ```sh\n  sh -c \"code $(vscode-recent | dmenu)\"\n  ```\n- `absolute-path` will show the full path. Only local entries are shown.\n  ```sh\n  code $(vscode-recent -F absolute-path | dmenu)\n  ```\n- `uri` will show the local or remote URI, read [this](https://code.visualstudio.com/docs/remote/troubleshooting#_connect-to-a-remote-host-from-the-terminal) for hints on how to open it. All entries are shown.\n\n\n## Configuration\nVarious aspects of this plugin can be configured with environment variables.\nIf you are using keyboard shortcuts to launch Rofi, make sure that these variables are set in the shell that launches Rofi, e.g. by adding an `export` statement to your `~/.bash_profile`.\n\nConfiguration of the theme and everything else is left to Rofi itself.\n\n### VSCode flavor\nMultiple VSCode flavors exist for Linux, see the [Arch Wiki](https://wiki.archlinux.org/title/Visual_Studio_Code) for details.\n\nBy default this plugin will try to detect a flavor for which both a command in `$PATH` and a configuration directory exist.\nIf you want to select it by hand, set `ROFI_VSCODE_FLAVOR` with one of the following values (case insensitive):\n\n| `ROFI_VSCODE_FLAVOR` | Flavor                      | Command         | Configuration directory      |\n| -------------------- | --------------------------- | --------------- | ---------------------------- |\n| `code`               | Visual Studio Code          | `code`          | `~/.config/Code/`            |\n| `code-insiders`      | Visual Studio Code Insiders | `code-insiders` | `~/.config/Code - Insiders/` |\n| `code-oss`           | Code - OSS                  | `code-oss`      | `~/.config/Code - OSS/`      |\n| `vscodium`           | VSCodium                    | `codium`        | `~/.config/VSCodium/`        |\n\n### Icons\nBy default icons from Rofi's current icon theme are shown besides the entries. You have three choices:\n- Set `ROFI_VSCODE_ICON_MODE=none` to disable icons\n- Set `ROFI_VSCODE_ICON_MODE=theme` to use the icons from Rofi's current icon theme\n- Set `ROFI_VSCODE_ICON_MODE=nerd` to use icons from a [Nerd Font](https://www.nerdfonts.com/).\u003cbr\u003e\n  The font can be chosen by setting `ROFI_VSCODE_ICON_FONT=fontname` (defaults to monospace) and its color by setting\n  `ROFI_VSCODE_ICON_COLOR` to an `#rrggbb` or `#rrggbbaa` value.\n\nA different icon is shown for workspaces, files and folders.\n\n\u003cimg src=\"assets/demo_no_icons.png\" width=\"49%\"\u003e \u003cimg src=\"assets/demo_nerd_icons.png\" width=\"49%\"\u003e\n\n## Contributing\n\nIf you like this little piece of software and would like to improve it, please fork the repo and create a pull request. Your contributions are greatly appreciated.\n\nIf you want to report a problem, please open an Issue.\nMake sure you include your Rofi version and any error messages that are printed by running the mode from a terminal as described [before](#usage).\n\n## License\n\nThis software is released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuljo%2Frofi-vscode-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffuljo%2Frofi-vscode-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuljo%2Frofi-vscode-mode/lists"}