{"id":13595667,"url":"https://github.com/Lucas7211/PyleWM","last_synced_at":"2025-04-09T13:33:11.505Z","repository":{"id":49297672,"uuid":"96686846","full_name":"Lucas7211/PyleWM","owner":"Lucas7211","description":"A utility for tiling window management keybindings on Microsoft Windows, inspired by use of i3/awesome.","archived":false,"fork":false,"pushed_at":"2024-10-19T13:05:33.000Z","size":3259,"stargazers_count":32,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T06:50:02.848Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/Lucas7211.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":"2017-07-09T13:42:47.000Z","updated_at":"2024-12-28T10:10:37.000Z","dependencies_parsed_at":"2024-08-01T16:40:05.892Z","dependency_job_id":"fe845408-de4d-42e9-b457-01f807742c00","html_url":"https://github.com/Lucas7211/PyleWM","commit_stats":{"total_commits":106,"total_committers":5,"mean_commits":21.2,"dds":"0.39622641509433965","last_synced_commit":"d73d6dffb6a0b9aa640056564e67e05c8b70ccb5"},"previous_names":["lucas7211/pylewm","gglucas/pylewm"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucas7211%2FPyleWM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucas7211%2FPyleWM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucas7211%2FPyleWM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucas7211%2FPyleWM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lucas7211","download_url":"https://codeload.github.com/Lucas7211/PyleWM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049619,"owners_count":21039250,"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","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":[],"created_at":"2024-08-01T16:01:55.138Z","updated_at":"2025-04-09T13:33:09.796Z","avatar_url":"https://github.com/Lucas7211.png","language":"Python","readme":"PyleWM\n======\nPyleWM is a utility for doing tiled window management on the Windows OS.\nIt is inspired heavily by the linux window managers i3 and awesomewm.\n\nFunctionality includes:\n* Windows are automatically tiled into a column-grid layout. Hotkeys can be used\n  to move or swap windows in the grid.\n* Hotkeys for switching which window is focused based on a direction.\n* Double-sided workspaces per monitor, allowing for easy flipping back and forth.\n* Binding arbitrary global hotkeys to various builtins or any python function.\n* Any number of temporary workspaces per monitor, created as needed.\n* Drag \u0026 Drop windows into automatically tiled slots.\n\nInstallation\n============\nEither:\n* Download a self-contained binary package from the [Releases Page](https://github.com/GGLucas/PyleWM/releases)\n* OR: Use `pip install pylewm` and run `python -m pylewm`\n* OR: Clone the repository and execute `PyleWM.py` (see Dependencies section below)\n\nGetting Started\n===============\nWhen you start PyleWM you will find all your windows tiled into a grid\nautomatically.\n\nHolding `Control+Alt` and pressing one of the `HJKL` keys will automatically\nchange your focused window in the direction of the pressed key.\nHolding `Control+Alt+Shift` and pressing one of the `HJKL` keys will move\nthe window in that direction in the grid.\n\nGrabbing a window with the mouse and moving it around pops it out of\nthe tiled grid automatically. You can then drop it back into the\ngrid by dropping it with the mouse hovered near one of the vertical\nsplits in the grid layout. An empty space will be shown indicating\nwhere the window will be dropped.\n\nPressing `Control+Alt+Space` will swap the monitor's workspace between\nthe 'back' and 'front', allowing you to have two separate tiling layouts.\n\nFor a list of hotkeys available by default see [the example config file](pylewm/pylewm_example_config.py).\n\nPyleWM adds a windows tray icon that can be used to quit the application.\n\nTemporary Workspaces\n====================\nIn addition to the two 'back' and 'front' workspaces per monitor, an unlimited\namount of temporary workspaces can be used.\n\nTemporary workspaces only exist as long as there are windows assigned to them.\nAs soon as all windows in a temporary workspace are closed or moved away, it is destroyed.\n\nThe default `Control+Alt+S` shortcut will switch to the most recently used temporary workspace. \nWhen there are no temporary workspaces on this monitor, or if the current visible workspace is already a temporary workspace,\nit switches to a new empty temporary workspace instead.\n\nThe `Control+Alt+N` (Next Temporary Workspace) and `Control+Alt+M` (Previous Temporary Workspace) shortcuts can\nswitch between temporary workspaces if the current monitor has more than one.\n\nPressing `Control+Alt+Shift+S` will move the currently focused window into its own new temporary workspace.\n\nApplication Selector\n====================\nPyleWM has a builtin fuzzy search window. By default this can be used in two modes:\n\nPressing `Control+Alt+Enter` shows a list of all application shortcuts (taken\nfrom the start menu and the desktop), and lets you type a fuzzy search to start any\napplication.\n\nPressing `Control+Alt+W` lists the titles of all currently open windows, and lets you\ntype a fuzzy search to focus one of them.\n\nConfiguration\n=============\nPyleWM automatically sets up an example configuration file in\n`%APPDATA%\\PyleWM\\PyleWM_Config.py`. Change the configuration and \nrestart PyleWM (default hotkey `Control+Alt+Shift+R`) to load the\nupdated configuration.\n\nDependencies\n============\nWritten for minimum Python version 3.6.\nRequires `pywin32`, `pystray`, `pygame`, `fuzzywuzzy`, and `pylnk3`.\n\nPermissions\n===========\nUnfortunately, PyleWM will have to run as administrator (it prompts UAC\nwhen ran as user). Windows does not allow window management on system\nwindows such as Task Manager unless administrator permissions are active, and \nPyleWM would stop working.\n\nFocus Stealing\n==============\nSince PyleWM has a lot of features to set the focused window using keyboard control,\nwe have to work around Windows' limitations that prevent focus from changing in \ncertain situations. One such limitation is a timeout in the rate that focus can be switched.\n\nTo make switching focus using PyleWM more consistent, running PyleWM automatically sets the\n`HKCU\\Control Panel\\Desktop\\ForegroundLockTimeout` registry value to 0 to allow\nwindows to be unfocused.\n\nYou may need to sign out of your user account and sign back in before this takes effect.","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLucas7211%2FPyleWM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLucas7211%2FPyleWM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLucas7211%2FPyleWM/lists"}