{"id":23384457,"url":"https://github.com/gowthamsiddarthademan/focus_lock-window_pinning_tool","last_synced_at":"2025-04-08T11:23:54.322Z","repository":{"id":266528075,"uuid":"898605448","full_name":"gowthamsiddarthademan/Focus_Lock-Window_Pinning_Tool","owner":"gowthamsiddarthademan","description":"A lightweight Python application which allows users to select a window from the list of currently open applications and lock it on top of all other windows. This feature is particularly useful for keeping essential applications in view without them getting minimized when switching between other programs.Inspired by tools like DeskPin.","archived":false,"fork":false,"pushed_at":"2024-12-05T19:37:47.000Z","size":7105,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T07:36:48.781Z","etag":null,"topics":["deskpin","python","tool","window","window-pinner"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gowthamsiddarthademan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-12-04T17:35:52.000Z","updated_at":"2024-12-05T19:37:50.000Z","dependencies_parsed_at":"2024-12-04T18:39:57.022Z","dependency_job_id":"74d7ce83-25bd-46b2-a883-5388ea924ef7","html_url":"https://github.com/gowthamsiddarthademan/Focus_Lock-Window_Pinning_Tool","commit_stats":null,"previous_names":["gowthamsiddarthademan/focus_lock-window_pinning_tool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gowthamsiddarthademan%2FFocus_Lock-Window_Pinning_Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gowthamsiddarthademan%2FFocus_Lock-Window_Pinning_Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gowthamsiddarthademan%2FFocus_Lock-Window_Pinning_Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gowthamsiddarthademan%2FFocus_Lock-Window_Pinning_Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gowthamsiddarthademan","download_url":"https://codeload.github.com/gowthamsiddarthademan/Focus_Lock-Window_Pinning_Tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247830580,"owners_count":21003230,"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":["deskpin","python","tool","window","window-pinner"],"created_at":"2024-12-21T23:27:19.306Z","updated_at":"2025-04-08T11:23:54.299Z","avatar_url":"https://github.com/gowthamsiddarthademan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Focus Lock : Window Pinning Tool \n\n**Focus Lock** is a Python-based utility designed to keep a selected window always on top of other applications. This tool is similar to **DeskPins**, offering a programmatic solution for maintaining focus on a specific window, ensuring it remains visible and accessible even when switching between tasks.  \n\n---\n\n## Features  \nFocus Lock is a lightweight and efficient tool packed with the following features:  \n- **Dynamic Window Selection:** Detects all active windows and allows the user to select one to lock on top.  \n- **Always-on-Top Functionality:** Keeps the selected window on top of all other windows, ensuring it remains visible at all times.  \n- **User-Friendly Interface:** Simplifies window selection with a numbered list of active windows.  \n- **Customizable and Lightweight:** Developed using Python, Focus Lock is highly customizable for developers and doesn’t consume significant system resources.  \n- **DeskPins-Like Functionality:** Similar to DeskPins but implemented as a Python script, making it more adaptable and tailored to specific needs.  \n\n---\n\n## How It Works  \n1. **Window Detection:** The script identifies all active windows running on the system.  \n2. **User Selection:** The user selects the desired window from the list provided by the script.  \n3. **Always-on-Top Implementation:** The selected window is locked in the foreground using the `pywin32` library, ensuring it stays on top of other windows.  \n\n---\n\n## Step-by-Step Guide  \n\n### Prerequisites  \n- Python (version 3.7 or above) installed on your system.  \n- The `pywin32` library installed in your Python environment:  \n  ```bash  \n  pip install pywin32  \n  ```  \n\n---\n\n### Running the Script  \n1. Save the **Focus Lock** Python script (e.g., `focus_lock.py`) to a directory of your choice.  \n2. Open a terminal or command prompt, navigate to the script's directory, and run:  \n   ```bash  \n   python focus_lock.py  \n   ```  \n3. Follow the instructions to select the window you want to keep always on top.  \n\n---\n\n## Creating an Executable File  \n\nTo make Focus Lock accessible without requiring Python installation, you can convert it into a standalone executable file using **PyInstaller**.  \n\n### Steps to Convert the Script to an Executable  \n1. **Install PyInstaller:**  \n   Run the following command in your terminal:  \n   ```bash  \n   pip install pyinstaller  \n   ```  \n\n2. **Navigate to the Script Directory:**  \n   Move to the folder containing the `focus_lock.py` script:  \n   ```bash  \n   cd C:\\path\\to\\your\\script  \n   ```  \n\n3. **Generate the Executable:**  \n   Run the PyInstaller command:  \n   ```bash  \n   python -m PyInstaller --onefile focus_lock.py  \n   ```  \n   - The `--onefile` option ensures all dependencies are bundled into a single executable file.  \n\n4. **Locate the Executable:**  \n   After the build process completes, find the `.exe` file in the `dist` folder inside your script’s directory.  \n\n5. **Run the Executable:**  \n   Open the `dist` folder and double-click the `.exe` file, or run it via the terminal:  \n   ```bash  \n   cd dist  \n   focus_lock.exe  \n   ```  \n\n---\n\n## Additional Notes  \n- **Error Handling:** The script dynamically checks the status of the selected window. If the window is closed, it gracefully exits without affecting your system.  \n- **System Requirements:** Focus Lock is compatible with Windows operating systems and requires administrative privileges for certain functionalities.\n\n---\n## Any Enquiry..... \n- You can reach out in my E-Mail and Instagram\n- gowthammsiddarthademan@gmail.com\n- IG:@gowthamsiddarthademan\n---\n\n## Conclusion  \n**Focus Lock** provides a simple, effective, and customizable solution for maintaining focus on critical tasks. By following the steps outlined above, you can easily run the script or create a standalone executable for convenient use. This lightweight tool serves as a reliable alternative to DeskPins, empowering users to manage their workspace efficiently.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgowthamsiddarthademan%2Ffocus_lock-window_pinning_tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgowthamsiddarthademan%2Ffocus_lock-window_pinning_tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgowthamsiddarthademan%2Ffocus_lock-window_pinning_tool/lists"}