[xmonad] Remove outside borders from windows

wagnerdm at seas.upenn.edu wagnerdm at seas.upenn.edu
Sat Jun 16 02:29:35 CEST 2012


Quoting Brent Yorgey <byorgey at seas.upenn.edu>:

> On Fri, Jun 15, 2012 at 12:30:52PM -0400, wagnerdm at seas.upenn.edu wrote:
>> Quoting Zach Hirsch <zhirsch at umich.edu>:
>>
>> >be due to the window borders; using NoBorders fixes this, but it
>> >also removes the borders _between_ windows, which I don't want.
>> >Is there some way to remove just the outside borders?
>>
>> There currently is not. xmonad ships out to X11 for drawing borders,
>> and the borders you can ask X11 to draw are quite rudimentary. If you
>> want to implement this, you have basically two choices:
>
> Might there be some way to trick xmonad into thinking that the screen
> is slightly larger (e.g. two pixels taller) than it actually is?  I
> haven't actually looked into it, it just occurred to me as a (crazy?)
> possibility...

Really cool idea! It should be very easy to do as a layout modifier,  
and looking through xmonad-contrib, I spotted:

http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-ResizeScreen.html

...so using something like

bigger n_ = resizeHorizontal n . resizeVertical n .  
resizeHorizontalRight n . resizeVerticalBottom n
     where n = -n_

-- change 1 to fit your borderWidth, and Full to fit whatever layouts  
you actually want
layoutHook = bigger 1 $ Full

looks like it would fit the bill perfectly. Of course, it is a bit of  
a hack, so there will probably be some odd side-effects. Off the top  
of my head, this seems like it would probably draw borders on the  
other monitor sometimes if you have more than one monitor, and  
probably other things will crop up. But it has the advantage of being  
easy to use right now.

Nice suggestion!
~d



More information about the xmonad mailing list