{"id":24076688,"url":"https://github.com/apirogov/xmonad-wallpaperhook","last_synced_at":"2025-09-16T10:32:29.485Z","repository":{"id":15642377,"uuid":"18379470","full_name":"apirogov/xmonad-wallpaperhook","owner":"apirogov","description":"XMonad log hook for setting different wallpapers for each workspace.","archived":false,"fork":false,"pushed_at":"2015-03-12T23:26:33.000Z","size":160,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-11T06:32:35.533Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apirogov.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-04-02T19:58:11.000Z","updated_at":"2015-03-12T23:26:34.000Z","dependencies_parsed_at":"2022-08-04T06:00:16.846Z","dependency_job_id":null,"html_url":"https://github.com/apirogov/xmonad-wallpaperhook","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirogov%2Fxmonad-wallpaperhook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirogov%2Fxmonad-wallpaperhook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirogov%2Fxmonad-wallpaperhook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apirogov%2Fxmonad-wallpaperhook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apirogov","download_url":"https://codeload.github.com/apirogov/xmonad-wallpaperhook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233251961,"owners_count":18648145,"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":[],"created_at":"2025-01-09T20:00:14.934Z","updated_at":"2025-09-16T10:32:24.129Z","avatar_url":"https://github.com/apirogov.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"xmonad-wallpaperhook\n====================\n\n**This is now in xmonad-contrib-darcs! If you just want to install it, get it there!**\n\nThis is my log hook for xmonad to set different wallpapers for each workspace.\n\nThe runtime dependencies are imagemagick and feh (the CLI tools should be installed).\nThey are used to first combine the wallpapers on the virtual xinerama screen and then\nset the merged wallpaper onto the virtual canvas, making the correct wallpaper appear\non the according workspace.\n\nThe reason for this workaround is that I wanted the images be automatically aligned\nwith the screen orientation - horizontal pictures on vertical screens or vertical\npictures on horizontal screens will be rotated by 90 degrees.\n\nAs xmonad workspaces are independent from physical screens, there is no way to know\na priori which pictures are to be rotated, so the only alternative would be to pre-render\nand save a rotated copy for all of them. I decided against duplicating all wallpapers\non my hard drive and to use real-time orientation.\n\nMainly because the conversion and merging takes some time, expect the wallpapers to have\na lag of 0.5s following the workspace changes.\n\nIf you come up with some hack to speed this up, a pull request is appreciated.\n\nThis is my first xmonad extension and the code is rather ugly as I don't know better,\nso I also appreciate refactoring of this code or some tips. In the current condition I\nwon't even try to submit this to the official xmonad-contrib package.\n\nLook at the haddock documentation to see how to integrate it into your xmonad.hs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapirogov%2Fxmonad-wallpaperhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapirogov%2Fxmonad-wallpaperhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapirogov%2Fxmonad-wallpaperhook/lists"}