{"id":17258636,"url":"https://github.com/xiaq/mindock","last_synced_at":"2025-08-02T17:12:11.667Z","repository":{"id":7884834,"uuid":"9260896","full_name":"xiaq/mindock","owner":"xiaq","description":"A minimal, programmable dock for herbstluftwm (and possibly other tiling WMs)","archived":false,"fork":false,"pushed_at":"2014-07-05T07:29:07.000Z","size":192,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-24T00:45:20.165Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/xiaq.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}},"created_at":"2013-04-06T14:12:05.000Z","updated_at":"2016-10-23T20:51:48.000Z","dependencies_parsed_at":"2022-09-03T09:50:42.689Z","dependency_job_id":null,"html_url":"https://github.com/xiaq/mindock","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xiaq/mindock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaq%2Fmindock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaq%2Fmindock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaq%2Fmindock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaq%2Fmindock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaq","download_url":"https://codeload.github.com/xiaq/mindock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaq%2Fmindock/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268424029,"owners_count":24248119,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"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":[],"created_at":"2024-10-15T07:21:24.485Z","updated_at":"2025-08-02T17:12:11.646Z","avatar_url":"https://github.com/xiaq.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mindock\n\n`mindock` is a minimal, programmable dock for herbstluftwm (and possibly other\ntiling WMs).\n\nScreenshot - it's quite unimpressive :) :\n\n![mindock screenshot](https://raw.github.com/xiaq/mindock/master/screenshot.png)\n\nWindows are roxterm, firefox, kupfer and devhelp, with kupfer being the active\none.\n\n## Why another dock?\n\n[EWMH](http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html) defines 2\nproperties of the root window to store the list of the windows:\n`_NET_CLIENT_LIST` and `_NET_CLIENT_LIST_STACKING`. The former shall be in\n\"initial mapping order, starting with the oldest window\". It's also the order\nmost stacking WMs use for \"Alt-Tab\" or like; therefore all docks and panels I\nknow of (awn, xfce4-panel, etc.) place windows in this order.\n\nHowever, tiling WMs allow you to adjust the layout of windows, and the order\nof navigation is likely changed too. In that case the navigation order becomes\ninconsistent with `_NET_CLIENT_LIST`. Unfortunately, there seems to be no way\nthe WM can indicate the navigation order under this condition.\n\n## Why dock at all? Why not just display a list of window names in dzen?\n\nDocks are much more scalable and intuitive.\n\n## How it works\n\nIt follows the model of [dzen](http://robm.github.io/dzen/): it monitors stdin\ncontinuously, and when there is a new line of input, it parses it as a list of\nX window IDs. Icons for these windows are then displayed, with the active\nwindow in a different background.\n\nTherefore this requires that you write a script for monitor the list of window\nIDs on current workspace, which implies is that your WM has to be scriptable\nso that you can monitor and output the list of windows in the first place. I\ndevelop this dock under\n[herbstluftwm](http://wwwcip.cs.fau.de/~re06huxa/herbstluftwm/)(hlwm) and for\nhlwm; `hlwm-monitor-wid` is a reference bash script just for that.\n\nTo use with hlwm, just run\n\n    ./hlwm-monitor-wid | ./mindock\n\n## Dependencies\n\nI developed mindock using Python 2.7.\n\nUnfortunately, since packaging of PyGTK and python-wnck are rather weird, I'm\nunable to write a suitable `setup.py` for mindock. So you have to install the\ndependencies by hand, preferably using your distro's package manager:\n\n* PyGTK\n* PyXDG\n* Python binding of libwnck\n\nOn Archlinux, `pacman -S pygtk python2-xdg python2-wnck` should suffice as of\n2013-04-07.\n\n## Roadmap\n\nIt's obvious that a lot is missing, but it's already usable for me. :)\n\nPlanned:\n\n* Prettier look (transparency, highlight effect, etc.)\n* Support simple elements other than window icons (separators, etc.)\n\nProbably:\n\n* Make icon clicking actually work :)\n\n_Not_ planned:\n\n* System tray\n* Graphical configuration interface\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaq%2Fmindock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaq%2Fmindock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaq%2Fmindock/lists"}