{"id":20874687,"url":"https://github.com/neomutt/panel-manager","last_synced_at":"2025-05-12T15:30:43.545Z","repository":{"id":72106953,"uuid":"48352891","full_name":"neomutt/panel-manager","owner":"neomutt","description":"💭 Mock-up of a panel manager for mutt","archived":false,"fork":false,"pushed_at":"2022-06-12T19:07:14.000Z","size":64,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-01T07:04:30.900Z","etag":null,"topics":["code","sample","wm"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neomutt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2015-12-21T05:38:54.000Z","updated_at":"2023-06-22T10:28:55.000Z","dependencies_parsed_at":"2023-03-11T11:52:24.401Z","dependency_job_id":null,"html_url":"https://github.com/neomutt/panel-manager","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/neomutt%2Fpanel-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomutt%2Fpanel-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomutt%2Fpanel-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neomutt%2Fpanel-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neomutt","download_url":"https://codeload.github.com/neomutt/panel-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253765751,"owners_count":21960784,"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":["code","sample","wm"],"created_at":"2024-11-18T06:35:45.876Z","updated_at":"2025-05-12T15:30:43.531Z","avatar_url":"https://github.com/neomutt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Panel Manager\n\n## What is it?\n\nThis is a sample application to demonstrate a mechanism to divide up screen\nreal estate.  The panels can be fixed, or variable, width/height.  Their\nvisibility can also be toggled.\n\nI wrote it to remind myself how ncurses windows work and to demonstrate how\nI'd like to carve up the screen space -- separating out the graphics code.\n\n## Why?\n\nAt the moment, mutt puts all of its information in one big window.\nOccasionally, this window is split in two.  All the components of mutt draw\ndirectly onto the screen at fixed locations.\n\nThroughout the mutt code there are hard-coded references to the curses\nvariables: COLS, LINES.  Also, many component write text at fixed positions on\nthe screen.\n\n## Panels\n\nTo implement a sidebar, currently you must alter every piece of code that\nwrites to column 0.\n\nIdeally, every component should be given coordinates describing the piece of\nscreen it has been allocated.  If the screen changes (e.g. is resized) then\nthe component would be signalled and given new coordinates.\n\nCurses windows can enforce limits on where text is drawn, preventing\ninterference between components.\n\n## Controls\n\n| Button | Action                       | \n| ------ | :--------------------------- | \n| s      | Toggle sidebar               |\n| i      | Toggle index                 |\n| p      | Toggle pager                 |\n| h      | Toggle help page             |\n| x      | Swap the side of the sidebar |\n| q      | Quit                         |\n\n## Who?\n\n* Rich Russon (FlatCap) \u0026lt;rich@flatcap.org\u0026gt;\n* https://flatcap.org/\n\n![flatcap](https://flatcap.org/gfx/flatcap.png)\n\n## License\n\nThe code is released under the GPLv3.\nSee [LICENSE.md](https://github.com/neomutt/panel-manager/blob/master/LICENSE.md) for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneomutt%2Fpanel-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneomutt%2Fpanel-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneomutt%2Fpanel-manager/lists"}