{"id":30182819,"url":"https://github.com/raoeus/tylex","last_synced_at":"2025-08-12T10:17:17.730Z","repository":{"id":307901351,"uuid":"1031025228","full_name":"RAOEUS/tylex","owner":"RAOEUS","description":"A tyling window manager text expansion app using dmenu or rofi, written in pure shell script","archived":false,"fork":false,"pushed_at":"2025-08-02T22:05:29.000Z","size":157,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-02T23:28:55.687Z","etag":null,"topics":["dmenu","dmenu-scripts","rofi","rofi-scripts","text-expander","text-expansion","window-managers"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/RAOEUS.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,"zenodo":null}},"created_at":"2025-08-02T20:59:17.000Z","updated_at":"2025-08-02T22:08:43.000Z","dependencies_parsed_at":"2025-08-02T23:39:25.471Z","dependency_job_id":null,"html_url":"https://github.com/RAOEUS/tylex","commit_stats":null,"previous_names":["raoeus/tylex"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/RAOEUS/tylex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RAOEUS%2Ftylex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RAOEUS%2Ftylex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RAOEUS%2Ftylex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RAOEUS%2Ftylex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RAOEUS","download_url":"https://codeload.github.com/RAOEUS/tylex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RAOEUS%2Ftylex/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270042023,"owners_count":24516973,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dmenu","dmenu-scripts","rofi","rofi-scripts","text-expander","text-expansion","window-managers"],"created_at":"2025-08-12T10:17:06.998Z","updated_at":"2025-08-12T10:17:17.702Z","avatar_url":"https://github.com/RAOEUS.png","language":"Shell","readme":"# Tylex\n\nA simple, fast, and powerful text expansion utility for the modern Linux desktop, using your favorite menu launcher (`rofi` or `dmenu`).\n\nTylex lets you create short abbreviations (e.g., `em`) that expand into longer phrases or snippets of text (e.g., `user@example.com`). It's written in pure shell script, making it lightweight and a perfect fit for any workflow, from minimal tiling window managers to full-featured desktop environments.\n\n*![Tylex Screenshot](screenshots/tylex.jpg)*\n\n---\n## Features\n\n  * **Flexible Actions**: Press `Enter` to type text instantly, or press `Ctrl+Enter` to copy it to the clipboard.\n  * **Fast \u0026 Lightweight**: Written in shell script with minimal dependencies.\n  * **Launcher-Based**: Uses `rofi` or `dmenu`, so it integrates perfectly with your existing workflow.\n  * **Usage-Aware**: Automatically sorts your expansions by how often you use them.\n  * **Fuzzy Finding**: Full fuzzy search support when using `rofi`.\n  * **XDG Compliant**: Follows standards for storing configuration and data files.\n---\n## Dependencies\n\nTylex requires the following programs, which will be installed automatically when using a package manager.\n\n* `bash`\n* `jq` (for parsing JSON)\n* `rofi` (Recommended launcher)\n* `dmenu` (Fallback launcher)\n* `xdotool` (for typing on X11)\n\nTylex is smart and will automatically use whichever launcher it finds. We recommend `rofi` for the best experience.\n\n---\n## Usage\n\nTylex works in two simple steps: adding a new snippet and expanding it.\n\n### 1. Add an Expansion\n\nUse your hotkey for `tylex-add` (e.g., `Super + Shift + Z`). You will be prompted twice:\n\n1.  First, type the short **abbreviation** you want to use (e.g., `em`) and press Enter.\n2.  Next, type the full **expansion text** it should become (e.g., `your-email@example.com`) and press Enter.\n\n### 2. Use an Expansion\n\nUse your hotkey for `tylex-expand` (e.g., `Super + Z`).\n\n1.  A list of all your saved expansions will appear in `rofi` or `dmenu`.\n2.  Start typing any part of the abbreviation or the expansion to **filter** the list.\n3.  Select the entry you want and press Enter. The full text will be typed out for you instantly.\n---\n## Installation\n\n### Method 1: Via a Package Manager (e.g., AUR)\n\nThis is the recommended method for most users.\n\n```sh\nyay -S tylex-git\n```\n\n### Method 2: Manual Installation from Source\n\n1.  **Install the Tylex Scripts (with `sudo`)**:\n```sh\ngit clone https://github.com/raoeus/tylex.git\ncd tylex\nsudo make install\n```\n2.  **Create Your User Configuration (without `sudo`)**:\n```sh\nmake config\n```\n---\n## Post-Installation: Setting a Hotkey\n\nTylex is most effective when bound to a keyboard shortcut. The process differs between graphical desktop environments and tiling window managers.\n\nA safe and memorable shortcut is `Super + ;` (the Super key is the Windows or Command key).\n\n### Desktop Environments (GNOME, KDE, XFCE)\n\n\u003e **Must use X11. Wayland is incompatible.**\n\nMost desktop environments provide a graphical settings panel to create custom keyboard shortcuts that run a command.\n\n1.  Open your system's **Settings** application.\n\n2.  Navigate to the **Keyboard** or **Shortcuts** section.\n\n3.  Look for an option to add a **Custom Shortcut**.\n\n4.  Create two new shortcuts with the following details:\n\n      * **Shortcut 1: Expand Text**\n          * **Name:** `Tylex Expand`\n          * **Command:** `tylex-expand`\n          * **Shortcut:** `Super + ;`\n      * **Shortcut 2: Add Expansion**\n          * **Name:** `Tylex Add`\n          * **Command:** `tylex-add`\n          * **Shortcut:** `Super + Shift + ;`\n\n### Tiling Window Managers\n\nFor tiling window managers, you'll need to edit your configuration file directly.\n\n#### i3wm (`~/.config/i3/config`)\n\n```\n# Tylex: Expand a snippet\nbindsym $mod+semicolon exec tylex-expand\n\n# Tylex: Add a new snippet\nbindsym $mod+Shift+semicolon exec tylex-add\n```\n\n#### bspwm (`~/.config/sxhkd/sxhkdrc`)\n\n```\n# Tylex: Expand a snippet\nsuper + semicolon\n    tylex-expand\n\n# Tylex: Add a new snippet\nsuper + shift + semicolon\n    tylex-add\n```\n\n#### AwesomeWM (`~/.config/awesome/rc.lua`)\n\n```lua\nawful.keyboard.append_global_keybindings({\n  -- Tylex: Expand a snippet\n  awful.key({ modkey }, \";\", function () awful.spawn.with_shell(\"tylex-expand\") end,\n            {description = \"Expand Tylex snippet\", group = \"launcher\"}),\n\n  -- Tylex: Add a new snippet\n  awful.key({ modkey, \"Shift\" }, \";\", function () awful.spawn.with_shell(\"tylex-add\") end,\n            {description = \"Add Tylex snippet\", group = \"launcher\"})\n})\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraoeus%2Ftylex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraoeus%2Ftylex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraoeus%2Ftylex/lists"}