{ "info": { "author": "Yoann Lamouroux", "author_email": "ylamouroux@ubuntu.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# i3wins/i3lasts\n\nAs the name might suggest, this is a wrapper to rofi acting as a window-switcher.\n\nI found `-show window` option to be quite slow, and would often get in the way. On another topic, I use i3 in an XFCE environment (for the PM and such)\u2026 and the virtual desktops would conflicts, and be generally weird.\n\ni3wins is fast and won't get in the way.\n\ni3lasts is also a window-switcher, but it keeps track of your focused windows through time. It's insanely effective if you go back and forth a lot. It comes as a server (which need to be running at all time) / client as i3 won't keep track of those.\n\n# Pre-requisites\n\n- i3\n- rofi\n- a working python3 environment can help\n- libi3ipc (`libi3ipc-glib` on ubuntu/debian)\n\n# Installation\n\nI recommand using some virtual environments.\n\n```bash\npython3 -m venv new_folder\nsource new_folder/bin/activate\npip install i3wins\ndeactivate\n```\n\nIf you're a more yolo-oriented person : `pip install --user i3wins`\n\nYou can now run : `new_folder/bin/i3wins`\n\n# Help !\n\nNo help. All options you give to i3wins are directly sent to rofi. \n\nCheck rofi manpage.\n\n# Settings\n\nHere's a snippet from my i3 config:\n\n## i3wins\n\n```\nbindsym Mod1+Tab exec \"/home/fuzzy/.local/share/virtualenvs/i3switch/bin/i3wins -kb-row-down 'Down,Control+n,Alt+Tab' -kb-accept-entry '!Alt+Tab,!Alt_L,!Alt+Alt_L,Return'\"\n```\n\n## i3lasts\n\n```\nbindsym Mod1+space exec \"/home/fuzzy/.local/share/virtualenvs/i3switch/bin/i3lastc\"\n[...]\nexec --no-startup-id \"/home/fuzzy/.local/share/virtualenvs/i3switch/bin/i3lasts -kb-row-down 'Down,Control+n,Alt+space,space' -kb-accept-entry '!Alt+space,!Alt_L,!Alt+Alt_L,Return'\"\n```\n\nFeel free to use it as-is. Or modify it into oblivion.\n\n# Some explanation on the i3 config\n\nLong story made short :\n- Faster mode : Hold Alt, then press Tab as many times as needed, when you're where you want : release Tab *then* Alt.\n- Not so fast : Hold Alt, then press Tab and release Alt while still holding Tab : the window will stay there, you can search text, scroll, validate with a single press on Alt, or the good'ol Enter key\n\n(the spacebar has the same behavior)\n\nYou'll get used to it.\n\n# More swag\n\n## Keys\n\nHave you noticed desktops are displayed with d1, d2, d3, \u2026 And that windows are numbered in the relevant order with 'w' ?\n\nHave you noticed how close d and w are close to the tab key ?\n\n\u2026 just saying.\n\n## Eyes\n\n- Current desk is pink\n- Current window is yellow\n- I think you're cool\n- Have a mojito.\n\nColors are hardcoded and were set by yours truly for ecstatic co-workers' high-fives and maximum swaginess in every situation. But they're still designed for darker themes of rofi.\n\n# Todo\n\n- Handles URGENCY,\n- tags Fullscreen windows as such,\n- deal with vim-marks and more i3-specific concepts (tree depth for examples).\n- show current desktop windows in the right order (they are in reverse currently)\n- Support for rofi 1.5.4 (allows icons in dmenu mode)\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ylmrx/i3wins", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "i3wins", "package_url": "https://pypi.org/project/i3wins/", "platform": "", "project_url": "https://pypi.org/project/i3wins/", "project_urls": { "Homepage": "https://github.com/ylmrx/i3wins" }, "release_url": "https://pypi.org/project/i3wins/0.0.3/", "requires_dist": [ "i3ipc", "dynmen", "traitlets" ], "requires_python": "", "summary": "Yet another i3 window switcher", "version": "0.0.3" }, "last_serial": 5699498, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8a98f2e22714a0effa3311f0f4daf0c0", "sha256": "2ecb4e968b4f104b65ca244aa906c9a29f88836bb6ff24df2dbf6f6968493575" }, "downloads": -1, "filename": "i3wins-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a98f2e22714a0effa3311f0f4daf0c0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3031, "upload_time": "2019-08-14T17:13:06", "url": "https://files.pythonhosted.org/packages/a3/93/e3cf18556ed06fe7eddcf67779c96d7c5c6faad758336865d3b36b502feb/i3wins-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6dbb1cabde98a4a0734766a329f16231", "sha256": "07703e47b2f1e12336cd41eef33a75c64fb2301b716fab08c390d9b24f2b5b12" }, "downloads": -1, "filename": "i3wins-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6dbb1cabde98a4a0734766a329f16231", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3022, "upload_time": "2019-08-14T17:13:08", "url": "https://files.pythonhosted.org/packages/3a/9e/29b0f251a709f5a7066ac8cae98f46d28be08e0b9fe62180907df57fe47c/i3wins-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3245ee9e76d725f4c0de9bea4580820", "sha256": "63da6e2805658037ec23e1c74396c07309007a033e735dae890c79684936fd08" }, "downloads": -1, "filename": "i3wins-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c3245ee9e76d725f4c0de9bea4580820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1645, "upload_time": "2019-08-14T17:13:09", "url": "https://files.pythonhosted.org/packages/76/f3/cd844c8db8953297904b652c9452928b3dac7bd8452aefb64d775366add3/i3wins-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d12ea4468be89b0395f15315fb565820", "sha256": "eaa87da0e19ca885c9a483f213eb0f6a38158e0b5a44ab32a9f25a7e6d49c658" }, "downloads": -1, "filename": "i3wins-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d12ea4468be89b0395f15315fb565820", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4191, "upload_time": "2019-08-14T18:04:48", "url": "https://files.pythonhosted.org/packages/44/ae/1f612485bad8cdefabaa1b93f9a5ea4178b3d9787b9ea8d21120496eff28/i3wins-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f7afbfcbfeffae44e1cacca7c76ec41", "sha256": "c0ab8c16db95e9a60473a836adf4749d33bdf14afb93f3a39f4955e984ebe55b" }, "downloads": -1, "filename": "i3wins-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8f7afbfcbfeffae44e1cacca7c76ec41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3132, "upload_time": "2019-08-14T18:04:50", "url": "https://files.pythonhosted.org/packages/fe/5e/01b7afd3e38e1ce82ab01442778d1f20715e3ece03af254f0f05cfa62613/i3wins-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "e9f1e102ccf1fd0d813784f4543b01d6", "sha256": "89e5fb4765e8b8a54465fe16a6928d243774b1219337c5dadd11cdb0c6a09396" }, "downloads": -1, "filename": "i3wins-0.0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e9f1e102ccf1fd0d813784f4543b01d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5813, "upload_time": "2019-08-19T17:16:43", "url": "https://files.pythonhosted.org/packages/65/4d/ee885bb1c6e071e4517879f6ba6eb28a7e344ee5e7dce901064795189cdf/i3wins-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4bc7779c27e844d19c0184027d21ee7", "sha256": "7b2573e93473f9ce36c6f82075220b4927ed072c75e9b76639166c7b87a4dcb8" }, "downloads": -1, "filename": "i3wins-0.0.3.tar.gz", "has_sig": true, "md5_digest": "a4bc7779c27e844d19c0184027d21ee7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4516, "upload_time": "2019-08-19T17:16:45", "url": "https://files.pythonhosted.org/packages/69/b6/a9839ff0f405a1c6a6d93350dcaa25624841f752b7573c2b3ed9821b22a1/i3wins-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9f1e102ccf1fd0d813784f4543b01d6", "sha256": "89e5fb4765e8b8a54465fe16a6928d243774b1219337c5dadd11cdb0c6a09396" }, "downloads": -1, "filename": "i3wins-0.0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e9f1e102ccf1fd0d813784f4543b01d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5813, "upload_time": "2019-08-19T17:16:43", "url": "https://files.pythonhosted.org/packages/65/4d/ee885bb1c6e071e4517879f6ba6eb28a7e344ee5e7dce901064795189cdf/i3wins-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4bc7779c27e844d19c0184027d21ee7", "sha256": "7b2573e93473f9ce36c6f82075220b4927ed072c75e9b76639166c7b87a4dcb8" }, "downloads": -1, "filename": "i3wins-0.0.3.tar.gz", "has_sig": true, "md5_digest": "a4bc7779c27e844d19c0184027d21ee7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4516, "upload_time": "2019-08-19T17:16:45", "url": "https://files.pythonhosted.org/packages/69/b6/a9839ff0f405a1c6a6d93350dcaa25624841f752b7573c2b3ed9821b22a1/i3wins-0.0.3.tar.gz" } ] }