From e7331e23e18afff0c3b7344a78c6e2b0f3a9e6e9 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 16 Jan 2017 21:14:49 -0800 Subject: [PATCH 01/13] [XMonad] Fix typo --- dotfiles/xmonad/xmonad.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dotfiles/xmonad/xmonad.hs b/dotfiles/xmonad/xmonad.hs index 4d28bd29..9419c611 100644 --- a/dotfiles/xmonad/xmonad.hs +++ b/dotfiles/xmonad/xmonad.hs @@ -154,7 +154,7 @@ hangoutsCommand = "start_hangouts.sh" spotifyCommand = "spotify" chromeCommand = "google-chrome-stable" emacsCommand = "emacsclient -c" -htopCommnad = "urxvt -e htop" +htopCommand = "urxvt -e htop" transmissionCommand = "transmission-gtk" volumeCommand = "pavucontrol" @@ -572,7 +572,7 @@ swapMinimizeStateAfter action = -- Named Scratchpads scratchpads = - [ NS "htop" htopCommnad (title =? "htop") nonFloating + [ NS "htop" htopCommand (title =? "htop") nonFloating , NS "spotify" spotifyCommand spotifySelector nonFloating , NS "hangouts" hangoutsCommand hangoutsSelector nonFloating , NS "volume" volumeCommand volumeSelector nonFloating From 62dcd54e9a58198beed581e7da0e5f33b537ee38 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 16 Jan 2017 21:29:24 -0800 Subject: [PATCH 02/13] [XMonad] Add keepass scratchpad --- dotfiles/xmonad/xmonad.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dotfiles/xmonad/xmonad.hs b/dotfiles/xmonad/xmonad.hs index 9419c611..e49ed218 100644 --- a/dotfiles/xmonad/xmonad.hs +++ b/dotfiles/xmonad/xmonad.hs @@ -141,6 +141,7 @@ emacsSelector = className =? "Emacs" transmissionSelector = fmap (isPrefixOf "Transmission") title hangoutsSelector = chromeSelectorBase <&&> fmap isHangoutsTitle title volumeSelector = className =? "Pavucontrol" +keepassSelector = className =? "keepassxc" virtualClasses = [ (hangoutsSelector, "Hangouts") @@ -157,6 +158,8 @@ emacsCommand = "emacsclient -c" htopCommand = "urxvt -e htop" transmissionCommand = "transmission-gtk" volumeCommand = "pavucontrol" +keepassCommand = "systemctl --user restart keepassx.service" +taffybarCommand = "systemctl --user restart taffybar.service" -- Startup hook @@ -576,6 +579,7 @@ scratchpads = , NS "spotify" spotifyCommand spotifySelector nonFloating , NS "hangouts" hangoutsCommand hangoutsSelector nonFloating , NS "volume" volumeCommand volumeSelector nonFloating + , NS "keepass" keepassCommand keepassSelector nonFloating ] -- TODO: This doesnt work well with minimized windows @@ -639,6 +643,7 @@ addKeys conf@XConfig {modMask = modm} = , ((modalt, xK_v), doScratchpad "volume") , ((modalt, xK_h), doScratchpad "hangouts") , ((modalt, xK_s), doScratchpad "spotify") + , ((modalt, xK_k), doScratchpad "keepass") , ((modalt .|. controlMask, xK_h), myRaiseNextMaybe (spawn hangoutsCommand) hangoutsSelector) , ((modalt .|. controlMask, xK_s), @@ -693,8 +698,7 @@ addKeys conf@XConfig {modMask = modm} = -- Non-XMonad - , ((modm .|. controlMask, xK_t), spawn - "systemctl --user restart taffybar.service") + , ((modm .|. controlMask, xK_t), spawn taffybarCommand) , ((modm, xK_v), spawn "copyq paste") , ((modm .|. controlMask, xK_s), spawn "split_out.sh") , ((mod3Mask, xK_v), spawn "copyq_rofi.sh") From 1ca85b52d297e83b472e4dda7cc123e55631e810 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 16 Jan 2017 21:29:41 -0800 Subject: [PATCH 03/13] [XMonad] Update xmonad sha in stack.yaml --- dotfiles/xmonad/stack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/xmonad/stack.yaml b/dotfiles/xmonad/stack.yaml index 1bf252c1..1453ae6c 100644 --- a/dotfiles/xmonad/stack.yaml +++ b/dotfiles/xmonad/stack.yaml @@ -7,7 +7,7 @@ packages: commit: 0dbcb1891de8d44b3eba1200197f994a3aafabf4 - location: git: git@github.com:IvanMalison/xmonad.git - commit: 7e9c9ccb1f47c147ad19dc420361852623bd6199 + commit: f2da028ff96698289a31a44bdbaea97c53aa01aa - location: git: git@github.com:IvanMalison/xmonad-contrib.git commit: fb0ba737fb68a8d1a2f6e0dbe4d36c4e46ef7f56 From bbd645dd0430617fc01d68febeabaf1c8b75a1e3 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 16 Jan 2017 21:29:54 -0800 Subject: [PATCH 04/13] [Linux] Add fontawesome icon for keepassxc --- dotfiles/lib/resources/window_class_to_fontawesome.json | 1 + 1 file changed, 1 insertion(+) diff --git a/dotfiles/lib/resources/window_class_to_fontawesome.json b/dotfiles/lib/resources/window_class_to_fontawesome.json index 1ebc432c..5b42f3d3 100755 --- a/dotfiles/lib/resources/window_class_to_fontawesome.json +++ b/dotfiles/lib/resources/window_class_to_fontawesome.json @@ -1,4 +1,5 @@ { + "keepassxc": "", "Emacs": "", "Chrome": "", "Spotify": "", From 87f4f115fa33a9bc9556eb3c2790b3bd663bc995 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 26 Jan 2017 16:57:40 -0800 Subject: [PATCH 05/13] [Emacs] Only load theme once at startup --- dotfiles/emacs.d/README.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 2b836706..3c479091 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -4852,8 +4852,6 @@ load-theme hook (See the heading below). (defun imalison:appearance (&optional frame) (setq font-use-system-font nil) (interactive (list nil)) - (unless (member imalison:dark-theme custom-enabled-themes) - (load-theme imalison:dark-theme t)) (spaceline-compile) (imalison:remove-fringe-and-hl-line-mode) (setq powerline-default-separator (random-choice '(butt slant wave)))) @@ -4864,6 +4862,8 @@ load-theme hook (See the heading below). (defun imalison:appearance-setup-hook (&rest args) (unless imalison:appearance-setup-done + (unless (member imalison:dark-theme custom-enabled-themes) + (load-theme imalison:dark-theme t)) (apply 'imalison:appearance args) (setq imalison:default-font-size-pt (face-attribute 'default :height)) (setq imalison:appearance-setup-done t))) From baef77ad7c43ea61c04e319d2aa5e475ff01b84e Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 26 Jan 2017 16:58:24 -0800 Subject: [PATCH 06/13] [Emacs] Add comment about load-theme-hook for highlight-indent-guide --- dotfiles/emacs.d/README.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 3c479091..e6ff012e 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -1629,6 +1629,8 @@ https://github.com/alpaker/Fill-Column-Indicator/issues/21 for more details (add-hook 'prog-mode-hook 'fci-mode))) #+END_SRC ** highlight-indent-guides +If the load-theme hook from this package starts causing trouble check for +custom-set-faces in your custom file. #+BEGIN_SRC emacs-lisp (use-package highlight-indent-guides :commands highlight-indent-guides-mode From 6ffac9fc58aeed49371dec89870b300cfbf7d8ef Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 26 Jan 2017 16:58:42 -0800 Subject: [PATCH 07/13] [Emacs] Use server tcp --- dotfiles/emacs.d/README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index e6ff012e..c0c56e64 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -1409,7 +1409,7 @@ proced is an top like utility that runs inside of emacs. The following sets auto inhibit-startup-echo-area-message t) ;; This makes it so that emacs --daemon puts its files in ~/.emacs.d/server -;; (setq server-use-tcp t) +(setq server-use-tcp t) ;; Make buffer names unique. (setq uniquify-buffer-name-style 'forward) From 392f3e865fe052618dde2e8c00e1cfe6844da169 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 26 Jan 2017 16:59:08 -0800 Subject: [PATCH 08/13] [Emacs] Set default font size if it isn't set --- dotfiles/emacs.d/README.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index c0c56e64..0d1c4324 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -746,6 +746,8 @@ This was taken from [[http://emacs.stackexchange.com/questions/7583/transiently- (cl-defun imalison:modify-font-size (&optional (arg 10)) (interactive "p") + (unless imalison:default-font-size-pt + (imalison:set-default-font-size)) (imalison:set-font-size (+ (imalison:current-font-size) arg))) (defun imalison:font-size-incr () From 55071ede05238636a553847878f0d3913c29730d Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sat, 28 Jan 2017 12:38:37 -0800 Subject: [PATCH 09/13] [taffybar] Use images in workspace pager --- dotfiles/config/taffybar/taffybar.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index 1d36bec1..a23d1184 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -28,7 +28,11 @@ main = do , graphLabel = Just "cpu" } let clock = textClockNew Nothing "%a %b %_d %r" 1 - pager = taffyPagerNew defaultPagerConfig + pagerConfig = defaultPagerConfig + { useImages = True + , emptyWorkspace = id + } + pager = taffyPagerNew pagerConfig mpris = mpris2New mem = pollingGraphNew memCfg 1 memCallback cpu = pollingGraphNew cpuCfg 0.5 cpuCallback From 73c79ef6561e35ce9e1dcf38035b1dd8b3a88f0c Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 31 Jan 2017 04:14:07 -0800 Subject: [PATCH 10/13] [XMonad] Remove dynamic workspace naming --- dotfiles/xmonad/xmonad.hs | 52 +++++++-------------------------------- 1 file changed, 9 insertions(+), 43 deletions(-) diff --git a/dotfiles/xmonad/xmonad.hs b/dotfiles/xmonad/xmonad.hs index e49ed218..728ae307 100644 --- a/dotfiles/xmonad/xmonad.hs +++ b/dotfiles/xmonad/xmonad.hs @@ -27,7 +27,6 @@ import XMonad.Actions.Minimize import XMonad.Actions.UpdatePointer import XMonad.Actions.WindowBringer import XMonad.Actions.WindowGo -import XMonad.Actions.WorkspaceNames import XMonad.Config () import XMonad.Hooks.EwmhDesktops import XMonad.Hooks.FadeInactive @@ -57,11 +56,9 @@ import XMonad.Util.NamedScratchpad (NamedScratchpad(NS), nonFloating, namedScratchpadAction) import XMonad.Util.NamedWindows (getName) -myGetWorkspaceNameFromTag getWSName tag = - printf "%s: %s " tag (fromMaybe "(Empty)" (getWSName tag)) - main = - xmonad . docks $ def + xmonad . docks . pagerHints . ewmh $ + def { modMask = mod4Mask , terminal = "urxvt" , manageHook = myManageHook <+> manageHook def @@ -70,13 +67,11 @@ main = , normalBorderColor = "#000000" , focusedBorderColor = "#455a64" , logHook = - updatePointer (0.5, 0.5) (0, 0) +++ toggleFadeInactiveLogHook 0.9 +++ - ewmhWorkspaceNamesLogHook' myGetWorkspaceNameFromTag +++ - (myGetWorkspaceNameFromTag <$> getWorkspaceNames' >>= pagerHintsLogHookCustom) - , handleEventHook = fullscreenEventHook +++ - ewmhDesktopsEventHook +++ pagerHintsEventHook +++ - followIfNoMagicFocus +++ minimizeEventHook - , startupHook = myStartup +++ ewmhWorkspaceNamesLogHook + updatePointer (0.5, 0.5) (0, 0) +++ + toggleFadeInactiveLogHook 0.9 + , handleEventHook = + fullscreenEventHook +++ followIfNoMagicFocus +++ minimizeEventHook + , startupHook = myStartup , keys = customKeys (const []) addKeys } where @@ -159,7 +154,7 @@ htopCommand = "urxvt -e htop" transmissionCommand = "transmission-gtk" volumeCommand = "pavucontrol" keepassCommand = "systemctl --user restart keepassx.service" -taffybarCommand = "systemctl --user restart taffybar.service" +taffybarCommand = "restart_taffybar.sh" -- Startup hook @@ -329,36 +324,6 @@ myBringWindow WindowBringerConfig { menuCommand = cmd , windows $ W.focusWindow window . bringWindow window ] --- Dynamic Workspace Renaming - -windowClassFontAwesomeFile = - fmap ( ".lib/resources/window_class_to_fontawesome.json") getHomeDirectory - -getClassRemap = - fmap (fromMaybe M.empty . decode) $ - windowClassFontAwesomeFile >>= B.readFile - -getClassRemapF = flip maybeRemap <$> getClassRemap -getWSClassNames' w = mapM getClass $ W.integrate' $ W.stack w -getWSClassNames w = io (fmap map getClassRemapF) <*> getWSClassNames' w -currentWSName ws = fromMaybe "" <$> (getWorkspaceNames' <*> pure (W.tag ws)) -desiredWSName = (intercalate "|" <$>) . getWSClassNames - -setWorkspaceNameToFocusedWindow workspace = do - currentName <- currentWSName workspace - newName <- desiredWSName workspace - when (currentName /= newName) $ setWorkspaceName (W.tag workspace) newName - -setWorkspaceNames = - gets windowset >>= mapM_ setWorkspaceNameToFocusedWindow . W.workspaces - -data WorkspaceNamesHook a = WorkspaceNamesHook deriving (Show, Read) - -instance LayoutModifier WorkspaceNamesHook Window where - hook _ = setWorkspaceNames - -workspaceNamesHook = ModifiedLayout WorkspaceNamesHook - -- Toggleable fade newtype ToggleFade a = @@ -681,6 +646,7 @@ addKeys conf@XConfig {modMask = modm} = , ((modm, xK_z), shiftToNextScreenX) , ((modm .|. shiftMask, xK_z), shiftToEmptyNextScreen) , ((modm .|. shiftMask, xK_h), shiftToEmptyAndView) + -- These need to be rebound to support boringWindows , ((modm, xK_j), focusDown) , ((modm, xK_k), focusUp) From 283d54f3e74f7ee87938821f4a73a6a4e6025aee Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 31 Jan 2017 04:14:48 -0800 Subject: [PATCH 11/13] [taffybar] Set imagecount to 8 --- dotfiles/config/taffybar/taffybar.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index a23d1184..b8822c04 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -31,6 +31,8 @@ main = do pagerConfig = defaultPagerConfig { useImages = True , emptyWorkspace = id + , imageCount = 8 + , workspaceGap = 0 } pager = taffyPagerNew pagerConfig mpris = mpris2New From 3b16c45d3b851ba8b490d4cb9d9f07e36b43b2e5 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 31 Jan 2017 23:19:34 -0800 Subject: [PATCH 12/13] [taffybar] Update theming --- dotfiles/config/taffybar/taffybar.hs | 8 ++++-- dotfiles/config/taffybar/taffybar.rc | 40 +++++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index b8822c04..c65d847d 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -1,9 +1,10 @@ import System.Taffybar +import System.Taffybar.MPRIS2 +import System.Taffybar.Pager +import System.Taffybar.SimpleClock import System.Taffybar.Systray import System.Taffybar.TaffyPager -import System.Taffybar.SimpleClock -import System.Taffybar.MPRIS2 import System.Taffybar.Widgets.PollingGraph @@ -33,6 +34,9 @@ main = do , emptyWorkspace = id , imageCount = 8 , workspaceGap = 0 + , activeWorkspace = escape + , visibleWorkspace = escape + , workspaceBorder = False } pager = taffyPagerNew pagerConfig mpris = mpris2New diff --git a/dotfiles/config/taffybar/taffybar.rc b/dotfiles/config/taffybar/taffybar.rc index 9e7e5a1a..67f00759 100644 --- a/dotfiles/config/taffybar/taffybar.rc +++ b/dotfiles/config/taffybar/taffybar.rc @@ -3,13 +3,47 @@ style "taffybar-default" { color["white"] = "#ffffff" color["green"] = "#00ff00" color["red"] = "#ff0000" + color["aqua"] = "#455a64" + color["yellow"] = "#fff59d" + color["gray"] = "#263238" - bg[NORMAL] = "#1c1f26" + bg[NORMAL] = @black fg[NORMAL] = @white text[NORMAL] = @white fg[PRELIGHT] = @green bg[PRELIGHT] = @black } -widget "Taffybar*" style "taffybar-default" -widget "*NotificationCloseButton" style "notification-button" +style "taffybar-active-window" = "taffybar-default" { + bg[NORMAL] = @black + fg[NORMAL] = @green +} + +style "taffybar-notification-button" = "taffybar-default" { + text[NORMAL] = @red + fg[NORMAL] = @red +} + +style "taffybar-workspace-border-active" = "taffybar-default" { + bg[NORMAL] = @aqua +} +style "taffybar-workspace-border-visible" = "taffybar-default" { + bg[NORMAL] = @gray +} +style "taffybar-workspace-border-empty" = "taffybar-default" { + bg[NORMAL] = @black +} +style "taffybar-workspace-border-hidden" = "taffybar-default" { + bg[NORMAL] = @black +} +style "taffybar-workspace-border-urgent" = "taffybar-default" { + bg[NORMAL] = @black +} + +widget "Taffybar*WindowSwitcher*label" style "taffybar-active-window" +widget "*NotificationCloseButton" style "taffybar-notification-button" +widget "*Workspace-*-active*" style "taffybar-workspace-border-active" +widget "*Workspace-*-visible*" style "taffybar-workspace-border-visible" +widget "*Workspace-*-empty*" style "taffybar-workspace-border-empty" +widget "*Workspace-*-hidden*" style "taffybar-workspace-border-hidden" +widget "*Workspace-*-urgent*" style "taffybar-workspace-border-urgent" From baae07daef470b231e4ffea7eaad24a3ccec5ff6 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 31 Jan 2017 23:20:01 -0800 Subject: [PATCH 13/13] [XMonad] Bump custom dependency shas --- dotfiles/xmonad/stack.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dotfiles/xmonad/stack.yaml b/dotfiles/xmonad/stack.yaml index 1453ae6c..add6b11c 100644 --- a/dotfiles/xmonad/stack.yaml +++ b/dotfiles/xmonad/stack.yaml @@ -2,18 +2,15 @@ flags: {} extra-package-dbs: [] packages: - '.' -- location: - git: git@github.com:xmonad/X11.git - commit: 0dbcb1891de8d44b3eba1200197f994a3aafabf4 - location: git: git@github.com:IvanMalison/xmonad.git commit: f2da028ff96698289a31a44bdbaea97c53aa01aa - location: git: git@github.com:IvanMalison/xmonad-contrib.git - commit: fb0ba737fb68a8d1a2f6e0dbe4d36c4e46ef7f56 + commit: f0feb9efd4f88b72674a165712c784ae9131197e - location: git: git@github.com:IvanMalison/taffybar.git - commit: 43195e7697d5b36f861d7febeabdd340b07edb17 + commit: 3570bdbd87a5464d7280d8750c5c153cf3dcc637 extra-deps: - X11-1.7 - X11-xft-0.3.1