I am confused. Code like this works in other WM, except xmonad. #include <gtk/gtk.h> int main(int argc, char **argv) { GtkWidget *panel; gtk_init(&argc, &argv); panel = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_type_hint(GTK_WINDOW(panel), GDK_WINDOW_TYPE_HINT_DOCK); gtk_widget_show(panel); gtk_main(); return 0; } And here is my xmonad.hs, which you can see, no "special dock configuration" for xmobar.... import XMonad import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Util.Run(spawnPipe) import XMonad.Util.EZConfig(additionalKeys) import qualified System.IO.UTF8 main = do xmproc <- spawnPipe "xmobar ~/.xmonad/xmobar.config" xmonad $ defaultConfig { terminal = "~/bin/mTerm", borderWidth = 3, normalBorderColor = "#0000ff", focusedBorderColor = "#00ff00", layoutHook = avoidStruts $ layoutHook defaultConfig, logHook = dynamicLogWithPP $ xmobarPP { ppOutput = System.IO.UTF8.hPutStrLn xmproc, ppTitle = xmobarColor "green" "" }, modMask = mod4Mask } `additionalKeys` [ ((mod4Mask, xK_z), spawn "slock") , ((0, xK_Print), spawn "scrot") ] On Thu, Mar 5, 2009 at 2:06 PM, Magicloud Magiclouds <magicloud.magiclouds@gmail.com> wrote:
Since I am using gtk, I set Gdk::Window::TYPE_HINT_DOCK as its document says. But it does not work. And as I looked into xmobar's source, there seems no special code for xmonad. And my xmonad.hs is very simple, too. So I wonder how to make it work....
On Thu, Mar 5, 2009 at 11:59 AM, Brandon S. Allbery KF8NH <allbery@ece.cmu.edu> wrote:
On 2009 Mar 4, at 21:40, Magicloud Magiclouds wrote:
I am using gtk2hs to make some sidebar thing for xmonad. Well, after I tried a few ways, I still cannot make it dock like xmobar. It just covered other windows at the edge of the screen. Could someone give me a sample or something I could learn from? Thanks.
You need to go to freedesktop.org and read up on the Extended Window Manager Hints. In this particular case the extension you need is the _NET_WM_STRUT property.
(xmobar is open source, you could look through its source)
-- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
-- 竹密岂妨流水过 山高哪阻野云飞
-- 竹密岂妨流水过 山高哪阻野云飞