Post

4 followers Follow
1
Avatar

Menus aren't working under xmonad

Running Logic 1.2.2 beta in the xmonad window manager I am unable to open any of the dropdown menus. Does anyone know how to get this working under xmonad?

psanford

Please sign in to leave a comment.

9 comments

0
Avatar

1.2.2, 1.2.1 and 1.2.0 are the first software releases using QT5.4.1. Previous releases used QT4.8.1

My guess is that's related. Someone reported what I suspect is the same issue with 1.2.1, also on Xmonad. They said that the popups in our software closed as soon as they opened. (most of our menus are actually custom popup windows).

We loaded Xmonad on Unbuntu 14.04 in a VM when the first issue was reported but we weren't able to reproduce the issue. However, we did notice odd transparency issues with the popups. (black backgrounds where the alpha channel should be, and colored boarders)

Did 1.1.34 work? Which distro are you using? We'll need to reproduce this over here in order to get to the bottom of it.

Mark Garrison 0 votes
0
Avatar

I tried 1.1.15 and it does not have the problem. I've also seen the menus popup and then close immediately. I couldn't find a download for 1.1.34.

I'm running on Ubuntu 14.04 with Xmonad as my window manager in XFCE.

psanford 0 votes
0
Avatar

That definitely points to something new in QT5. Unfortunately, until we can reproduce it, I'm not sure what to try next. If anyone else sees this behavior, please let us know!
In the mean time, can you try switching window managers to see if it works properly in another one?

Mark Garrison 0 votes
0
Avatar

Hello, I have the same issue here (using latest archlinux / xmonad).

The stable release menus works fine but unfortunately, I have the Saleae Logic Pro 8 and it's not recognized by the stable release.

Using the beta, things are mostly working (albeit the app is crashing now and then, especially using triggers and/or analog measurements) but the menus don't show up when clicked.

I found that pressing TAB and clicking repeatedly in a frenzy suddenly displays the menu / popups. That's a weird combo and probably linked to the management of mouse / input focus among various controls in the app. I mean I can use the app, but it's deeply annoying to have to do this trick every time (takes many tab+click to show up the menu).

I would strongly suggest that you test using archlinux x86_64 and xmonad as this definitely doesn't work for me.

Thank you.

nitro.tm 0 votes
0
Avatar

Yes!

Using Logic 1.2.5 beta, with xmonad 0.11 on a Debian jessie(stable) system, I was able to solve this problem with some hinting. xmonad configuration is kinda confusing/compilated for us non-Haskell experts, but this is what I used:
...
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
...
-- manage hooks, order matters
myManageHook = composeOne
[ checkDock -?> doIgnore
, isDialog -?> doFloat
, className =? "Gimp" -?> doFloat
-- handling for Saleae Logic where popups are burying, move the window to 4
, title =? "Saleae Logic Software" -?> doF (W.shift "5:dls")
-- ... but don't shove the traniesents down
, className =? "Logic" -?> doIgnore
, title =? "Google Chrome" -?> doF (W.shift "4:web")
, title =? "Amarok" -?> doF (W.shift "4:web")
, return True -?> doF W.swapDown
]

Obviously much of this is specific to my setup, but the critical thing here is the line resulting in doIgnore.

Its not clear to me whether something is wrong with the qt window manager hinting, but I'm suprised to see any difficulty reproduing this problem. Without the doIgnore line the problem manifests quite easily, in my configuration.

adicarlo 0 votes
0
Avatar

Woot! Thanks adicarlo! I will reference this thread if we get any more support requests about this.

Mark Garrison 0 votes
0
Avatar

Mark, you're welcome. Here's my entire xmonad.hs in case its is of any help:

import XMonad
import XMonad.Actions.UpdatePointer
import qualified XMonad.StackSet as W
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.Tabbed
import XMonad.Layout.ShowWName
import XMonad.Layout.Named
import XMonad.Layout.NoBorders(noBorders, smartBorders)
import XMonad.Layout.TabBarDecoration
import XMonad.Layout.Spiral
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Prompt
import XMonad.Prompt.Man
import XMonad.Prompt.Shell
import XMonad.Prompt.Ssh
import XMonad.Prompt.RunOrRaise
import XMonad.Prompt.Window
import System.IO

-- manage hooks, order matters
myManageHook = composeOne
[ checkDock -?> doIgnore
, isDialog -?> doFloat
, className =? "Gimp" -?> doFloat
-- handling for Saleae Logic where popups are burying, move the window to 4
, title =? "Saleae Logic Software" -?> doF (W.shift "5:dls")
-- ... but don't shove the traniesents down
, className =? "Logic" -?> doIgnore
, title =? "Google Chrome" -?> doF (W.shift "4:web")
, title =? "Amarok" -?> doF (W.shift "4:web")
, return True -?> doF W.swapDown
]

focusedTabColor = "black"
highlightColor = "#551a8b"
blurredColor = "grey15"
blurredFontColor = "aquamarine4"
titleFontColor = "green"

myTabConfig :: Theme
myTabConfig = defaultTheme { inactiveBorderColor = blurredColor
, inactiveColor = blurredColor
, inactiveTextColor = blurredFontColor
, activeBorderColor = focusedTabColor
, activeColor = focusedTabColor
, activeTextColor = titleFontColor
, fontName = "xft:Dejavu Sans Mono-8"
, decoHeight = 12
, urgentColor = "#000"
, urgentTextColor = "#63b8ff"
}

--
-- layouts

-- props to http://www.haskell.org/haskellwiki/Xmonad/Config_archive/Thomas_ten_Cate%27s_monad.hs

basicLayout = Tall nmaster delta ratio where
nmaster = 1
ratio = 1/2
delta = 3/100
tallLayout = named "tall" $ avoidStruts $ smartBorders basicLayout
wideLayout = named "wide" $ avoidStruts $ smartBorders ( Mirror basicLayout )
spiLayout = named "spiral" $ avoidStruts $ smartBorders ( Mirror ( spiral (5/7) ))
tabLayout = named "tab" $ avoidStruts $ noBorders ( tabbed shrinkText myTabConfig )
fullLayout = named "full" $ noBorders Full

myLayoutHook = normal where
normal = tallLayout ||| wideLayout ||| spiLayout ||| tabLayout ||| fullLayout

main = do
xmproc <- spawnPipe "xmobar /home/adam/.xmonad/xmobar.hs"
xmonad $ defaultConfig
{ modMask = mod4Mask
, normalBorderColor = blurredColor
, focusedBorderColor = highlightColor
, terminal = "rxvt"
, workspaces = ["1:main", "2:addl", "3:remote", "4:web", "5:dls", "6:fs"]
, manageHook = myManageHook <+> manageHook defaultConfig
, layoutHook = myLayoutHook
, logHook = dynamicLogWithPP $ xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor titleFontColor "" . shorten 20
}
} additionalKeys
[ ((mod4Mask, xK_F2), spawn "urxvtc")
, ((mod4Mask, xK_F1), manPrompt defaultXPConfig)
, ((mod4Mask, xK_F3), shellPrompt defaultXPConfig)
, ((mod4Mask, xK_F4), sshPrompt defaultXPConfig)
, ((mod4Mask, xK_F5), windowPromptGoto defaultXPConfig)
, ((mod4Mask, xK_F6), runOrRaisePrompt defaultXPConfig)
, ((mod4Mask, xK_Escape), spawn "conkeror -f unfocus")
]

adicarlo 0 votes
0
Avatar

Okay, adicarlo.

I see the idea (these popup are indeed normal windows and placed at the wrong z-index). In my case, I added the following rules:

...
title =? "Saleae Logic Software" --> doF (W.shift "5:dls"),
title =? "Logic" --> doIgnore,
...

Because I still like to have the main window managed by xmonad (as a floating one). Otherwise, the main window would appear on all workspaces.

I wonder if that's a QT5 bug?

Cheers.

nitro.tm 0 votes