On Wed, Nov 24, 2010 at 21:11, Ciprian Dorin, Craciun <ciprian.crac...@gmail.com> wrote: > Hello all! > > I didn't thought it was so easy to extend `dmenu` but it seems it > is. So will just to fill in the context of this patch: yesterday I've > asked on the mailing list if there is a `dmenu` like replacement for > xmessage. (See the archive at: > http://lists.suckless.org/dev/1011/6486.html ) And I've received a lot > of feedback for which I thank to the posters. > > Unfortunately none of the tools did what I needed... I figured out > that I actually need `dmenu` to be able to display some text message > (explaining the user what the input was for -- like a help message), > and just behave normally by letting the user select an item from the > list. (I think of it as a `dialog` replacement.) (I want to use it to > allow the user to confirm the actions of a background daemon, and the > message is longer than a single line.) > > Thus I've made the following modifications to `dmenu`, which I > hereby place in the public domain (in the hope that it is going to be > accepted by the `dmenu` team and incorporated in the tool), and for > which I want to receive comments. > > In summary, I've added two new arguments: > * `-of message-file` which gives the path to a file that contains > the message to be displayed; (it can be a pipe, nomal file, etc.); > * `-ol message-lines` which should limit the number of lines displayed; > > I've also refactored the `readstdin` function which I've made to > delegate work to the `readfile` function, because I reuse it inside > the newly created function `readmsgfile`. (I've been careful to keep > inside `readstdin` the `inputw` computation and thus it is not > influenced by the `readmsgfile` function.) > > Then I've added three new global variables: `msgfile`, `msglines`, > and `msgitems`, plus I've updated the `drawmenu` function (just before > the prompt) to include the drawing of the message lines. > > (I've also added a sanity check to the `main` function to check if > the number of lines isn't negative, or if `-ol` was specified but not > `-of`.) > > So any thoughts? > Ciprian.
I've seen in the archives that Dieterbe had created a `dmenu` Git repository mirror on GitHub, and as I'm more inclined towards Git than to Hg, I've cloned his repository and created a branch for the before-mentioned patch (see below the branch and the two patches that do what I've described previously): https://github.com/cipriancraciun/dmenu/commits/patches%2Fmultiline-message https://github.com/cipriancraciun/dmenu/commit/c6c42eb025f0b49ae39f2ebcef5cb18ee1df7ac9 https://github.com/cipriancraciun/dmenu/commit/e7bad30b8879568f47b77c5cf30b3178031d1092 So thanks Dieterbe for the repository clone. Ciprian.