diff --git a/.gitignore b/.gitignore index 68c2510..b3d59b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ xmonad-0.9.1.tar.gz /xmonad-0.9.2.tar.gz /xmonad-0.10.tar.gz +/xmonad-0.11.tar.gz diff --git a/README.fedora b/README.fedora index c4237b3..5ce215d 100644 --- a/README.fedora +++ b/README.fedora @@ -1,7 +1,7 @@ = Packaging = -xmonad in Fedora is provided by 3 packages: +xmonad in Fedora is provided by 3 subpackages: -- xmonad-core: just the base window manager and X session files +- xmonad-basic: just the base window manager and X session files - xmonad: additionally installs the devel library files needed to configure and customize xmonad - xmonad-gnome: additionally includes a gnome session file and requires gnome-session and gnome-terminal @@ -17,12 +17,13 @@ To activate the gnome-panel menu use Alt+Super+Button3 or Alt+Button3. = xmonad-start = For new users without "~/.xmonad/", Fedora's xmonad-start script -displays "man xmonad" in an xterm to provide help initially. +displays "man xmonad" in a terminal to provide help initially. To stop this behaviour, just create "~/.xmonad/". -With the xmonad-gnome or xmonad packages installed, xmonad-start will create -a basic "~/.xmonad/xmonad.hs" file configured for desktops. +With the xmonad, xmonad-config, or xmonad packages installed, +xmonad-start will create a basic "~/.xmonad/xmonad.hs" file +configured for desktops. = Configuration references = - xmonad man-page diff --git a/sources b/sources index 4b3d05c..0452b4a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f8381e1ec15137863558a454d4466467 xmonad-0.10.tar.gz +5ac9dc1dae5e85dcbdfb9f70cbe312c1 xmonad-0.11.tar.gz diff --git a/xmonad-0.10-WM_TAKE_FOCUS-track-currently-processing-event.patch b/xmonad-0.10-WM_TAKE_FOCUS-track-currently-processing-event.patch deleted file mode 100644 index 2523bf1..0000000 --- a/xmonad-0.10-WM_TAKE_FOCUS-track-currently-processing-event.patch +++ /dev/null @@ -1,105 +0,0 @@ -Mon Feb 22 06:45:12 PST 2010 Adam Vogt - * Resolve conflicts Geoff Reedy's window focus hack. -Sat Oct 10 16:19:07 PDT 2009 Geoff Reedy - * Give focus to windows that don't set the input hint -Sun Jun 21 22:19:11 PDT 2009 Geoff Reedy - * implement the ICCCM WM_TAKE_FOCUS protocol -Sun Jun 21 20:56:49 PDT 2009 Geoff Reedy - * track currently processing event -diff -rN -u old-xmonad/XMonad/Core.hs new-xmonad/XMonad/Core.hs ---- old-xmonad/XMonad/Core.hs 2012-11-14 22:40:50.637523085 -0800 -+++ new-xmonad/XMonad/Core.hs 2012-11-14 22:40:50.649523104 -0800 -@@ -26,7 +26,7 @@ - runX, catchX, userCode, userCodeDef, io, catchIO, installSignalHandlers, uninstallSignalHandlers, - withDisplay, withWindowSet, isRoot, runOnWorkspaces, - getAtom, spawn, spawnPID, xfork, getXMonadDir, recompile, trace, whenJust, whenX, -- atom_WM_STATE, atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, ManageHook, Query(..), runQuery -+ atom_WM_STATE, atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, atom_WM_TAKE_FOCUS, ManageHook, Query(..), runQuery - ) where - - import XMonad.StackSet hiding (modify) -@@ -86,6 +86,8 @@ - , mousePosition :: !(Maybe (Position, Position)) - -- ^ position of the mouse according to - -- the event currently being processed -+ , currentEvent :: !(Maybe Event) -+ -- ^ event currently being processed - } - - -- todo, better name -@@ -202,10 +204,11 @@ - getAtom str = withDisplay $ \dpy -> io $ internAtom dpy str False - - -- | Common non-predefined atoms --atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, atom_WM_STATE :: X Atom -+atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, atom_WM_STATE, atom_WM_TAKE_FOCUS :: X Atom - atom_WM_PROTOCOLS = getAtom "WM_PROTOCOLS" - atom_WM_DELETE_WINDOW = getAtom "WM_DELETE_WINDOW" - atom_WM_STATE = getAtom "WM_STATE" -+atom_WM_TAKE_FOCUS = getAtom "WM_TAKE_FOCUS" - - ------------------------------------------------------------------------ - -- LayoutClass handling. See particular instances in Operations.hs -diff -rN -u old-xmonad/XMonad/Main.hsc new-xmonad/XMonad/Main.hsc ---- old-xmonad/XMonad/Main.hsc 2012-11-14 22:40:50.636523083 -0800 -+++ new-xmonad/XMonad/Main.hsc 2012-11-14 22:40:50.652523110 -0800 -@@ -121,7 +121,8 @@ - , keyActions = keys xmc xmc - , buttonActions = mouseBindings xmc xmc - , mouseFocused = False -- , mousePosition = Nothing } -+ , mousePosition = Nothing -+ , currentEvent = Nothing } - - st = XState - { windowset = initialWinset -@@ -163,7 +164,7 @@ - prehandle e = let mouse = do guard (ev_event_type e `elem` evs) - return (fromIntegral (ev_x_root e) - ,fromIntegral (ev_y_root e)) -- in local (\c -> c { mousePosition = mouse }) (handleWithHook e) -+ in local (\c -> c { mousePosition = mouse, currentEvent = Just e }) (handleWithHook e) - evs = [ keyPress, keyRelease, enterNotify, leaveNotify - , buttonPress, buttonRelease] - -diff -rN -u old-xmonad/XMonad/Operations.hs new-xmonad/XMonad/Operations.hs ---- old-xmonad/XMonad/Operations.hs 2012-11-14 22:40:50.630523074 -0800 -+++ new-xmonad/XMonad/Operations.hs 2012-11-14 22:40:50.654523114 -0800 -@@ -24,7 +24,7 @@ - import Data.Maybe - import Data.Monoid (Endo(..)) - import Data.List (nub, (\\), find) --import Data.Bits ((.|.), (.&.), complement) -+import Data.Bits ((.|.), (.&.), complement, testBit) - import Data.Ratio - import qualified Data.Map as M - import qualified Data.Set as S -@@ -325,7 +325,27 @@ - - -- If we ungrab buttons on the root window, we lose our mouse bindings. - whenX (not <$> isRoot w) $ setButtonGrab False w -- io $ setInputFocus dpy w revertToPointerRoot 0 -+ -+ hints <- io $ getWMHints dpy w -+ protocols <- io $ getWMProtocols dpy w -+ wmprot <- atom_WM_PROTOCOLS -+ wmtf <- atom_WM_TAKE_FOCUS -+ currevt <- asks currentEvent -+ let inputHintSet = wmh_flags hints `testBit` inputHintBit -+ -+ when ((inputHintSet && wmh_input hints) || (not inputHintSet)) $ -+ io $ do setInputFocus dpy w revertToPointerRoot 0 -+ when (wmtf `elem` protocols) $ -+ io $ allocaXEvent $ \ev -> do -+ setEventType ev clientMessage -+ setClientMessageEvent ev w wmprot 32 wmtf $ maybe currentTime event_time currevt -+ sendEvent dpy w False noEventMask ev -+ where event_time ev = -+ if (ev_event_type ev) `elem` timedEvents then -+ ev_time ev -+ else -+ currentTime -+ timedEvents = [ keyPress, keyRelease, buttonPress, buttonRelease, enterNotify, leaveNotify, selectionRequest ] - - ------------------------------------------------------------------------ - -- Message handling diff --git a/xmonad-0.10-X11-1.6.patch b/xmonad-0.10-X11-1.6.patch deleted file mode 100644 index fe0f6b7..0000000 --- a/xmonad-0.10-X11-1.6.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u xmonad-0.10/xmonad.cabal\~ xmonad-0.10/xmonad.cabal ---- xmonad-0.10/xmonad.cabal~ 2011-11-19 08:14:36.000000000 +0900 -+++ xmonad-0.10/xmonad.cabal 2012-06-11 10:46:59.925650241 +0900 -@@ -46,7 +46,7 @@ - build-depends: base < 5 && >=3, containers, directory, process, filepath, extensible-exceptions - else - build-depends: base < 3 -- build-depends: X11>=1.5.0.0 && < 1.6, mtl, unix, -+ build-depends: X11>=1.5.0.0 && < 1.7, mtl, unix, - utf8-string >= 0.3 && < 0.4 - - if true diff --git a/xmonad.spec b/xmonad.spec index 6a46a81..cd840ae 100644 --- a/xmonad.spec +++ b/xmonad.spec @@ -16,8 +16,8 @@ workspace. Xinerama is fully supported, allowing windows to be tiled\ on several screens. Name: %{pkg_name} -Version: 0.10 -Release: 17%{?dist} +Version: 0.11 +Release: 1%{?dist} Summary: A tiling window manager License: BSD @@ -30,8 +30,6 @@ Source4: README.fedora Source5: xmonad-gnome-session.desktop Source6: xmonad.session Source7: xmonad.hs -Patch1: xmonad-0.10-X11-1.6.patch -Patch2: xmonad-0.10-WM_TAKE_FOCUS-track-currently-processing-event.patch BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros @@ -114,8 +112,6 @@ in a GNOME session. %prep %setup -q -%patch1 -p1 -b .orig -%patch2 -p1 -b .orig cp -p %SOURCE4 . @@ -132,9 +128,9 @@ install -p -m 0755 -D %SOURCE2 %{buildroot}%{_bindir}/%{name}-start desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3} install -p -m 0644 -D %SOURCE5 %{buildroot}%{_datadir}/xsessions/%{name}-gnome.desktop install -p -m 0644 -D %SOURCE6 %{buildroot}%{_datadir}/gnome-session/sessions/%{name}.session -install -p -m 0644 -D %SOURCE7 %{buildroot}%{_datadir}/xmonad/%{name}.hs +install -p -m 0644 -D %SOURCE7 %{buildroot}%{_datadir}/xmonad/xmonad.hs -rm %{buildroot}%{_datadir}/%{name}-%{version}/man/xmonad.hs +rm %{buildroot}%{_datadir}/%{name}-%{version}/man/xmonad.{hs,1,1.html} # ship LICENSE in xmonad-core rm %{buildroot}%{_docdir}/%{name}-%{version}/LICENSE @@ -160,7 +156,8 @@ rm %{buildroot}%{_docdir}/%{name}-%{version}/LICENSE %files core -%doc CONFIG LICENSE README man/%{name}.hs README.fedora +%doc CONFIG LICENSE README README.fedora +%doc man/xmonad.{hs,1{.html,.markdown}} %attr(755,root,root) %{_bindir}/%{name} %attr(755,root,root) %{_bindir}/%{name}-start %{_mandir}/man1/%{name}.1* @@ -168,7 +165,7 @@ rm %{buildroot}%{_docdir}/%{name}-%{version}/LICENSE %files config -%{_datadir}/xmonad/%{name}.hs +%{_datadir}/xmonad/xmonad.hs %files gnome @@ -181,6 +178,10 @@ rm %{buildroot}%{_docdir}/%{name}-%{version}/LICENSE %changelog +* Fri Jan 18 2013 Jens Petersen - 0.11-1 +- update to 0.11 +- X11-1.6 and WM_TAKE_FOCUS patches no longer needed + * Thu Dec 13 2012 Jens Petersen - 0.10-17 - xmonad-gnome now requires gnome-panel and gnome-settings-daemon to start