{ "info": { "author": "Eddie Dunn", "author_email": "eddie.dunn@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===============================\nSwytcher\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/swytcher.svg\n :target: https://pypi.python.org/pypi/swytcher\n\n.. image:: https://img.shields.io/travis/eddie-dunn/swytcher.svg\n :target: https://travis-ci.org/eddie-dunn/swytcher\n\n.. image:: https://readthedocs.org/projects/swytcher/badge/?version=latest\n :target: https://swytcher.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/eddie-dunn/swytcher/shield.svg\n :target: https://pyup.io/repos/github/eddie-dunn/swytcher/\n :alt: Updates\n\n\n*Automatically switches your keyboard layout based on your active window.*\n\nAre you using multiple keyboard layouts? Have you discovered that the US\nkeyboard layout is a lot more suitable for programming than the layout you have\nto use when writing email or otherwise communicating in your native language?\n\nDoes it annoy you that you need to remember to manually switch between layouts\nwhen going from VIM to your chat/email/whatever app?\n\nIf so, Swytcher will solve your problems.\n\n\n* Free software: MIT license\n* Documentation: https://swytcher.readthedocs.io.\n\n\nFeatures\n--------\n\n* Switch keyboard layout based on X window class\n* Switch keyboard layout based on X window name\n\nPlanned features\n\n* Switch layout based on combination of window class and name\n* Remember last keyboard layout for each window\n\nInstallation\n------------\n\n.. code-block:: bash\n\n $ pip install --user swytcher\n\n\nUsage\n-----\n\nFirst, copy the sample configuration:\n\n.. code-block:: bash\n\n $ swytcher --cpcfg\n\nNow you can edit `~/.config/swytcher/config.ini` and add the window\nclasses/names to the corresponding layout section.\n\n`layout_primary` maps to your first keyboard layout, and `layout_secondary`\nwill map to your second. If you have more than two layouts you will have to add\nmore sections to the config file. Each additional layout section must start\nwith `layout`, and be uniquely named. The order that they have in the config\nfile should map to the order that you have defined your different layouts in.\n\nOnce you are done editing your config file, you can start Swytcher, and your\nkeyboard layout will be switched whenever you change focus to a window that\ncorresponds to a window class and/or name in your config file.\n\nSwytcher has been tested with the Gnome Desktop Environmant and the i3 window\nmanager. Since Swytcher looks at your X keyboard config it should work with\nmost DEs and WMs.\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the\n`audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n\n=======\nHistory\n=======\n\n0.3.0 (2017-09-02)\n------------------\n\nAdded\n\n* `--version` to CLI interface.\n* command for copying sample config to user's confdir.\n\n0.1.0 (2017-03-23)\n------------------\n\n* First release on PyPI.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/eddie-dunn/swytcher", "keywords": "keyboard layout switcher", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "swytcher", "package_url": "https://pypi.org/project/swytcher/", "platform": "", "project_url": "https://pypi.org/project/swytcher/", "project_urls": { "Homepage": "https://github.com/eddie-dunn/swytcher" }, "release_url": "https://pypi.org/project/swytcher/0.3.2/", "requires_dist": null, "requires_python": "", "summary": "Automatically switch layout based on your active window", "version": "0.3.2" }, "last_serial": 3347177, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d03dec12aa5946bac22cc4dc43481a1b", "sha256": "c2d2237129e27c053424772bb806ded59d05eaf53cfee4d072bed5ac8574d670" }, "downloads": -1, "filename": "swytcher-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d03dec12aa5946bac22cc4dc43481a1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14607, "upload_time": "2017-04-16T15:55:05", "url": "https://files.pythonhosted.org/packages/31/0d/770e33ab3ba0539a0de057f98b0dce1c66e3c93bee644c829d532527dd4a/swytcher-0.1.0-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "79fc8ff09e4d8cbe2abf5613696336ee", "sha256": "f820ef71059e9e14093dce43dcd3243dbef70c18b2f65b9f77f2371dfd527654" }, "downloads": -1, "filename": "swytcher-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "79fc8ff09e4d8cbe2abf5613696336ee", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11507, "upload_time": "2017-08-31T18:28:01", "url": "https://files.pythonhosted.org/packages/2d/fb/e5395741ec93f1475de1df623d550e2a8e086a32a73b03c11b463c1fb3ad/swytcher-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5dce6a3f5bf97d3c2b9de086b9a96afb", "sha256": "e9cbb1a9348baf7c9e8733a2d17a42725f4860228b64ba9d0c6c3f10ae6b188c" }, "downloads": -1, "filename": "swytcher-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5dce6a3f5bf97d3c2b9de086b9a96afb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11738, "upload_time": "2017-09-01T12:55:49", "url": "https://files.pythonhosted.org/packages/50/c7/7ed66065e9cdb684b16ada78355338c435853d1cc91f668c8626edcdd5ce/swytcher-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0ec0a1a47b56400917c7fcd5b1f5c1e", "sha256": "52b38c24239930c1109d4a64eb21a9891c59bd3f2ffd8ba5f9d7827097ad598c" }, "downloads": -1, "filename": "swytcher-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c0ec0a1a47b56400917c7fcd5b1f5c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26101, "upload_time": "2017-09-01T12:55:51", "url": "https://files.pythonhosted.org/packages/53/f1/8e6b082a9d4381b28e2af96497d2bd51b4870b50067ac67146399e0c1347/swytcher-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c9e69e9d4f51169d6f22109642f8a809", "sha256": "7054bb332d79d89a46421873d91dadd25d7112f70a18d90c43364f9343426239" }, "downloads": -1, "filename": "swytcher-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c9e69e9d4f51169d6f22109642f8a809", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11738, "upload_time": "2017-09-01T13:16:50", "url": "https://files.pythonhosted.org/packages/ef/2e/cc8f71a7081e2acc95149ccdeb1b791fcb54caa0597e8e3289480c142d65/swytcher-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6684e78c8ff087bff16329fa8685958e", "sha256": "3f400a2170794faaadd5f10d81b0a33bb964ce6aac3b5b2e377a0f5c197c5611" }, "downloads": -1, "filename": "swytcher-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6684e78c8ff087bff16329fa8685958e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20296, "upload_time": "2017-09-01T13:16:52", "url": "https://files.pythonhosted.org/packages/da/bc/1b8e16329fd3e92607cf5376f47194440439644207945525c0931c94621d/swytcher-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f7b70a9fdd6b159d5b2576f05d34e6ef", "sha256": "8f9f092d1c92e1e17048062c4cc6aeb4a065b858b5ad4c54e4a4e749b446ab0c" }, "downloads": -1, "filename": "swytcher-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f7b70a9fdd6b159d5b2576f05d34e6ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11737, "upload_time": "2017-09-01T13:28:30", "url": "https://files.pythonhosted.org/packages/4f/cb/c0722eb102282793ca6137eada92a59b7fbcf495855b8eb3a5c802b69397/swytcher-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c01c78a0f6e2c531eedf6eab5ce718e", "sha256": "9850734a2d5d7e40166fb106f14e0dee97229af1917ed79af0251381e25e9945" }, "downloads": -1, "filename": "swytcher-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3c01c78a0f6e2c531eedf6eab5ce718e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20298, "upload_time": "2017-09-01T13:28:31", "url": "https://files.pythonhosted.org/packages/fe/92/201f656efe9e90f09f45d46c03fc6a1f9f23f8fb012045b46b6f96e91e21/swytcher-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c650322bfcd5f4155d1b45de0acbd65d", "sha256": "86817960c7c9028beaa6e1c2c86942fda9aef3d19a4458edc13fceb0d793a46f" }, "downloads": -1, "filename": "swytcher-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c650322bfcd5f4155d1b45de0acbd65d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12111, "upload_time": "2017-09-03T02:43:14", "url": "https://files.pythonhosted.org/packages/8e/34/ad0953709cd2f09327f3f96efaaced829f1391e15666adc998c6757fa8a6/swytcher-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e71a6cc3239bedbedb6108d8889eaeb", "sha256": "ddf9a292d325c04c0ab377125df17deb43b2d20e52e0bdb4f7d9b0f5e2472026" }, "downloads": -1, "filename": "swytcher-0.3.0.tar.gz", "has_sig": false, "md5_digest": "3e71a6cc3239bedbedb6108d8889eaeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20774, "upload_time": "2017-09-03T02:43:15", "url": "https://files.pythonhosted.org/packages/3c/94/9b1e6e9b5430ad898b527a9ebcf6f25a0d591ef19cfaf0f051fc2bf83e5b/swytcher-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ecdf90da8fe3181c0ef21c155dcb1e72", "sha256": "ad7d2c7f570854026723e36b003aea3bf813e512b8464436bc6c6168782a1137" }, "downloads": -1, "filename": "swytcher-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ecdf90da8fe3181c0ef21c155dcb1e72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11988, "upload_time": "2017-09-03T03:15:58", "url": "https://files.pythonhosted.org/packages/30/b1/bfdc69347d377f0cd82b63af29028cd55f79b7622a0e0bed44131f812770/swytcher-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd8f6bdf5bec6c946961d9cf4459dab2", "sha256": "0cdc9562b319fc29bf4e2e81b4a0fc04ab70f20cb2a1047c634ff428b39da05e" }, "downloads": -1, "filename": "swytcher-0.3.1.tar.gz", "has_sig": false, "md5_digest": "fd8f6bdf5bec6c946961d9cf4459dab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20625, "upload_time": "2017-09-03T03:15:59", "url": "https://files.pythonhosted.org/packages/6b/4b/124d9b84a034c1ad785e7b67ac1744b774fffc4959d6a3ed293b90080f82/swytcher-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "c8145373bc83311efbc564695d747293", "sha256": "abcbc6f6245ff859d3430d581570b7fe76dd2653d7a4216d53644833bd7b306f" }, "downloads": -1, "filename": "swytcher-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c8145373bc83311efbc564695d747293", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12048, "upload_time": "2017-11-20T01:49:22", "url": "https://files.pythonhosted.org/packages/96/f5/7df850796cd37114890adef712a64f164e762ed35efb9dcea5981e0ac064/swytcher-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0ad0d47365c7b608ef45495888b804e", "sha256": "d3fd8e5aa6e56f39ff8f26ba38f927db61622713c60941c5701e05fddccb403a" }, "downloads": -1, "filename": "swytcher-0.3.2.tar.gz", "has_sig": false, "md5_digest": "e0ad0d47365c7b608ef45495888b804e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26608, "upload_time": "2017-11-20T01:49:19", "url": "https://files.pythonhosted.org/packages/d8/59/782574525b5b346f97a85011e740b458d7d3d3ea40647ddc1411d02395ad/swytcher-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8145373bc83311efbc564695d747293", "sha256": "abcbc6f6245ff859d3430d581570b7fe76dd2653d7a4216d53644833bd7b306f" }, "downloads": -1, "filename": "swytcher-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c8145373bc83311efbc564695d747293", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12048, "upload_time": "2017-11-20T01:49:22", "url": "https://files.pythonhosted.org/packages/96/f5/7df850796cd37114890adef712a64f164e762ed35efb9dcea5981e0ac064/swytcher-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0ad0d47365c7b608ef45495888b804e", "sha256": "d3fd8e5aa6e56f39ff8f26ba38f927db61622713c60941c5701e05fddccb403a" }, "downloads": -1, "filename": "swytcher-0.3.2.tar.gz", "has_sig": false, "md5_digest": "e0ad0d47365c7b608ef45495888b804e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26608, "upload_time": "2017-11-20T01:49:19", "url": "https://files.pythonhosted.org/packages/d8/59/782574525b5b346f97a85011e740b458d7d3d3ea40647ddc1411d02395ad/swytcher-0.3.2.tar.gz" } ] }