Skip to content

Commit

Permalink
x11-wm/xmonad: cleanup 'pass-focus-click' patch
Browse files Browse the repository at this point in the history
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
  • Loading branch information
Sergei Trofimovich committed Apr 11, 2012
1 parent 4b2a354 commit 2e87dbd
Show file tree
Hide file tree
Showing 8 changed files with 94 additions and 101 deletions.
9 changes: 3 additions & 6 deletions x11-wm/xmonad/Manifest
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
AUX pass-focus-click-config.patch 1319 RMD160 48c551b6b00d7441121a548b861c731f59c39df7 SHA1 7cc3868df35508ebe2f9a021d4916230dde0865c SHA256 1a010f5ae3f2e0c3b2d4c03699985e2d4536424f54ee00decc3a88c52cb3b867
AUX pass-focus-click-core.patch 579 RMD160 ba1682e3d9a8d9ffa42659737cfeb0e50cde99be SHA1 8903b0bcfd184ebc86dc8e798e5ec605c04bbf5a SHA256 a4eed33f42d0ef61f6d697a1b8d6e2ee3ee7fc39ddfd0fece5502b0ae0a5fb3a
AUX pass-focus-click-mainhsc.patch 873 RMD160 0e13eb90f327ef03c5a98d40f4fb08ca45c636d5 SHA1 45e879689a7d44524af362535e10d3d9c83dec97 SHA256 42ddc097fa430075ac688d83502e5ef16c4ca102d591d61404a19456a933ba99
AUX pass-focus-click-operations.patch 941 RMD160 493474746736095e8e1c902f0beac2b75bd89d47 SHA1 79f0f0f143093707062c89a594ffecf0a594acb7 SHA256 0d8d616484bbde272f6ca0c9bffbba671d28c026047a056c87c9edd5b6c9a3c3
AUX xmonad-0.10-pass-focus-click.patch 3812 RMD160 8f709d15837edfad299420d216a24cfb09f96cba SHA1 9c93b6b850a1f17eac8f507dbaabcdbbe647dc1c SHA256 6685158d42964a711f179546722ef1be81a89bad4e93f8f6e3d6fe55fb246530
AUX xmonad-0.9.2-unbreak-haddock.patch 1381 RMD160 66b2d9b6c4c4a633f022dcc414a180394c4ff750 SHA1 aaa99ec04e6cbb7adee195a74ff54371d8385008 SHA256 2da7bbf88eaa72febf98fde0eb67d35e0ef11ef25940b889a9db0a6b72df8f3c
AUX xmonad.desktop 285 RMD160 64cfde0c38eb413e156df3a6814263ac17a62ed4 SHA1 684e20f6c4fc4640a2d1a68e8706069ed51c8a74 SHA256 cca59025f61f4d2aa61bd8410528dab67223696be6bfc3c0eb17ec7e22e4fc1a
DIST xmonad-0.10.tar.gz 57681 RMD160 707f066049a49f817df2982726dd3e9c4dc1f9ad SHA1 8121afb884c9f1c0f972e10f0fe5a71f38106c9d SHA256 4676717615d367abaf2e2bb609cf532427edfd87455268fa48552f7fcdf0e5a7
DIST xmonad-0.9.2.tar.gz 56974 RMD160 4d8e6f0057833695a876ead876bebc4e1878f17b SHA1 6f05248225f5e6ffd77780ce1c2c2a11300e0b7b SHA256 adcda3f5b7a59fb1fa4f7f48e8c4eb0599642e7d215b013fb072f98aef98851f
DIST xmonad-0.9.tar.gz 55977 RMD160 c781d2bd69e4ed164f7eb8d0514747b0ad6abdb2 SHA1 c319229fb6d3ef4864a6b177d96368bd9d978283 SHA256 51670f83de211a8ea24ce2724c71ac5c3e4782f25422319d8b5e43f3ae7bf9e8
EBUILD xmonad-0.10.ebuild 2140 RMD160 d6cdccbcd37756140d7d50474308ab4382b55201 SHA1 f126941884032c0fe237ec13994162e7d4c6fadc SHA256 90122eb42bf4c10d49972621232b9e8924c45130e4e21f50ce68cc81042ae82a
EBUILD xmonad-0.10.ebuild 1981 RMD160 45c0a6cc9af2d73febd1e929314dbf8e3e9bb8a9 SHA1 eba659b59e92ca08f10ed6ee7a5ff85f4908edb0 SHA256 a00c5194459d1e9944b81de5d4542af7a91822803ad0431fba2e61dbc8ced018
EBUILD xmonad-0.9.2.ebuild 1688 RMD160 9df631ad791f6396cf59ba9a81ef94f2abd168ab SHA1 15abe091e47c5f8d82c2c7340579565e97e395f1 SHA256 d4c7a79a2d43e6158a09cc37c55881e354642df6ecf4518f6a6825d8992e0a26
EBUILD xmonad-0.9.ebuild 1613 RMD160 571beeb17243d54a225682a6caac30bc6614e506 SHA1 47ebf0e39aa65cd672059eef9dd1a7aff14674fd SHA256 a81841f9270e77ac7b196164d5ae55e4c5e8630a351f2b6c1b47c774270726e7
EBUILD xmonad-9999.ebuild 2481 RMD160 3ab4a5ed9c4b88bf16fed042afd6bdbaebaa03e1 SHA1 2950482f087f5f06636a652137c73b4894069dbc SHA256 5a019efeb76462fdd6fa861b4e57a32af2bf17cd121484479f2131bff7068f6a
EBUILD xmonad-9999.ebuild 2322 RMD160 2432d6a129d1081436d44bfb2cfccfea617d864b SHA1 e6fe9dccedf8220051ac92f08bce662407b19700 SHA256 b638fb8fea66fb7efffbd4a8fa18c9b2f4796943874680d9a5643ad8ad9d7a08
MISC metadata.xml 1208 RMD160 0c4990009087cbdb07d4edbeae8e2ba73d80f8d0 SHA1 081f8b47c420e89063dda8f50bf487e8a075d2cb SHA256 a2d4aeac75a3b91da03936267482096e87771d2f5e9e40f66e9aae8f0e592212
34 changes: 0 additions & 34 deletions x11-wm/xmonad/files/pass-focus-click-config.patch

This file was deleted.

10 changes: 0 additions & 10 deletions x11-wm/xmonad/files/pass-focus-click-core.patch

This file was deleted.

21 changes: 0 additions & 21 deletions x11-wm/xmonad/files/pass-focus-click-mainhsc.patch

This file was deleted.

20 changes: 0 additions & 20 deletions x11-wm/xmonad/files/pass-focus-click-operations.patch

This file was deleted.

87 changes: 87 additions & 0 deletions x11-wm/xmonad/files/xmonad-0.10-pass-focus-click.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
Added click passthrough patches to xmonad.
See http://code.google.com/p/xmonad/issues/detail?id=225
--- XMonad/Config.hs.old 2012-03-12 22:41:08.140535653 +0200
+++ XMonad/Config.hs 2012-03-12 22:41:36.318134114 +0200
@@ -27,11 +27,11 @@
import XMonad.Core as XMonad hiding
(workspaces,manageHook,keys,logHook,startupHook,borderWidth,mouseBindings
,layoutHook,modMask,terminal,normalBorderColor,focusedBorderColor,focusFollowsMouse
- ,handleEventHook)
+ ,handleEventHook,clickJustFocuses)
import qualified XMonad.Core as XMonad
(workspaces,manageHook,keys,logHook,startupHook,borderWidth,mouseBindings
,layoutHook,modMask,terminal,normalBorderColor,focusedBorderColor,focusFollowsMouse
- ,handleEventHook)
+ ,handleEventHook,clickJustFocuses)

import XMonad.Layout
import XMonad.Operations
@@ -157,6 +157,11 @@
focusFollowsMouse :: Bool
focusFollowsMouse = True

+-- | Whether a mouse click select the focus or is just passed to the window
+clickJustFocuses :: Bool
+clickJustFocuses = True
+
+
-- | The xmonad key bindings. Add, modify or remove key bindings here.
--
-- (The comment formatting character is used when generating the manpage)
@@ -248,4 +253,5 @@
, XMonad.manageHook = manageHook
, XMonad.handleEventHook = handleEventHook
, XMonad.focusFollowsMouse = focusFollowsMouse
+ , XMonad.clickJustFocuses = clickJustFocuses
}
--- XMonad/Core.hs.old 2012-03-12 22:41:19.477764521 +0200
+++ XMonad/Core.hs 2012-03-12 22:41:36.319133958 +0200
@@ -108,6 +108,7 @@
, logHook :: !(X ()) -- ^ The action to perform when the windows set is changed
, startupHook :: !(X ()) -- ^ The action to perform on startup
, focusFollowsMouse :: !Bool -- ^ Whether window entry events can change focus
+ , clickJustFocuses :: !Bool -- ^ False to make a click which changes focus to be additionally passed to the window
}


--- XMonad/Main.hsc.old 2012-03-12 22:40:44.918164287 +0200
+++ XMonad/Main.hsc 2012-03-12 22:41:36.320133802 +0200
@@ -247,12 +247,16 @@
| t == buttonPress = do
-- If it's the root window, then it's something we
-- grabbed in grabButtons. Otherwise, it's click-to-focus.
+ dpy <- asks display
isr <- isRoot w
m <- cleanMask $ ev_state e
mact <- asks (M.lookup (m, b) . buttonActions)
case mact of
- (Just act) | isr -> act $ ev_subwindow e
- _ -> focus w
+ Just act | isr -> act $ ev_subwindow e
+ _ -> do
+ focus w
+ ctf <- asks (clickJustFocuses . config)
+ unless ctf $ io (allowEvents dpy replayPointer currentTime)
broadcastMessage e -- Always send button events.

-- entered a normal window: focus it if focusFollowsMouse is set to
--- XMonad/Operations.hs.old 2012-03-12 22:40:54.733630440 +0200
+++ XMonad/Operations.hs 2012-03-12 22:41:36.323133333 +0200
@@ -283,11 +283,14 @@

-- | setButtonGrab. Tell whether or not to intercept clicks on a given window
setButtonGrab :: Bool -> Window -> X ()
-setButtonGrab grab w = withDisplay $ \d -> io $
- if grab
+setButtonGrab grab w = do
+ pointerMode <- asks $ \c -> if clickJustFocuses (config c)
+ then grabModeAsync
+ else grabModeSync
+ withDisplay $ \d -> io $ if grab
then forM_ [button1, button2, button3] $ \b ->
grabButton d b anyModifier w False buttonPressMask
- grabModeAsync grabModeSync none none
+ pointerMode grabModeSync none none
else ungrabButton d anyButton anyModifier w

-- ---------------------------------------------------------------------
7 changes: 2 additions & 5 deletions x11-wm/xmonad/xmonad-0.10.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ SRC_URI="http://hackage.haskell.org/packages/archive/${PN}/${PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~sparc ~x86"
IUSE="+default-term -pass-focus-click"
IUSE="+default-term pass-focus-click"

RDEPEND="dev-haskell/mtl[profile?]
=dev-haskell/utf8-string-0.3*[profile?]
Expand All @@ -33,10 +33,7 @@ SAMPLE_CONFIG_LOC="man"

src_prepare() {
if use pass-focus-click ; then
epatch "${FILESDIR}/pass-focus-click-config.patch"
epatch "${FILESDIR}/pass-focus-click-core.patch"
epatch "${FILESDIR}/pass-focus-click-mainhsc.patch"
epatch "${FILESDIR}/pass-focus-click-operations.patch"
epatch "${FILESDIR}/${PN}-0.10-pass-focus-click.patch"
fi

# allow user patches
Expand Down
7 changes: 2 additions & 5 deletions x11-wm/xmonad/xmonad-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ EDARCS_REPOSITORY="http://code.haskell.org/xmonad"
LICENSE="BSD"
SLOT="0"
KEYWORDS=""
IUSE="+default-term -pass-focus-click"
IUSE="+default-term pass-focus-click"

RDEPEND="dev-haskell/mtl[profile?]
>=dev-haskell/x11-1.5[profile?]
Expand All @@ -35,10 +35,7 @@ src_prepare() {
-i "${S}/${PN}.cabal" || die "Could not loosen dependencies"

if use pass-focus-click ; then
epatch "${FILESDIR}/pass-focus-click-config.patch"
epatch "${FILESDIR}/pass-focus-click-core.patch"
epatch "${FILESDIR}/pass-focus-click-mainhsc.patch"
epatch "${FILESDIR}/pass-focus-click-operations.patch"
epatch "${FILESDIR}/${PN}-0.10-pass-focus-click.patch"
fi

# allow user patches
Expand Down

0 comments on commit 2e87dbd

Please sign in to comment.