{"push_id":716070612,"size":11,"distinct_size":3,"ref":"refs/heads/master","head":"4f121a46311f1bbce6820b90e11d5f2fbfc330db","before":"7a6555868794ebcb57355bffb72efb7fa9d4211c","commits":[{"sha":"c7e1a311e0281b95799c196afa6e51f7f785e4ea","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Add support for \"virtual monitors\"\n\nThis is kind of similar to what splitwm[1] does.\n\nWorkflow and use case is as follows:\n\n    - You're at a laptop.\n    - You connect an additional monitor to your laptop. Most likely a\n      projector and you're holding a talk.\n    - You want to clone your laptop screen to the projector. In addition\n      to that, you want to have a private area on your laptop screen\n      that only you can see.\n    - So, you configure X11 like this:\n\n        $ xrandr --output LVDS1 --mode 1920x1080\n        $ xrandr --output VGA1 --mode 1280x1024 --same-as LVDS1\n\n      This results in two \"overlapping\" screens. Vanilla dwm gets a\n      little confused by this: You see two overlapping bars and windows\n      overlap.\n    - With this patch, you can now call setvmonconfig() and tell dwm to\n      pretend that there's two screens which might be configured like\n      this:\n\n        $ xrandr --output VGA1 --mode 1280x1024 --pos 0x0\n        $ xrandr --output LVDS1 --mode 640x1080 --pos 1280x0\n\nWhen you're finished, you can do this:\n\n    - Call setvmonconfig() to tell dwm to do auto detection only.\n    - Unconfigure the external monitor:\n\n        $ xrandr --output VGA1 --off\n        $ xrandr --output LVDS1 --auto\n\n[1] https://github.com/examon/splitwm","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/c7e1a311e0281b95799c196afa6e51f7f785e4ea"},{"sha":"c18e5ed633d3ace4c71aa3e51be0106447411221","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"updategeom moves everything to first monitor\n\nVanilla updategeom tries to retain the current layout -- which client is\non which monitor? This is a nice idea but since I have got\nplacement{save,restore}(), I really don't need this. Plus, the vanilla\ncode doesn't work well with vmons.","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/c18e5ed633d3ace4c71aa3e51be0106447411221"},{"sha":"cb4dab06f2686101080810794cc0a70ca8d35b44","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Read virtual monitors from property on root window\n\nYou can now do this:\n\n    $ xprop -root \\\n        -f DWM_VIRTUAL_MONITORS 8s \\\n        -set DWM_VIRTUAL_MONITORS '1024x768+0+0;800x600+1280+20;'\n\nTo return to \"xinerama only\", simply remove the property:\n\n    $ xprop -root -remove DWM_VIRTUAL_MONITORS\n\nThe format of one geometry string is as follows:\n\n    \"<width>{xX}<height>{+}<xoffset>{+}<yoffset>\"\n\nIn other words, you must provide width, height, xoffset and yoffset.\nAlso, xoffset and yoffset must not be negative.\n\nEach geometry string must be terminated with a \";\".\n\n(It would have been easier for dwm to use an integer array property.\nHowever, there is no easy way to set such a property -- xprop cannot do\nthis. I would have needed to write a new tool for this job.)","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/cb4dab06f2686101080810794cc0a70ca8d35b44"},{"sha":"7c4c9f9e1f879ae18d15b5082ffc057009b8900b","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Refactor to eliminate duplicate code","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/7c4c9f9e1f879ae18d15b5082ffc057009b8900b"},{"sha":"b0577eb0e47fb6a0b1c55e13c641b06afffc7942","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Read vmonconfig on startup","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/b0577eb0e47fb6a0b1c55e13c641b06afffc7942"},{"sha":"46cbd5ec96bf1d178e8f336d576bbb440c61f4c7","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Remove odd empty line","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/46cbd5ec96bf1d178e8f336d576bbb440c61f4c7"},{"sha":"044ff7c4b118118ebd055d47c99ace0c9b2cfb88","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Fix sortmonitorsbyx(): Don't assign -1\n\nWhen two monitors have the same \"mx\", don't skip the second one.\n\nThis fixes misplacement of newly created windows: In applyrules(), we\nassign the new client to monitor number \"i\". Now, if you use \"-1\" in\nyour rules, the client would have been placed on an arbitrary monitor.","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/044ff7c4b118118ebd055d47c99ace0c9b2cfb88"},{"sha":"778d93eca2f88bf4f66ae95d0abc66a13bb31a28","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Fix crash when restoring layout without having it saved","distinct":false,"url":"https://api.github.com/repos/vain/dwm-vain/commits/778d93eca2f88bf4f66ae95d0abc66a13bb31a28"},{"sha":"c097cc449b2a7f1fc5074c63fefff38f0d312e9f","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"README: Add virtual monitors to feature list","distinct":true,"url":"https://api.github.com/repos/vain/dwm-vain/commits/c097cc449b2a7f1fc5074c63fefff38f0d312e9f"},{"sha":"2daf938f2735b4be924971db563e909728b44817","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Merge branch 'vmon'","distinct":true,"url":"https://api.github.com/repos/vain/dwm-vain/commits/2daf938f2735b4be924971db563e909728b44817"},{"sha":"4f121a46311f1bbce6820b90e11d5f2fbfc330db","author":{"email":"c254eda801bce04e1df6ae386a0fe0292fd3aca5@uninformativ.de","name":"Peter Hofmann"},"message":"Fix minor bug in modgap()\n\nDon't announce negative values.","distinct":true,"url":"https://api.github.com/repos/vain/dwm-vain/commits/4f121a46311f1bbce6820b90e11d5f2fbfc330db"}]}