{"id":16985257,"url":"https://github.com/malcolmstill/thunner","last_synced_at":"2025-03-17T09:30:30.227Z","repository":{"id":5992916,"uuid":"7215477","full_name":"malcolmstill/thunner","owner":"malcolmstill","description":"A curses Google Play Music client","archived":false,"fork":false,"pushed_at":"2015-12-23T23:29:45.000Z","size":221,"stargazers_count":104,"open_issues_count":22,"forks_count":25,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-14T18:40:59.504Z","etag":null,"topics":["abandoned"],"latest_commit_sha":null,"homepage":null,"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/malcolmstill.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":"2012-12-18T01:20:12.000Z","updated_at":"2024-01-03T14:10:23.000Z","dependencies_parsed_at":"2022-08-19T09:01:22.932Z","dependency_job_id":null,"html_url":"https://github.com/malcolmstill/thunner","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/malcolmstill%2Fthunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malcolmstill%2Fthunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malcolmstill%2Fthunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malcolmstill%2Fthunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/malcolmstill","download_url":"https://codeload.github.com/malcolmstill/thunner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243858153,"owners_count":20359253,"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":["abandoned"],"created_at":"2024-10-14T02:43:03.806Z","updated_at":"2025-03-17T09:30:29.926Z","avatar_url":"https://github.com/malcolmstill.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"thunner\n=======\n\nA curses Google Play Music client\n\n'thunner' - thunder (Doric Scots)\n\nRequirements\n------------\n\n* Python 2\n* [Simon Weber's Unofficial Google Music API][weber]\n* mplayer\n* Some songs on Google Play Music\n* One or more internets\n* A colour terminal\n\nUsage\n-----\n\nChmod `thunner` and add to your path. Make sure you have a `~/.thunnerrc` file; see below for configuration.\n\nKeys\n----\n\n* Arrow keys : menu navigation\n* enter : play (plays whatever is under the cursor, be that a song/album/artist or higher level menu item, but also queues the rest of the items in the current menu playing down the list and looping round to the top)\n* ] : play (plays only the item under the cursor, be that a song/album/artist or higher level menu item.\n* . : next\n* , : previous\n* spacebar : pause \n* q : quit\n\nConfiguration\n-------------\n\nConfiguration of thunner is via `~/.thunnerrc`. An example file is as follows:\n\n\t      email \u003cyour e-mail address here\u003e\n\t      pass \u003cyour password here\u003e\n\t      color mycolor blue default\n\t      assign mycolor header-text\n\n`email` and `pass` are required (yes, plaintext password is not exactly secure). Spaces are allowed in `pass`. Any number of `color` and `assign` lines are allowed. \n\n`color` takes three arguements: a name (which the user chooses), a foreground colour and a background colour. Foreground and background colours can be of the following values:\n\n* `default`\n* `black`\n* `red`\n* `green`\n* `yellow`\n* `blue`\n* `magenta`\n* `cyan`\n* `white`\n\n`default` picks up the foreground/background colours of the terminal. I believe `black` to `white` are colours 0-7 as per your X resources (e.g. `*color0: #575757`).\n\n`assign` takes two arguements a named colour pair (as defined via `color`) and a destination. The following destinations are defined:\n\n* `thunner` - the colour of \"thunner\" (top left)\n* `header-text` - colour of text in the header (location in menu tree)\n* `header-sep` - colour of separators between header text\n* `header-border` - colour of border below header\n* `footer-border` - colour of border above footer\n* `footer-sep` - colour of separators between footer text\n* `status` - colour of status (playing/paused/stopped)\n* `current-artist` - colour of currently playing artist in footer\n* `current-song` - colour of currently playing song in footer\n* `current-item` - colour of highlighted row in menu\n* `text` - other rows in menu\n\nWhere the above are not defined in `~/.thunnerrc` they default to `default` which in turn is defined as:\n\n      color default default default\n\nFor consitency's sake I've spelt \"colour\" as \"color\" in the code.\n\nthunner also checks for `~/.thunnerlogo` on start-up and will show the contents of said file whilst connecting.\n\nTo Do\n-----\n\n* Add a random mode\n* Add the ability to define new playlists\n* Fix compilations under \"Artists\"\n* Check compatibility with other OSes\n* Add more customisations\n* Add RGB definition to configuration file for terminals that support `init_color`\n* Add support for pass\n* Hide lag from API calls\n\nKnown Issues\n------------\n\n* Compilations aren't currently handled well; Going to \"Albums\" will show n copies of an compilation album where n is the number of different artists on the album.\n* API calls can be slow causing lag between input and playback. Avoid switching songs too quickly (with 'next', 'previous', etc.)\n\n[weber]: https://github.com/simon-weber/Unofficial-Google-Music-API \"Simon Weber's Unofficial Google Music API\"","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalcolmstill%2Fthunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalcolmstill%2Fthunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalcolmstill%2Fthunner/lists"}