diff --git a/dotfiles/config/.gitignore b/dotfiles/config/.gitignore index 5c32ae1d..fea400b1 100644 --- a/dotfiles/config/.gitignore +++ b/dotfiles/config/.gitignore @@ -1,3 +1,6 @@ +/.mono/keypairs/ +/Atom/ +/Code/ /Popcorn-Time/ /QtProject.conf/ /Trolltech.conf @@ -16,6 +19,7 @@ /gtk-3.0/bookmarks /hexchat /hub +/libreoffice/ /linuxmint/ /menus/ /menus/applications-merged/ @@ -31,6 +35,7 @@ /sparkleshare/avatars/ /sparkleshare/logs /spotify +/sublime-text-3/ /systemd/user/*.target.wants/ /totem/ /transmission/dht.dat @@ -42,4 +47,3 @@ /user-dirs.locale /vlc/ /xfce4/ -/.mono/keypairs/ diff --git a/dotfiles/xmonad/xmonad.hs b/dotfiles/xmonad/xmonad.hs index 7e214ed9..b6e4564c 100644 --- a/dotfiles/xmonad/xmonad.hs +++ b/dotfiles/xmonad/xmonad.hs @@ -522,6 +522,16 @@ actOnWindowsInWorkspace :: (Window -> X ()) actOnWindowsInWorkspace windowAction getWindowsAction = restoreFocus $ withWorkspace (getWindowsAction >=> mapM_ windowAction) +-- XXX: The idea behind this was that the normal fullscreen can be annoying if a +-- new window opens, but this behavior is even more annoying than that, so +-- nevermind +goFullscreenDWIM = + withWorkspace $ \ws -> do + wins <- windowsWithFocusedClass ws + if length wins > 1 + then goFullscreen + else minimizeOtherClassesInWorkspace + windowsWithUnfocusedClass ws = windowsWithOtherClasses (W.focus ws) ws windowsWithFocusedClass ws = windowsWithSameClass (W.focus ws) ws windowsWithOtherClasses = windowsMatchingClassPredicate (/=) @@ -754,7 +764,7 @@ addKeys conf@XConfig { modMask = modm } = , ((modm, xK_g), myGoToWindow) , ((modm, xK_b), myBringWindow) , ((modm .|. shiftMask, xK_b), myReplaceWindow) - , ((modm .|. controlMask, xK_space), goFullscreen) + , ((modm .|. controlMask, xK_space), deactivateFullOr goFullscreen) , ((modm, xK_m), withFocused minimizeWindow) , ((modm .|. shiftMask, xK_m), deactivateFullOr $ withLastMinimized maximizeWindowAndFocus)