Xmonad questions

so i got so tired of awesome constantly breaking my config that i switched to xmonad. ive got pretty much everything working the way i like it. just a few things though..
1.)  does anyone have a battery script for xmobar? ive searched and cant find anything
2.)  i want to be able to click my wifi applet in xmobar and it launch urxvt -e wicd-curses. possible?
3.)  in awesome, i had a function to send an application to workspace X or to take it to workspace X with me. is there anyway i can do that with xmonad? heres the lua code for a frame of reference:
-- Take client to tag i
awful.key({ modkey, "Control" }, i,
function ()
if client.focus then
if tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i])
local screen = mouse.screen
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
end
end
end
end),
-- Send client to tag i
awful.key({ modkey, "Shift" }, i,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i])
end
end),
thanks.

vogt wrote:1) one of the default plugins for xmobar is battery...
PEBCAK
vogt wrote:2) xmobar doesn't provide any ability to respond to clicks afaik. Perhaps it wouldn't be so difficult to add such a feature?
do you know if it supports a popup feature like awesome's naughty?
vogt wrote:
3) The default keybindings M-S-n where n is 1...9 seem to do the first part.
For the second part, you can accomplish this with the following codes, I've also included some stuff for including it with the rest of your config... which probably needs to be adapted:
-- imports you might have to add
import qualified XMonad.StackSet as W
import Data.Monoid
import qualified Data.Map as M
viewShift :: WorkspaceId -> X ()
viewShift ws = windows $ W.greedyView ws . W.shift ws
And then to set up the keybindings for all 1..9 keys the following list comprehension (here you hold you mod4 and controlMask):
shiftFollowKeys :: XConfig Layout -> M.Map (KeyMask,KeySym) (X ())
shiftFollowKeys conf = M.fromList [ ((modMask conf .|. controlMask, k), viewShift $ show n)
| (k,n) <- zip [xK_0 .. xK_9] [1..9] ]
Then you've specified additional keybindings somewhere and you can just append the shiftFollowKeys using the ++ operator, otherwise you can do something like:
main :: IO ()
main = xmonad $ defaultConfig { keys = mconcat [shiftFollowKeys,myKeys,keys defaultConfig] }
Depending if you've defined myKeys and what type it has (that is, if it is a M.Map or a list), you can leave that one out, or you may have to apply a M.fromList somewhere, so do ask if you're having trouble with that part.
thanks a lot. ill try and give it a shot.

Similar Messages

  • Xmonad Question on Floating Applications not always on top

    Hey,
    I'm switching from Awesome to Xmonad (or, trying to at least) since I'm growing tired of trying to keep up with syntax changes with awesome updates (but still waiting for the numlock on + no keybindings bug to be fixed, so I can't disable updates for it entirely).  Everything is going fairly well, and the only issue I think I need to ask about (the rest is documented well, or already answered), is the fact that Xmonad seems to automatically place any floating windows above others.  This is all fine if you move it to it's own screen, but I generally keep Skype open on the active window, and I want it to lose focus while I'm working on other things, without putting everything else into floating mode as well.  I was wondering if it's an issue with my template xmonad.hs (off the wiki page, if I remember correctly, or else from the Xmonad thread on these forums), or if it's a default that can be changed (or can't be changed, for that matter).  Does anyone have it working so that floating windows just float and can be hidding by tiled windows?
    This is the template xmonad.hs I'm using (and will be editing properly if I get this issue sorted out):
    -- Initially from not4aw3some at deviantart.com
    -- {{{ Imports
    -- stuff
    import XMonad
    import qualified XMonad.StackSet as W
    import qualified Data.Map as M
    import System.Exit
    import Graphics.X11.Xlib
    import IO (Handle, hPutStrLn)
    -- utils
    import XMonad.Util.Run (spawnPipe)
    import XMonad.Actions.NoBorders
    -- hooks
    import XMonad.Hooks.ManageDocks
    import XMonad.Hooks.DynamicLog
    import XMonad.Hooks.XPropManage
    -- Dialog and menu hooks
    import Graphics.X11.Xlib.Extras
    import Foreign.C.Types (CLong)
    -- layouts
    import XMonad.Layout.NoBorders
    import XMonad.Layout.ResizableTile
    import XMonad.Layout.Gaps
    import XMonad.Layout.Named
    import XMonad.Layout.PerWorkspace
    import XMonad.Layout.IM
    import XMonad.Layout.Grid
    import Data.Ratio((%))
    -- {{{ Main
    main = do
    h <- spawnPipe "xmobar ~/.xmobarrc"
    xmonad $ defaultConfig
    { workspaces = ["main", "www", "code", "im", "gfx", "vid", "doc", "misc"]
    , modMask = mod1Mask
    , borderWidth = 1
    , normalBorderColor = "#5a5a5a"
    , focusedBorderColor = "#daff30"
    , terminal = "urxvt -title urxvt"
    , keys = keys'
    , logHook = logHook' h
    , layoutHook = layoutHook'
    , manageHook = manageHook'
    -- {{{ Log Hooks
    logHook' :: Handle -> X ()
    logHook' h = dynamicLogWithPP $ customPP { ppOutput = hPutStrLn h }
    customPP :: PP
    customPP = defaultPP { ppCurrent = xmobarColor "#daff30" "#000000" . wrap "[" "]"
    , ppTitle = shorten 80
    , ppSep = "<fc=#daff30> | </fc>"
    , ppHiddenNoWindows = xmobarColor "#777777" ""
    , ppUrgent = xmobarColor "#AFAFAF" "#333333" . wrap "*" "*"
    -- {{{ Layout hooks
    layoutHook' = customLayout
    customLayout = avoidStruts $ onWorkspace "im" im $ smartBorders tiled ||| smartBorders (Mirror tiled) ||| im ||| noBorders Full
    -- [[old (made gap for bottom)
    -- customLayout = gaps [(D,16)] $ avoidStruts $ onWorkspace "im" im $ smartBorders tiled ||| smartBorders (Mirror tiled) ||| im ||| noBorders Full
    -- ]]end
    where
    tiled = named "[]=" $ ResizableTall 1 (2/100) (1/2) [] --"Tiled"
    im = named "InstantMessenger" $ withIM (12/50) (Role "buddy_list") Grid
    -- {{{ Dialog and menu hooks
    getProp :: Atom -> Window -> X (Maybe [CLong])
    getProp a w = withDisplay $ \dpy -> io $ getWindowProperty32 dpy a w
    checkAtom name value = ask >>= \w -> liftX $ do
    a <- getAtom name
    val <- getAtom value
    mbr <- getProp a w
    case mbr of
    Just [r] -> return $ elem (fromIntegral r) [val]
    _ -> return False
    checkDialog = checkAtom "_NET_WM_WINDOW_TYPE" "_NET_WM_WINDOW_TYPE_DIALOG"
    checkMenu = checkAtom "_NET_WM_WINDOW_TYPE" "_NET_WM_WINDOW_TYPE_MENU"
    manageMenus = checkMenu --> doFloat
    manageDialogs = checkDialog --> doFloat
    -- {{{ Manage Hooks
    myManageHook :: ManageHook
    myManageHook = composeAll . concat $
    [ [ className =? c --> doFloat | c <- myFloats ]
    , [ title =? t --> doFloat | t <- myOtherFloats ]
    , [ resource =? r --> doIgnore | r <- myIgnores ]
    -- , [ (className =? "URxvt" <&&> title =? "urxvt") --> doF (W.shift "1:main")]
    , [ className =? "Gran Paradiso" --> doF (W.shift "www") ]
    , [ className =? "Firefox" --> doF (W.shift "www") ]
    -- , [ className =? "Gimp" --> doF (W.shift "etc") ]
    -- , [ className =? "Gvim" --> doF (W.shift "code") ]
    , [ className =? "OpenOffice.org 3.0" --> doF (W.shift "doc") ]
    , [ className =? "Abiword" --> doF (W.shift "doc") ]
    , [ className =? "Pidgin" --> doF (W.shift "im") ]
    where
    myIgnores = ["stalonetray"]
    myFloats = []
    myOtherFloats = ["alsamixer", "Настройки Firefox", "Загрузки", "Дополнения", "Clear Private Data", "Download; Gran Paradiso", "urxvt-float"]
    manageHook' :: ManageHook
    manageHook' = manageHook defaultConfig <+> manageDocks <+> manageMenus <+> manageDialogs <+> myManageHook
    -- {{{ Keys/Button bindings
    keys' :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ())
    keys' conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
    -- launching and killing programs
    [ ((modMask, xK_Return ), spawn $ XMonad.terminal conf)
    , ((modMask, xK_p ), spawn "dmenu_run -fn \"-*-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*\" -nb \"#daff30\" -nf \"#888888\" -sb \"#2A2A2A\" -sf \"#daff30\"")
    , ((modMask .|. shiftMask, xK_f ), spawn "firefox")
    , ((modMask .|. shiftMask, xK_c ), kill)
    -- layouts
    , ((modMask, xK_space ), sendMessage NextLayout)
    , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
    , ((modMask, xK_b ), sendMessage ToggleStruts)
    -- floating layer stuff
    , ((modMask, xK_t ), withFocused $ windows . W.sink)
    -- refresh
    , ((modMask, xK_n ), refresh)
    , ((modMask .|. shiftMask, xK_w ), withFocused toggleBorder)
    -- focus
    , ((modMask, xK_Tab ), windows W.focusDown)
    , ((modMask, xK_j ), windows W.focusDown)
    , ((modMask, xK_k ), windows W.focusUp)
    , ((modMask, xK_m ), windows W.focusMaster)
    -- swapping
    , ((modMask .|. shiftMask, xK_Return), windows W.swapMaster)
    , ((modMask .|. shiftMask, xK_j ), windows W.swapDown )
    , ((modMask .|. shiftMask, xK_k ), windows W.swapUp )
    -- increase or decrease number of windows in the master area
    , ((modMask .|. controlMask, xK_h ), sendMessage (IncMasterN 1))
    , ((modMask .|. controlMask, xK_l ), sendMessage (IncMasterN (-1)))
    -- resizing
    , ((modMask, xK_h ), sendMessage Shrink)
    , ((modMask, xK_l ), sendMessage Expand)
    , ((modMask .|. shiftMask, xK_h ), sendMessage MirrorShrink)
    , ((modMask .|. shiftMask, xK_l ), sendMessage MirrorExpand)
    -- quit, or restart
    , ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess))
    , ((modMask , xK_q ), restart "xmonad" True)
    ++
    -- mod-[1..9] %! Switch to workspace N
    -- mod-shift-[1..9] %! Move client to workspace N
    [((m .|. modMask, k), windows $ f i)
    | (i, k) <- zip (XMonad.workspaces conf) [xK_F1 .. xK_F9]
    , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
    Thanks in advance,
    Lswest
    Last edited by lswest (2009-06-26 12:10:43)

    brenix wrote:I'm not sure if this is the same issue, but I have a problem where new windows appear behind/below the current window. I've found a solution on the xmonad documentation, but it doesnt seem to do anything...
    Well, I think it would be under the same behaviour, depending on the layout you're using when that happens.  If you're using IM, floating windows (I believe) appear below the others.  Besides that, it's probably not the same issue and you should start a new thread (using a descriptive title describing the issue) (to ensure that people who may have a solution will read the thread, chances are if the title makes someone seem like they can't answer it, they won't always read it), and/or search the forums for anything similar.
    Last edited by lswest (2009-07-08 16:22:33)

  • Awesome, xmonad, openbox questions

    Hey all,
    recently i was testing differnet WM, to use on my laptop.
    i like the way these tiling window manager work, so finally i want to decide between openbox(with pytyle), xmonad or awesome, and have some questions about them:
    1) First of all, i want to control them most of the time with they keyboard, and not the touchpad
    2)I've tested all of them with standard configuration, and only awesome was able to add more "columns" in the slave area (with mod+strg+h/l), is this possible with the others too?
    3) And what i missed on all of them, was to change the "height" of windows (example: if you got 3 windows in the slave frame, each got the same 33% of screen height).
    Only with awesome i could rearrange this, and only with the use of a mouse/touchpad. is this possible to handle by keyboard?
    i hope you get what i mean english is not my first language
    looking forward to hearing from your experiance

    1. xmonad and awesome use keyboard most of the time.
    2. from what I remember (I ditched xmonad for ratpoison a while ago), xmonad you'll probably need the column layout (contrib). Dishes may work, but you'd have to mirror it, I guess (not experienced with Haskell). From there, you can add whatever custom keybindings you need. Just take a look through the layouts section of the xmonad contrib documentation.
    3. I'm sure awesome allows you to specify certain keybindings for adjusting. In xmonad, only certain layouts allow you to resize panes. If you want the ability to resize certain frames/panes, you may want to look into manual tiling window managers instead of dynamic tiling window managers. The whole point of dynamic tiling window managers is to let the wm take care of managing the windows completely, so according to that paradigm, you should't have to resize windows. In either case, typically you'll have keybindings for resizing. In ratpoison, I have it set to Alt+r (h/j/k/l), in xmonad I had it set to Shift+Alt+{a,z,s,d) using the Mosaic layout. Mosaic layout also kept the window in tiling mode, whereas using the mouse would bring it into floating mode.

  • Question about xmonad package in the repos.

    When I
    sudo pacman -S xmonad
    it installs xmonad and ghc goodness. But one thing that has always bothered me is that I had to hunt down a default .xmonad/xmonad.hs config file for xmonad. Can anyone explain why the package doesn't come with a default configuration file?

    xmonad's "default config" is no config.  i believe the file you want is buried somewhere in /usr under a different name.  if you poke around xmonad.org you can find the path/name to that file but also a copy/pastable (albeit older) version of it.
    i think it's done this way b/c the tweaking method is different with xmonad.  it's not like editing /etc/xmonad.hs and putting it in ~, you actually /load/ the defaults into ~/.xmonad/xmonad.hs and then /override/ them with your changes.  this is done with a simple main function like this:
    main = do
    xmonad $ defaultConfig
    and whatever's between { } (explicit commands or calling of functions) is passed through the defaultConfig, picking up any settings not yet set, then fed to xmonad.
    so unlike other WMs where you copy a default config and edit it from there.  in xmonad, you load the default config into yours with $ defaultConfig and put your tweaks (and only your tweaks) in xmonad.hs.  bit of a change in thinking.
    /edit: yes Xyne, i second Ashren.  it's a wonderful WM and haskell's awesome.  my xmonad.hs is available in my sig if you want it, i'm fairly proud of it.
    Last edited by brisbin33 (2009-07-31 16:49:10)

  • A formal 'Hello' to the community and a few Arch-related questions

    Hi guys.
    As a long-time Genoo and part-time Arch user I finally made the switch to Arch complete. Since I've been reading here quite a lot in the last year I thought I could as well create an account (acutally I did that a while back but never used it) and say hello.
    I've been running Arch on my laptop for about the last year. Coming from gentoo as my first ever Linux experience, Arch seemed the next logical step whenever I should grow weary of endless compiles and re-compiles (which is about now). I'm an enthusiastic Xmonad user which is why I'm particularily fond of this forum and it's Xmonad community. That's also the reason why I stumbled upon arch in the first place. So far it hasn't let me down once and I'm really happy with my (now 2) setups.
    With a little help of some of you guys on IRC I installed Arch64 on a RocketRaid 2310 Raid5 a few days ago. It's running really smooth and I'm quite impressed by the overall difference (in speed and usability) of kdemod KDE4 to my gentoo compiled one.
    For those interested as to how exactly I installed (there seems to be quite some controversy about the RocketRaid cards), here's how I did it:
    1) Boot from the Arch64 install cd
    2) Set up the environment for compilation of the driver:
    - fire up the network
    - edit the mirror file to my likings (a whole lot of German mirrors over here)
    - blacklist the packages kernel26, ndiswrapper, ndiswrapper-utils and tiacx
         The kernel shouldn't be updated unless anyone knows some magic kexec tricks from inside a live environment
         The other packages somehow depend on the kernel package
    3) Pacman -Suy base-devel
    4) Download the driver package, unpack and make
    5) rmmod sata_mv, modprobe rr2310_00 (The sata_mv module has to be unmounted, otherwise the raid controller will crash
    6) Mount the raid drive and install
    I did a manual installation since that's what i'm used to from gentoo (and since I don't trust the installer all too far with the whole raid setup) and the rest of it went pretty smoothly. I had to go for by-label uuid'ing my partitions though because they come in randomly on each boot.
    I do have a question now:
    Is there any way to conveniently trigger rebuilding the RocketRaid driver whenever a new kernel has been installed? I did create my own PKGBUILD of the driver from an old one that's in the aur so all it would take is to tell pacman that every update of kernel26 should automatically force-update the driver even though it's version hasn't changed. The alternative is of course to just keep compiling my own kernel as I did on gentoo but I'd like to not have to think about any of that stuff and just use the system.
    Or, if anyone has another cool idea how to handle this, I'm open to that too.

    barzam wrote:Why don't you create a wiki entry as well with your guide? I bet it will make someone's life easier in the future!
    I didn't think this was such a big deal. Also they way I did it, though working for me, is not the most elegant solution. One would rather build his own install cd with the driver included that then can serve as a backup system in case the raid driver is not rebuilt after a kernel update.

  • XMonad move windows with title X to workspace

    I want to automatically assign windows of Intellij Idea projects to specific workspaces in xmonad. I tried the following in my xmonad.hs:
    myManageHook = composeAll . concat $
                      [  [ fmap (c `isInfixOf`) title  --> doShift "5:lp" | c <- myLP]
                       , [ fmap (c `isInfixOf`) title  --> doShift "2:amq-svc" | c <- myAmq]
                       , [ fmap (c `isInfixOf`) title  --> doShift "3:testfwks" | c <- myTest]
                       where myLP = ["lp-intellij"]
                             myAmq = ["msg-svc-intellij"]
                             myTest = ["testframeworks"]
    However, it seems when a Intellij window is started at first the title is just "Intellij" and does not contain the projects name, so xmonad does not shift the window to the workspace. Is it possible to execute this hook when a title of a window changes, so that the projects are assigned automatically to a workspace?

    * push *
    I don't believe there's be no specific way to do this.
    Well, what I exactly want to do is to change wallpapers, for some or all workspaces -- and therefor additionally finally making use of something not existing on my keyboard: pressing the mystical masculine key* via xdotool on ws switching invoking feh. Here I use just F12 for testing. So it actualy looks like ((added)):
    , ((0 , xK_F12) , bindOn
    [ ( "1" , spawn "feh --bg-tile ~/.xmonad/wallpapers/a.jpg")
    , ( "8" , spawn "feh --bg-scale ~/.xmonad/wallpapers/b.jpg")
    , ( "" , spawn "feh --bg-fill ~/.xmonad/wallpapers/c.jpg")]
    This method isn't very elegant but, if some kind of "wallpaper"-module already exists, I haven't found it yet. In this case please somebody tell me.** -- Otherwise this is a feature request.   Don't know how to express this exactly, but the wallpapers should also be 'build in' somehow, because using an external tool like feh takes about <1s switching ws'.
    (Another question is, whether such a ballyhoo about wallpapers is worth the hassle and contra-productive for efficient desktop usage, but how would I know?)
    *    Nice plan; just recognized however, rebuilding xmonad with a binded xF_masculine leads to a lost small "m" in X, while the big "M" works...           
    ** ... as well as sources to read on creating individual workspace looks in Xmonad in general.
    Last edited by nexus7 (2011-11-16 14:11:31)

  • Some emacs questions

    Hi, all.
    Recently I became somewhat enthusiastic about the idea of using emacs as a DE. Basically, my reasons are that if you consider the extensions (or modes) for emacs to be apps, they have the following advantages:
    -they are all integrated from the very beginning. No need to worry about toolkits, keybindings, etc. This way you get a really flexible environment
    -they are lightweight. Yeah, perhaps, it's not as fast and tiny as some C apps are. But after all, I still think that it's hard to get over some 500 megabytes for emacs and all the vital extensions with their respective dependencies
    -they are usually just frontends to existing and stable libraries and tools, and such they are pretty reliable.
    Besides, the upcoming (it's March 2010, right?) 23.2 should include the Xembed function. Which means, the extensions will be even more interesting. There is already a WebKit webbrowser for emacs, called EZBL (since it's based on the infamous UZBL). I expect a video player to appear some day soon, and that would really mean you can actually do everything with emacs apps. Besides, the interfaces of these modes will get more sophisticated. Actually, if you could just remove the title bar, the toolbar and open Emacs full screen and get the floating mode behaviour for the buffers (not everybody likes tiling) - it would be a full-blown DE, especially if you could use it without any additional WM.
    For me, there are already almost all the apps I need:
    -text editor with viper (I just don't know yet if I could get VI-like keybindings for everything in emacs). I don't know if viper has all the functions of VIM, but anyways, with Xembed one could probably get vim to work as an Emacs application. Anyways, I mostly work with human language texts, so I don't really need all those text navigation features and regexps. I just think that vi keybindings and modular approach are more efficient.
    -XMPP with jabber.el
    -audio with EMMS. I guess there should be more options, I am looking for a frontend to MPD
    -note-taking, PIM, simple spreadsheets - org-mode
    -HTML documents with muse. Or directly via markdown
    -IRC with ERC
    -e-mail with rmail. I know there are a lot of other options, just didn't have the time to discover those.
    -web-browser with w3m at the moment, waiting for EZBL to get mature. Anyways, I do a lot of work in text web browsers.
    So, there is my first question: how can I create rich formatted content in common word processor formats. .doc is unlikely, so I am looking for .odt or .rtf. I know I could use latexrtf, I know there is pandoc, I was just wondering if there is something specific to emacs. Especially a WYSIWYG one. I know there is enriched.el, which actually has all the needed features, but can't work with RTF. Is there something else?
    Second question is, which WM should I pick. I intend to run emacs full-screened and not use any external apps. I know there are sawfish and stumpwm which are supposed to integrate nicely with emacs and lisp-based environment. I just don't know what benefits does this give, if all the actual window management will be done through emacs? Apart from similar configuration syntax. Another option is probably to use something extra light and stable. CWM, for instance.
    Third question: is it possible to manage wifi connections from emacs? Perhaps an interface to netcfg or something? I mean, something useful to laptop users, something with an ability to scan for available connections in a cafe or a university library. If I had something like this, there would be no need for a panel with applets in the external WM.

    I've been living in Emacs for a few years now -- it works wonderfully.  Though, I have to admit, I still need to leave it sometimes for a graphical web browser and fully-featured terminal.
    ilembotiv wrote:Actually, if you could just remove the title bar, the toolbar and open Emacs full screen and get the floating mode behaviour for the buffers (not everybody likes tiling) - it would be a full-blown DE, especially if you could use it without any additional WM.
    Everything except the floating buffers (Emacs windows?) is already possible.
    .emacs:
    ;; Remove GUI elements
    (scroll-bar-mode -1)
    (menu-bar-mode -1)
    (tool-bar-mode -1)
    .xinitrc:
    # Use Emacs as 'WM'
    exec emacs -fs
    ilembitov wrote:-XMPP with jabber.el
    bitleebee + rcirc/erc is rather nice too.
    ilembitov wrote:-audio with EMMS. I guess there should be more options, I am looking for a frontend to MPD
    EMMS works well enough with MPD once its setup.  There are some other options for MPD, though I've not tried them (easily locatable on emacswiki.org).  I use EMMS with ogg123 and vlc.
    In response to your questions:
    1) I don't know of any word-processor formats which are well supported.  There seems to be preliminary support for ODT and RTF, but not much more.
    2) I've used StumpWM for a year or two in tandem with Emacs.  In the end, the problems (crashing, broken features, perceived(?) slowness, binary size, etc.) outweighed any advantage it had from being implemented in CL.  I would certainly choose a tiling WM for managing Emacs frames.  I now use XMonad.
    3) It is possible.  I don't believe an extension currently exists for managing netcfg, though I'm sure this would be trivial to implement.

  • [BUGGED] xmonad tri-screen non-xinerama problems

    Hello All!
    New Archer here.  I'm really enjoying playing with Arch.  Ran it about a week on a VM, and then promptly backed up/tore up/re-created my 3 TB RAID array as a shrine in deciation to its glory.  I haven't posted much along the process, because I've generally been able to put things together to my liking other than a few minor setbacks that I mostly managed to handle myself.  I have even gave Arch the coveted position of my "Laptop Linux."  I have a slightly odd setup and it seems to be tied in with an issue that I am having, so I thought I might post here, especially since some of you seem to be xmonad users.
    The Paragraph
    Most wm's seem to handle non-Xinerama multi-display fine (I've been trying out as many as I could find since switching over to Arch.  I figured new Linux/new Look).  It seems that xmonad handles Xinerama better but has a less friendly non-Xinerama out of the box experience, and it is terribly hard to find the information I am after since when I go looking for multi-monitor resources, I find alot about Xinerama and praise for its Xinerama way of doing things.  Apparently, you still can't enable Composite and Xinerama at the same time, and in general, I prefer funny fade effects and what not to being able to move windows from screen to screen so have opted for a standard non-Xinerama multi-card, multi-display setup of xorg.
    Bullet Points
    1 - Minor Problem:  xmonad only runs on one screen if I don't enable Xinerama
    2 - Entertwined Problem:  Composite extension becomes disabled if I enable Xinerama
    3 - Other Entertwined Problem:  Most wm's I try if they don't support dual screen natively, I can simply put calls in my .xinitrc to load on the various display (ie. 'DISPLAY=:0.2 wmii &; DISPLAY=:0.1 wmii&; exec wmii'), and it's no big.  If I try that with xmonad, the session on DISPLAY :0.0 won't give up control of the keyboard to the displays on the other monitors.  That's pretty weird, since it gives up control to my unmanaged windows just fine, or gives up control to another WM (as I type this, I have openbox managing my second monitor so I have an easy way to resize windows and such, but that is a somewhat imperfect solution in my opinion).  If I leave the screens unmanaged , I can launch apps on them easily enough by 'DISPLAY=:0.1 thunderbird' (like I do with openbox managing them if I don't want to use the menu) through command-line or scripts, but there is no way to move the apps or resize them or anything without some WM (like openbox) attached to the DISPLAY.
    4 - Minor Entertwined Problem That Makes This Whole Mess Harder To Ignore:
    When you go off the screen to an unmanaged window or a window managed by another window manager, apparently xmonad continues to think you are focused on the app that you hovered over last on your way to the other screen (ie. if I go over to Thunderbird now, xmonad will leave the active border around Firefox since I have it on the left side of my primary monitor and the other screen is to the left).  This is no big, although I would prefer it to gray out or whatever.  At the same time, xmobar displays that I am still over my Firefox window.  I am fine with it not knowing that I am over messing around in another WM or on an unmanaged screen.  The big problem is that when I bring the mouse back, it seems to get confused about whether I left or not, and doesn't pass focus back to the app in question.  It still thinks the app has focus (according to its border and xmobar), but keystrokes still go to the other screen and the window on the first screen will no longer even directly respond to mouse clicks.  It is easy to fix, I can simply move to any other window on the same screen, and then back to my firefox and things work fine.  I know that's a weird wall of text, so a quick explanation:
    If I take my mouse off the screen to the left, passing over Firefox, I end up on my Screen 1 that is currently displaying Thunderbird and managed by Openbox.  I can then click message, type things, all no problem.  If I move my mouse back to the Firefox screen, it looks like it is active, but I cannot click on anything (no links work, the buttons that control formatting of this message darken when I hover over them but do nothing on click, the check boxes at the bottom of this compose message window darken but do not respond to clicks, etc).  If I do nothing else other than but my mouse over one of my terminal windows (which will receive the focus border and receive input fine), and then move it back to Firefox - everything in Firefox will at that point work great.
    That last note is the primary reason I can't just let another WM loose on my secondary display and go about my day (I mean, I tend to just leave e-mail up on the thing, and I suppose a valid argument can be made for having a floating manager on your second screen anyway).  It's most annoying when I just barely go off the edge of the main monitor by mistake, say on my way to a tab or something, and can't click my tabs anymore without dragging the mouse back to a terminal and back over to Firefox.  Of course, I would be fine with messing with xmonad on all my screens really if I didn't have to turn off my Composite extension to do it.
    One easy solution is to just use Awesome.  It looks nice and seems to offer some of the same features, but I kind of like xmonad's way of configuring things and the idea that my configs seemingly shouldn't break on minor version numbers.  Awesome has already bit me in my playing around by making widget obselete two days after I put the widgets in my config file, and it seems they have a history of this type of action. 
    I can happily provide any configuration files on request.  My xorg.conf is probably of the most interest, I would think, but if I knew how to fix this, I wouldn't be on here asking for help.  It doesn't appear to be related to xmonad.hs, since I can use the default or a heavily customized one and get the same behavior.  There might be a way to fix the problem somehow in xmonad.hs; I don't know.
    Oh well, sorry my first post was such a wall of text, but I wanted to provide a solid idea of what was going on here.  Any help would be greatly appreciated.
    Lewis
    Last edited by llcawthorne (2009-11-18 02:26:08)

    vogt wrote:
    I have had composite enabled with xinerama.
    Some graphics drivers restrict the size of all screens to fit within 2048x2048 pixels if you still want compositing, but if you have 3 monitors, it is unlikely that that you can find an arrangement that satisfies that driver/hardware limitation.
    Yeah, 2048x2048 woudln't work for me.  My main monitor runs 1920x1200, secondary is 1680x1050, and the tv is at 1920x1080.
    Apparently since the xorg upgrade the other day, I can't even turn on Xinerama anymore.  I know it worked when I tested just to see if things worked in Xinerama mode the other day (but it automatically disabled Composite).  Now I can turn on Xinerama but I get a strange cursor flicker and segfault when trying to go to the other screen.  Apparently some other people have that problem with the latest x-server and xinerama with Nvidia, but I haven't looked into fixing it, since I don't tend to use Xinerama anyway.  It makes testing some solutions a bit harder though not being able to temporarily turn it on.
    I have done some more testing though.  With my current multi-screen Xinerama off X-layout, things definitely work as expected in other Window managers.  I have played around in GNOME, compiz, fluxbox, openbox, awesome and ratpoison with this separate screen X-layout without problems. 
    The problem seems to be more with xmonad accepting the cursor than letting it go.  When I run :0.1 unmanaged or with another window manager, I can switch over to the other display with 100% reliability, but only have the problem when coming back to my xmonad display.  However, if I spawn xmonad to :0.1 in addition to having xmonad on :0.0, I almost always have problems switching over to :0.1, but once I get switched over to :0.1, I have trouble coming back to :0.0.
    Also, strangely enough, I can reliably switch to any other display with two windows on it.  I have taken to running a clock on display :0.1, since 90% of the time when I switch over to my e-mail client I will not get proper focus.  I can fix this 100% of the time by mousing over the clock, then back over the e-mail client.  To come back to my main screen, I will not get focus on my browser 90% of the time, but can reliably get focus to it 100% of the time there is a problem by mousing over one of the terminals to the right of my browser and then coming back to the browser.  Since the problem is predictable, I can work around it, but either way it is annoying.
    The problem is easy to duplicate with both a default xmonad.hs, another xmonad.hs pulled off the site (tried it with andrea's and arossato's, and with my personal customized and overly large xmonad.hs that I have been trying out various features with.
    Curiously enough, since it was a focus problem, I though "maybe if it updated focus more often?" and I tried 'import XMonad.Actions.UpdateFocus" with the proper startupHook's and handleEventHooks to make it attempt to update focus whenever you move the mouse within a window.  This did nothing to alleviate the problem, although it obviously took ince I noticed the change in focus handling when I didn't leave a monitor.
    Oh, and as another test to see if it might relate back to my drivers somehow, I removed nvidia's proprietary drivers and installed Nouveau.  While the Nouveau drivers are pretty neat (the fast frame buffer switching is fun!), I found them annoying since I don't know how to make my console come up on the right monitor with them, but that is unrelated.  I changed around my config and brought up X and was able to duplicate the problem exactly with the alternate drivers (but same configuration otherwise). 
    And lastly, I booted to my Gentoo install (that does use the same hardware are xorg.conf).  I can't get the 0.9 xmonad from the overlay to compile on it for whatever reason, so it conveniently has 0.8 installed.  I see the same behavior with a default config and a sample config swiped from the website (I cannot test with my custom config, since it has multiple 0.9 imports in it, but I have no reason to believe it would react differently).
    I welcome any ideas.
    Lewis Cawthorne

  • Event based monitoring for xmonad

    I am using a conky + dzen2 status bar and xmonad DynamicLog hook for monitoring.
    What I am looking for is something event based not like conky which runs all the time or at a given interval.
    As an example, volume of the audio system. I want to display it continuously but I want to change the display only when it changes. Another example would be keyboard layout.
    Any idea ?
    regards,
    Hardik
    Last edited by rangalo (2010-05-31 20:37:26)

    Hi,
    i`ll recommend you post your Question in the Data Services Space.
    Data Services and Data Quality
    Regards
    -Seb.

  • Session Manager with i3/Awesome/Xmonad?

    Hello, First post here so let me know if I am doing anything wrong,
    I recently started using i3 and I could not recommend it more, I have given xmonad a shot and was a big fan and I know a lot of people seem to like Awesome, my only question is...
    Are there any session managers that would work for any of them?
    I love them but I spend a lot of time getting things just right so I have a nice flow at work (I loooooove i3 once I have everything where I want it). Before switching to xmonad from xfce4 I always had my work from office session, my work from home session, and one or two others. Anyone know of any way to save sessions in one of the mentioned window managers? Or are there any other window managers I should look into for this feature?
    Thanks!!

    I think this session thing is about stopping the applications in a way that you can start them again.
    1. Different users/computers - It's very static and doesn't really scale.
    2. Any X11 Session Manager - You have to log out of X11 and you can only have one session open.
    3. My super script - For sessions on a tag/workspace level. Sorry for the bad english and bash. I'm about to rewrite it, it will support i3 and openbox. But maybe I should wait for wayland.
    I have read that systemd article more than once, but I didn't understand if it's limited to 2 or not?

  • XMonad: Adding a Command to Util.Run

    I feel like I lack some basic understanding of how XMonad functions and would appreciate some help.
    So in xmonad.hs modules are imported to perform different functions, and non-default settings can be applied under the 'main= do' section. What I would like to do is launch dmenu_run with custom options, rather than the default; specifically:
    dmenu_run -p > -nb black -nf gray -sb black -sf white
    dmenu is controlled by the module 'XMonad.Util.Run'. The default keybind to launch dmenu_run in XMonad is MOD+p, so I assume that information is stored somewhere and could be changed by adding a line in xmonad.hs. Is that right? Where is that default keybind actually stored, in the settings of the Util.Run module? I just migrated from Openbox, so actually adding a new line into xmonad.hs to perform this change is a little over my head, and I could use some help doing it.
    Last edited by Olson (2011-03-22 23:56:52)

    Could you post the relevant sections in your xmonad.hs (or even better, the entire file) along with what you want to do (even in pseudocode directly injected into your config)? I too use Xmonad but I don't use dmenu and I'm a little lost from your description.
    Oh, and XMonad.Util.Run is a command spawning helper module; it has nothing to do with dmenu. So your question about a "default keybind" being stored in the Util.Run module makes no sense.

  • Simple XMonad Wallpaper

    There was a cool haskell background in the screenshot thread, and I decided to make essentially the same thing except with a XMonad logo.
    I made the background the specific color #161616 to match with my xmobar and terminal colors. If anyone wants a different background color or color scheme in general, just go ahead and ask. Its not too difficult to change.
    Heres a pic of it on my desk:

    SpeedVin wrote:
    opothehippo wrote:@SpeedVin: The problem with resizing in gimp (or photoshop for that matter, which I'm using) is that nearly all images created in gimp are raster graphics. That means that resizing them beyond there original size/resolution will create pixelation. The solution is to use vector graphics, which requires additional software. Inkscape is a great free editor available on linux (or windows, but I prefer adobe illustrator). Check out this link for more info on vector/raster graphics.
    Thanks for advice I will try to work with Inkscape , but I have two questions.
    1.When I try change the size of my file/wall created in gimp (raster graphics) and save the queality of image is only a little better , then that's mean I have to draw my new image in Inkscape (vector graphcips)?
    2.Do you know how to save image as jpg or png I tryed option:
    Export as bitmap
    But I can't set this as wallpaper.
    Thanks
    1. Yes, you have to recreate the image using inkscape only. I know that in Adobe Illustrator they have a live trace tool to convert Raster to Vector graphics, but thats overpriced mac/windows only software you dont want. If you want to use that arch logo in your drawing (which I assume you do) you can download a .svg file of it. .svg is the Standard Vector Graphics format. Anything in that format is a Vector graphic and can be scaled to any size without a loss in quality. Once you have your vector arch logo in inkspace, then you can start making you creation. If your in to designing graphics, then inkscape is definitely worth learning. Check out Help>Tutorials for a list of tutorials to start learning inkscape.
    2. I dont think you can export it as a jpg, but I think a png will work (png is better IMO). This webpage suggests it is under the Export command, but I honestly dont know.
    m_l wrote:Can you please redo bribin33's using solid black background? Also I think the one you made for brisbin33 will look even better with the XMonad logo a bit transparent, like what Taters did with the Haskell logo. I think whenever using the background brisbin33 provided, the foreground would look nicer transparent like I stated before. IMHO Now that I look at the logo you made for brisbin33 looks much better than the one with original XMonad colors. It's just that brisbin33 logo just fits better with the xmobar colors.
    This is brisbin33's wallpaper with the logo opacity lowered to 70%.
    I also made a version with the original xmonad color's, yet slightly transparent.
    And a version using brisbin33's suggested colors with a black background.
    m_l wrote:Out of these I like the second one, but the XMonad logo is just a bit big. If you could fit the XMonad logo in between the top part and until the slit near the middle, I think that would look nice but using brisbin33's logo.
    Like so?
    I think it looks a bit better like this:
    Keep in mind that once I get the technical aspects of this right, I can change colors and add borders, or use the background pattern.

  • Hacking xmonad into Gnome3... How? (The linux WM Heartbreak)

    TL;DR:
    I'm searching for information about modifying Gnome3.xx (config, compile or code level) to get XMonad window management while maintaining Paneling, Notifications area, etc. Any ideas?
    Original:
    Hi there!
    Since approx Gnome 3.10 I was getting problematic integration of my WM of choice (XMonad). Having not enough time for deep dives in the past year I one day Decided to switch it up a bit and installed KDE in parallel to gnome. Which surprisingly worked and still works just fine. To be honest currently KDE and Gnome work exceptionally well for me on all machines (workstations, netbooks, even my heavily traveling MacBook Pro) KDE + XMonad is also very stable but not the KDE desktop doesn't really fulfill me. I still reminisce of the days where with one file configuration you could drop XMonad on your existing Gnome2 desktop and keep the useful stuff like panels and tray. Has anybody found ways of integrating third party window managers into Gnome3? How much of a hack would it need to be? I have heard that Gnome3's approach is to have Mutter somehow hardwired into the mix. Google didn't help me with valuable articles, only full replacement how tos etc. which is nice in itself but not exactly what I am looking for.
    Does the arch community has experiences in this matter they would like to share?
    greetings,
    jfm
    Last edited by justforgetme (2014-05-12 20:28:37)

    Hi,
    Please change the thread title to indicate your question (e.g. "Alternative WMs in Gnome 3: How?"). This will attract the attention of those who can answer it. I also suggest that you just skip directly to the question. The anecdote does not contribute any relevant information (I use Gnome, but I've tried KDE, both work "exceptionally well", so how do I change the WM in Gnome?) and it reads like a blog which will deter some readers.
    It really isn't clear what you mean by "valuable articles" either. You are asking if anyone has found ways of integrating third-party WMs, but then you dismiss articles that tell you exactly how to do that.

  • Openbox TwinView behaviour like xmonad

    Hey all
    I was looking for a way to improve my experience with my second monitor that I recently aquired, and I stumbled upon this article that explains how xmonad handles multiple monitors. My question is rather simple, can I get this behaviour in Openbox too? If so how?
    Each additional monitor allows another workspace to be visible
    Each monitor displays one workspace at a time (ex: monitor 1 currently showing workspace 3 and monitor 2 currently showing workspace 1)
    When the workspace on one monitor changes the workspace on the other monitor does not need to change
    When removing a monitor, one less workspace will be displayed
    Last edited by robrene (2010-01-31 16:48:29)

    It's not unique to xmonad: scrotwm does it too -- if you apply my cumulative patch from message #170 here http://bbs.archlinux.org/viewtopic.php?id=64645&p=7
    (use patch --ignore-whitespace)
    Last edited by Aedit (2010-02-01 00:50:42)

  • Some questions before I install Awesome WM

    Hi,
    I'm new to Arch and relatively new to Linux in general but I do enjoy tinkering with it.
    Recently I have tried many different window managers, Gnome, KDE, Openbox and Fluxbox, each of which have their own little perks. However whilst browsing through the monthly screen shot threads I stumbled upon something new, something I haven't heard of; tiling window managers. I find the idea behind them to be innovative and would like to give them a try, particularly Awesome WM, before I do so I have a few questions outlined below.
    1). I understand that a mouse is not needed, which can be a good thing but an obstacle as well depending on what I want to do. What I would like to ask is that can you keep the mouse functionality as well such as the cursor, left click, right click and possibly the scroll wheel? (Is this possible in both Xmonad and Awesome WM)
    2). Can you have a panel so that you can either easily launch your applications or when you minimize say pidgin you can see its status icon?
    3). Most of the screen shots I have seen show all these terminal windows running, I assume thats just for show. You can run gui based aps too such as something for burning cds, openoffice, firefox and other gtk aps?
    4). If neither apply to Awesome WM, could you point me in the direction of a tiling window manager more tailored for my needs.
    Please only leave helpful comments, I don't want to hear comments such as why do you want to use Awesome WM if your planning on running gui aps or don't want to run their terminal alternatives....Linux is about choice and I am entitled to my own as are you.
    If you can help that would be "awesome".
    PS: Please excuse the rather verbose post; its a problem of mine, hopefully one you come to find endearing.
    Last edited by blackbird (2008-03-11 11:50:19)

    blackbird wrote:
    chimeric wrote:
    blackbird wrote:Your response leads me to believe that I was asking if Awesome WM lets you assign shortcuts to the mouse, such as your very own example where a combination of mod4 and middle click would launch the terminal. What I intended to ask was whether you could use the mouse like you use it in other environments such as Gnome...where moving the mouse would move a cursor on your screen, left click would be used to select a window, move it around...etc.
    Well I said "Yes." . The mouse behaves exactly like in other WMs and additionally you can add other functionality if you like. "Moving windows" is a little different in tiling window managers because windows aren't supposed to be moved around with the mouse, because the WM arranges them for you. However, in most tiling WMs, windows can have a special state named "floating", which means the WM isn't responsible how the window is placed on the screen and you can move it around freely (with the mouse). This is for example useful for applications like mplayer, vlc, gimp or gajim.
    Brilliant; thanks for the clarification, I just hope nothing extra is required to obtain this functionality. Well if anything else is required that wont be a problem considering how good the Linux community is.
    Thanks again
    PS: There is a slight drawback to using Awesome WM though; whenever you google something about awesome wm you get results about people stating how awesome their window managers are, not specifically awesome wm lol. Everything comes at a price.
    Nothing extra is required....just already preconfigured keystrokes do the job.
    Last edited by ph0tios (2008-03-11 16:20:22)

Maybe you are looking for

  • Getting admin console snapshot

    Hi, We're trying to generate a snapshot of our application when we shut it down. The Weblogic Admin console allows us to get the number of bean in memory, the number cached, etc. for all session and entity beans. The problem with this approach is tha

  • External Harddrive ethernet vs Firewire 400/800

    What would be better to invest in a ethernet harddrive or a firewire 400/800 I do need an external harddrive for video editing, mainly 1080i Hi-Def video as I have a Sony HVR A1 and am shooting hi-def. Thanks Justin Durban South Africa

  • AR cash receipts postings analysis

    Our auditors want to confirm 2010 Accounts Receivable balance by analyzing subsequent cash  receipts in 2011.  They want to know from the AR cash receipts received in 2011 what total dollar amount applies to 2010 AR documents.  I ran the report S_ALR

  • EC Sales List (Belgium)

    Any news about the implementation of the new harmonised xsd-schemes as from 7 february 2012 within SAP R/3?

  • Install 10gR2 RAC w/ iscsi chokes "filesystem too small for journal"

    Following Jeff Hunter guide to install RAC on 10gR2 on Oracle Linux All has gone well to the point of: [root@lin1 ~]# mkfs.ocfs2 -b 4k -C 32K -N 4 -L oracrsfiles /dev/sde1 mkfs.ocfs2 1.2.4 Filesystem too small for a journal [root@lin1 firefox]# df -m