{"id":17910622,"url":"https://github.com/golota60/trayasen","last_synced_at":"2025-10-04T00:22:17.505Z","repository":{"id":90003995,"uuid":"589217783","full_name":"golota60/trayasen","owner":"golota60","description":"🥕 IKEA IDÅSEN cross-platform desktop app living in system tray. Should also work for LINAK desks","archived":false,"fork":false,"pushed_at":"2024-10-07T21:31:03.000Z","size":1476,"stargazers_count":27,"open_issues_count":7,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-04T18:46:52.737Z","etag":null,"topics":["idasen","idasen-app","idasen-controller","idasen-desk-control","idasen-desk-controller","linak","linux","macos","windows"],"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/golota60.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":"2023-01-15T13:23:44.000Z","updated_at":"2025-03-10T12:43:21.000Z","dependencies_parsed_at":"2024-10-28T19:51:43.989Z","dependency_job_id":null,"html_url":"https://github.com/golota60/trayasen","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/golota60/trayasen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Ftrayasen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Ftrayasen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Ftrayasen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Ftrayasen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golota60","download_url":"https://codeload.github.com/golota60/trayasen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golota60%2Ftrayasen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266572599,"owners_count":23950055,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["idasen","idasen-app","idasen-controller","idasen-desk-control","idasen-desk-controller","linak","linux","macos","windows"],"created_at":"2024-10-28T19:33:15.359Z","updated_at":"2025-10-04T00:22:12.486Z","avatar_url":"https://github.com/golota60.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://github.com/golota60/trayasen/blob/master/public/carrot.png\" width=\"200\"\u003e\n\t\u003ch1\u003eTrayasen\u003c/h1\u003e\n\t\u003cp\u003e\n\t\t\u003cb\u003e🥕 A cross-platform background tray app for controlling your IKEA Idasen desk 🥕\u003c/b\u003e\n\t\u003c/p\u003e\n\t\u003cbr\u003e\n\u003c/div\u003e\n\n|                                Linux                                 |                                MacOS                                 |                              Windows                               |\n| :------------------------------------------------------------------: | :------------------------------------------------------------------: | :----------------------------------------------------------------: |\n| ![](https://github.com/golota60/trayasen/blob/master/linux-demo.png) | ![](https://github.com/golota60/trayasen/blob/master/macos-demo.png) | ![](https://github.com/golota60/trayasen/blob/master/win-demo.png) |\n\n\u003cbr\u003e\n\n`Trayasen` is also very memory efficient while running in the background, so you don't have to worry about it eating your PC's resources.\n\n\n![image](https://github.com/golota60/trayasen/assets/37072867/1d6a7b72-0d66-4474-b8f8-4dab0dc22792)\n\n\n\n## Installation\n\n[Here](https://github.com/golota60/trayasen/releases/) you can find all the releases and associated files you should download.\n\n## Usage\n\nWhen you open the app for the first time, it will open up a setup screen, and display all the bluetooth devices with \"Desk\" in their name. Once connected, the desk name will be saved and it will not appear when opening the app later.\n\nAfter first usage, the name of the desk is saved in the configuration file, so the next time you open the app, it should connect to the desk automatically.\n\nThe desk cannot be connected to multiple machines at once, so make sure the desk is not connected to anything when you open the app.\n\n## System-specific quirks\n\nSome systems can handle the app gracefully, some don't - here are the quirks i've found while using on different systems\n\n### Windows\n\nFrom my experience, in order to connect to the desk I had to first connect the desk via bluetooth control panel. After that, the app can pick up on it. If it's your first time connecting your desk to your PC, you should get a pop-up on lower right \"Click to set up \"Desk XXXX\". Click on that and then click \"Allow\", otherwise the app will not be able to connect to your desk.\n\n### MacOS\n\nDesk should NOT be connected to the system while opening the app. This is a weird quirk of MacOS that I'll look into fixing in the future. Also, since I'm not a signed Apple developer, you might get a prompt saying that the app can be opened - [here's how to bypass that](https://apple.stackexchange.com/a/267555).\n\n### Linux\n\nConnect to the desk using your system bluetooth control. After this, everything should just work. But since there are a lot of linux flavors out there, there's a chance that your machine might have some different quirks.\n\n## Resetting to factory settings\n\nIf you want to reset your config go into `About/Options` menu and you should see a config reset button. In case you cannot do that, delete the configuration file, path of which you can find below.\n\nIf you encounter any problems that were not explained anywhere in this README, feel free to open an issue describing your problem. If you wish to inspect the config file, below are the locations for every system.\n\n- MacOS\n\n```bash\n /Users/\u003cyour_profile_name\u003e/Library/Application\\ Support/idasen-tray-config.json\n```\n\n- Linux\n\n```bash\n /home/\u003cyour_profile_name\u003e/.local/share/idasen-tray-config.json\n```\n\n- Windows\n\n```bash\n C:\\\\Users\\\\\u003cyour_profile_name\u003e\\\\AppData\\\\Roaming/idasen-tray-config.json\n```\n\n**Important** - If you changed your desk device name, you'll also need to reset the config.\n\n## Troubleshooting\n\nHere are the errors that might happen to you. If you don't see your error(or a fix to it doesn't work) described below, please open an issue, along with the reproduction steps:\n\n- `Cannot subscribe to read position`\n\nOn Windows, this means that this is the first time your computer is connecting to your desk, and has not been set up properly yet.\n\nFix 1: \n1. While connecting to the desk inside the app(essentially, clicking \"Connect\" button), you should see a windows popup(in the lower right corner of your screen) with the text saying - \"Tap to set up Desk XXXX\". \n2. Click on that, and select \"Allow\". \n3. After that, click \"Reset config \u0026 restart the app\" in the Trayasen app. After this, the next connection to your desk should be successful.\n\nFix 2:\n1. In bluetooth settings, set the following option to \"Advanced\" \n\u003cimg src=\"https://github.com/golota60/trayasen/blob/master/win-bluetooth.png\"\u003e\n\n1. Next, try adding a bluetooth device. You should see your desk with the name `Desk XXXX`. Connect to it. After successful connection, you should be able to connect to it from Trayasen. \n\n- `Desk connection not initiated`\n\nThis is a signal from an application, that we're trying to perform a bluetooth operation without being connected to a desk. That might mean that we're trying to move the desk without the setup step. If you encounter this, please open an issue with reproduction steps.\n\n- `Unknown error while connecting`\n\nThis usually means that the desk you're trying to connect to, is refusing the connection. Usually, the most common fix is to hold down the bluetooth button you have on the desk handle, until the blue light starts flashing, and then retrying the connection.\n\n- `Cannot find the device` \n\nThis usually means, that your saved desk is not visible to your PC's bluetooth. Usually, the most common fix is to hold down the bluetooth button you have on the desk handle, until the blue light starts flashing, and then retrying the connection.\n\n- `Cannot subscribe to read position`\n\nMeans that the bluetooth connection with your desk was successful, but for some reason your PC has problems talking to it. Usually, the most common fix is to hold down the bluetooth button you have on the desk handle, until the blue light starts flashing, and then retrying the connection.\n\n- `bltleplug error: \u003ccontent\u003e` \n\nThis means the applications bluetooth library encountered something it wasn't expecting. If you encounter this, please create an issue with your system and reproduction steps\n\n\n- Shortcut not working\n\nShortcuts are a pain, and we're limited by the upstream framework we're using. See [this](https://github.com/golota60/trayasen/issues/20#issuecomment-1868359329), [this](https://github.com/golota60/trayasen/issues/20#issuecomment-1725195092) and [this](https://github.com/golota60/trayasen/issues/16#issuecomment-1724970876) for context.\n\nIf you cannot register a shortcut you want, please advise the comments above. You essentially need to manually open the config file and try different key combinations.\n\n\n## Self-compiling\n\nIf there's no build for your particular machine, feel free to clone the repo and self-compile according to tauri docs\nhttps://tauri.app/v1/guides/building/\n\n## Developing\n\nPrerequisites are `node`, `yarn` and `rust`.\n\nTo run the app in developer environment, clone the repo, run `yarn` in the root(to install JS dependencies), and then run `yarn tauri dev`. The app might take a while to build for the first time.\n\nFrontend is using [shadcn/ui](https://ui.shadcn.com/) for styling \n\n## Releasing\n\nThe release is automatically triggered upon push to the `release` branch. In order to release, simply create commit that bumps up version in `tauri.conf.json`/`Cargo.toml`/`package.json` in master, then create a `release` branch that mirrors `master` branch. After the pipeline finishes - there should be a draft release create it. Then simply navigate to \"Releases\" and release the draft.\n\n## Roadmap, known issues and feature requests\n\nRoadmap and issues are tracked in the [issues](https://github.com/golota60/trayasen/issues) and [project tracker](https://github.com/users/golota60/projects/3) respectively.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolota60%2Ftrayasen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolota60%2Ftrayasen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolota60%2Ftrayasen/lists"}