{"id":19797161,"url":"https://github.com/wyatt8740/xwdui","last_synced_at":"2026-06-09T06:31:20.870Z","repository":{"id":148846770,"uuid":"131656296","full_name":"wyatt8740/xwdui","owner":"wyatt8740","description":"A Python/TK/Korn Shell-based GUI wrapper for `xwd`, the X11 Window Dumper tool. Now primarily focused on using `ffmpeg` instead, but both ways work. Designed to work as a screenshot tool for CDE, but should work anywhere.","archived":false,"fork":false,"pushed_at":"2022-07-03T15:27:19.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T16:17:19.707Z","etag":null,"topics":["cde","common-desktop-environment","kornshell","ksh","ksh93","python","screengrab","screenshot","screenshots","unix","x11","xwd"],"latest_commit_sha":null,"homepage":"https://gitlab.com/wyatt8740/xwdui","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/wyatt8740.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":"2018-04-30T23:22:52.000Z","updated_at":"2021-12-21T15:30:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8dbb1d5-6551-4292-9c02-57642ecfe640","html_url":"https://github.com/wyatt8740/xwdui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wyatt8740/xwdui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyatt8740%2Fxwdui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyatt8740%2Fxwdui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyatt8740%2Fxwdui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyatt8740%2Fxwdui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wyatt8740","download_url":"https://codeload.github.com/wyatt8740/xwdui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyatt8740%2Fxwdui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34095242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cde","common-desktop-environment","kornshell","ksh","ksh93","python","screengrab","screenshot","screenshots","unix","x11","xwd"],"created_at":"2024-11-12T07:24:06.421Z","updated_at":"2026-06-09T06:31:20.848Z","avatar_url":"https://github.com/wyatt8740.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"xwdui\n-----\n\nA tiny crummy UI for `xwd`, the X Window Dump utility (It takes screenshots).\n\nThere's also a newer version which uses `ffmpeg` instead, which appears\nto be more suited to taking screenshots on systems using compositors.\n\nYou will have to change the path to the file to save the last run's settings\nin from within the .py scripts. Other than that it shouldn't be too difficult\nto set up. Ask if you have problems. I mostly wrote this for myself so it's\ndefinitely a bit strange to set up. Once set up it should work fine though.\n\nIf you are having it just not start up properly, try forging a 'last run'\nfile. That's the file name set in the poorly-named 'fileName' variable in the\n.py scripts.\n\nYou can now use a script I wrote called `create-state-file` to automate this,\nor manually do the following. The file should be `${HOME}/.xwdui`.\n\nThe file should have the format of:\n````\n[line 1] /path/to/directory/to/save/screenshots/in/ [newline]\n[line 2] [empty by default; causes the screenshot program to give screenshots\n         timestamps for file names. Alternatively, can be 'filename.png']\n         [ newline, only if line 2 is non-empty ]\n````\nwith a unix-style newline (`\\n`) separating the two fields.\n\nIt needs Imagemagick to work (it uses the `convert` utility to convert a\nXWD-format file to a PNG image).\n\nI wrote this primarily for use in CDE, the old commercial Unix desktop. With\nthat said, I think it should work on pretty much any X window manager. I have\npersonally been using it in FVWM without issues recently.\n\nTo make this work in CDE, if you don't already have a file called ~/.dt/dtwmrc,\ncopy one from the system installation dir (e.g. `/usr/dt/config/C/sys.dtwmrc`).\n\n\n#### Key bindings in a selection of window managers\n##### CDE (Common Desktop Environment)\nTo make it work in CDE, I made part of my `dtwmrc` (`~/.dt/dtwmrc`) look like\nthis:\n````\nKeys DtKeyBindings\n{\n    \u003ckey\u003ePrint         root|icon|window        f.exec /home/wyatt/bin/xwdui.py\n    Alt\u003ckey\u003ePrint      root|icon|window        f.exec /home/wyatt/bin/xwdui-root.py\n    [the stuff that was already in this section goes here]\n}\n````\nThat let me use my \"Print Screen\" key to take screenshots of windows.\n\nFor full-screen screenshots, I set a separate keybinding for `xwdui-root.py`,\nwhich mapped to alt-PrintScreen. This went in the same `DtKeyBindings` section,\nas seen in the example above.\n\n##### FVWM (FVWM2)\nFor FVWM, I edited my `~/.fvwm2rc` file to include the following lines:\n````\n# Print Screen\nSilent Key Print A A Exec exec /home/wyatt/bin/xwdui.py\n# Alt-Print Screen (fullscreen screenshot)\nSilent Key Print A M Exec exec /home/wyatt/bin/xwdui-root.py\n````\n\nThe keyword `Silent` is not strictly necessary, but suppresses errors on\nkeyboards which don't have a Print Screen key.\n\n##### MATE\nThis can be done multiple ways in MATE, but the easiest is probably to run\n`mate-keybinding-properties` and set it to run your script there via the GUI\ninterface.\n\nOther options would include setting it up manually using `dconf` (CLI) or\n`dconf-editor` (GUI).\n\nAlternatively, MATE already has a screenshot tool\nbuilt-in, which is what my cheap little tool is meant to be a partial clone of.\nIt was the inspiration for my design. It's better than my tool in most ways,\nso using that instead would be a viable option.\n\n---\n\nThose are all of the desktop environments I have used in recent times. If you\ncan't figure out how to do it in yours, ask me in a bug report and I'll\ntry to figure it out for you if I can.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyatt8740%2Fxwdui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwyatt8740%2Fxwdui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyatt8740%2Fxwdui/lists"}