{"id":22525441,"url":"https://github.com/wdbm/ucom","last_synced_at":"2025-10-28T18:32:28.580Z","repository":{"id":16830528,"uuid":"19589944","full_name":"wdbm/ucom","owner":"wdbm","description":"computer graphical user interface","archived":false,"fork":false,"pushed_at":"2016-07-13T15:25:05.000Z","size":1422,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-02T05:15:29.935Z","etag":null,"topics":["desktop-environment","python","x11","xlib"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wdbm.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}},"created_at":"2014-05-08T21:43:48.000Z","updated_at":"2020-12-13T15:18:43.000Z","dependencies_parsed_at":"2022-08-04T11:30:14.668Z","dependency_job_id":null,"html_url":"https://github.com/wdbm/ucom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fucom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fucom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fucom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fucom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wdbm","download_url":"https://codeload.github.com/wdbm/ucom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245966932,"owners_count":20701759,"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":["desktop-environment","python","x11","xlib"],"created_at":"2024-12-07T06:10:11.074Z","updated_at":"2025-10-28T18:32:28.501Z","avatar_url":"https://github.com/wdbm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](images/logo_ucom.png)\n\nUCOM is a minimal computer graphical user interface. It is written in Python and uses [Xlib](http://xorg.freedesktop.org/wiki/ProgrammingDocumentation/) via the [Python X Library](http://python-xlib.sourceforge.net/).\n\nXlib is an X Window System protocol client library written in C. It features functions for interacting with an X server. The Python X Library is an X client library for Python programs written in Python.\n\n# screenshots\n\n![](images/screenshot_1.png)\n\n![](images/screenshot_2.png)\n\n# setup\n\nSetup, update and removal scripts are provided by [ucomsys](https://github.com/wdbm/ucomsys).\n\n# running\n\n## running in a new X session (via login)\n\nThis can be set up using [ucomsys](https://github.com/wdbm/ucomsys). In order to make UCOM available as session option at login, the file UCOM.desktop should be added to the directory `/usr/share/xsessions`. Its contents should be something like the following (with changes to the user name and directories as necessary):\n\n```Bash\n[Desktop Entry]\nEncoding=UTF-8\nName=UCOM\nComment=UCOM -- X11 desktop environment\nExec=/usr/bin/python /home/user/ucom/ucom.py\nIcon=/home/user/ucom/images/icon_ucom.png\nType=Application\n```\n\n## running from an existing X session\n\nTo manually run UCOM in an X server from within an X server session, start a new X server on display 1 (as opposed to display 0). To do this, engage another teletype (tty) device (`Ctrl` `Alt` `F1`) and enter a command such as the following:\n\n## running in Xephyr X server\n\nUCOM can be tested using [Xephyr](http://www.freedesktop.org/wiki/Software/Xephyr/).\n\n```Bash\nsudo apt-get -y install xserver-xephyr\n```\n\nUCOM can be run in Xephyr in a way such as the following:\n\n```Bash\nXephyr -screen 1024x768 -br :1\nDISPLAY=:1 python ucom.py\n```\n\n```Bash\nxinit /usr/bin/python /home/user/ucom/ucom.py -- :1\n```\n\n# usage\n\nTo focus on a window, hover on it. To bring a window to the foreground, right-click it. To move a window, right-click it and drag. To open a new terminal, press `Alt` `Enter`.\n\n# useful programs\n\nSome programs are of particular use with UCOM.\n\n## Maximus\n\nMaximus is a program that is designed to maximise the windows of running programs. It can be useful for clarity and for efficient use of space.\n\n## ranger\n\nRanger is a text-based file and directory manager written in Python.\n\n# future\n\nWindow resize and tiling capabilities are under consideration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwdbm%2Fucom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwdbm%2Fucom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwdbm%2Fucom/lists"}