Merge branch 'master' of github.com:IvanMalison/dotfiles
This commit is contained in:
commit
97866defac
@ -1,9 +1,10 @@
|
|||||||
import System.Taffybar
|
import System.Taffybar
|
||||||
|
|
||||||
|
import System.Taffybar.MPRIS2
|
||||||
|
import System.Taffybar.Pager
|
||||||
|
import System.Taffybar.SimpleClock
|
||||||
import System.Taffybar.Systray
|
import System.Taffybar.Systray
|
||||||
import System.Taffybar.TaffyPager
|
import System.Taffybar.TaffyPager
|
||||||
import System.Taffybar.SimpleClock
|
|
||||||
import System.Taffybar.MPRIS2
|
|
||||||
|
|
||||||
import System.Taffybar.Widgets.PollingGraph
|
import System.Taffybar.Widgets.PollingGraph
|
||||||
|
|
||||||
@ -28,7 +29,16 @@ main = do
|
|||||||
, graphLabel = Just "cpu"
|
, graphLabel = Just "cpu"
|
||||||
}
|
}
|
||||||
let clock = textClockNew Nothing "<span fgcolor='orange'>%a %b %_d %r</span>" 1
|
let clock = textClockNew Nothing "<span fgcolor='orange'>%a %b %_d %r</span>" 1
|
||||||
pager = taffyPagerNew defaultPagerConfig
|
pagerConfig = defaultPagerConfig
|
||||||
|
{ useImages = True
|
||||||
|
, emptyWorkspace = id
|
||||||
|
, imageCount = 8
|
||||||
|
, workspaceGap = 0
|
||||||
|
, activeWorkspace = escape
|
||||||
|
, visibleWorkspace = escape
|
||||||
|
, workspaceBorder = False
|
||||||
|
}
|
||||||
|
pager = taffyPagerNew pagerConfig
|
||||||
mpris = mpris2New
|
mpris = mpris2New
|
||||||
mem = pollingGraphNew memCfg 1 memCallback
|
mem = pollingGraphNew memCfg 1 memCallback
|
||||||
cpu = pollingGraphNew cpuCfg 0.5 cpuCallback
|
cpu = pollingGraphNew cpuCfg 0.5 cpuCallback
|
||||||
|
@ -3,13 +3,47 @@ style "taffybar-default" {
|
|||||||
color["white"] = "#ffffff"
|
color["white"] = "#ffffff"
|
||||||
color["green"] = "#00ff00"
|
color["green"] = "#00ff00"
|
||||||
color["red"] = "#ff0000"
|
color["red"] = "#ff0000"
|
||||||
|
color["aqua"] = "#455a64"
|
||||||
|
color["yellow"] = "#fff59d"
|
||||||
|
color["gray"] = "#263238"
|
||||||
|
|
||||||
bg[NORMAL] = "#1c1f26"
|
bg[NORMAL] = @black
|
||||||
fg[NORMAL] = @white
|
fg[NORMAL] = @white
|
||||||
text[NORMAL] = @white
|
text[NORMAL] = @white
|
||||||
fg[PRELIGHT] = @green
|
fg[PRELIGHT] = @green
|
||||||
bg[PRELIGHT] = @black
|
bg[PRELIGHT] = @black
|
||||||
}
|
}
|
||||||
|
|
||||||
widget "Taffybar*" style "taffybar-default"
|
style "taffybar-active-window" = "taffybar-default" {
|
||||||
widget "*NotificationCloseButton" style "notification-button"
|
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"
|
||||||
|
@ -746,6 +746,8 @@ This was taken from [[http://emacs.stackexchange.com/questions/7583/transiently-
|
|||||||
|
|
||||||
(cl-defun imalison:modify-font-size (&optional (arg 10))
|
(cl-defun imalison:modify-font-size (&optional (arg 10))
|
||||||
(interactive "p")
|
(interactive "p")
|
||||||
|
(unless imalison:default-font-size-pt
|
||||||
|
(imalison:set-default-font-size))
|
||||||
(imalison:set-font-size (+ (imalison:current-font-size) arg)))
|
(imalison:set-font-size (+ (imalison:current-font-size) arg)))
|
||||||
|
|
||||||
(defun imalison:font-size-incr ()
|
(defun imalison:font-size-incr ()
|
||||||
@ -1409,7 +1411,7 @@ proced is an top like utility that runs inside of emacs. The following sets auto
|
|||||||
inhibit-startup-echo-area-message t)
|
inhibit-startup-echo-area-message t)
|
||||||
|
|
||||||
;; This makes it so that emacs --daemon puts its files in ~/.emacs.d/server
|
;; 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.
|
;; Make buffer names unique.
|
||||||
(setq uniquify-buffer-name-style 'forward)
|
(setq uniquify-buffer-name-style 'forward)
|
||||||
@ -1629,6 +1631,8 @@ https://github.com/alpaker/Fill-Column-Indicator/issues/21 for more details
|
|||||||
(add-hook 'prog-mode-hook 'fci-mode)))
|
(add-hook 'prog-mode-hook 'fci-mode)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** highlight-indent-guides
|
** 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
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package highlight-indent-guides
|
(use-package highlight-indent-guides
|
||||||
:commands highlight-indent-guides-mode
|
:commands highlight-indent-guides-mode
|
||||||
@ -4854,8 +4858,6 @@ load-theme hook (See the heading below).
|
|||||||
(defun imalison:appearance (&optional frame)
|
(defun imalison:appearance (&optional frame)
|
||||||
(setq font-use-system-font nil)
|
(setq font-use-system-font nil)
|
||||||
(interactive (list nil))
|
(interactive (list nil))
|
||||||
(unless (member imalison:dark-theme custom-enabled-themes)
|
|
||||||
(load-theme imalison:dark-theme t))
|
|
||||||
(spaceline-compile)
|
(spaceline-compile)
|
||||||
(imalison:remove-fringe-and-hl-line-mode)
|
(imalison:remove-fringe-and-hl-line-mode)
|
||||||
(setq powerline-default-separator (random-choice '(butt slant wave))))
|
(setq powerline-default-separator (random-choice '(butt slant wave))))
|
||||||
@ -4866,6 +4868,8 @@ load-theme hook (See the heading below).
|
|||||||
|
|
||||||
(defun imalison:appearance-setup-hook (&rest args)
|
(defun imalison:appearance-setup-hook (&rest args)
|
||||||
(unless imalison:appearance-setup-done
|
(unless imalison:appearance-setup-done
|
||||||
|
(unless (member imalison:dark-theme custom-enabled-themes)
|
||||||
|
(load-theme imalison:dark-theme t))
|
||||||
(apply 'imalison:appearance args)
|
(apply 'imalison:appearance args)
|
||||||
(setq imalison:default-font-size-pt (face-attribute 'default :height))
|
(setq imalison:default-font-size-pt (face-attribute 'default :height))
|
||||||
(setq imalison:appearance-setup-done t)))
|
(setq imalison:appearance-setup-done t)))
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"keepassxc": "",
|
||||||
"Emacs": "",
|
"Emacs": "",
|
||||||
"Chrome": "",
|
"Chrome": "",
|
||||||
"Spotify": "",
|
"Spotify": "",
|
||||||
|
@ -2,18 +2,15 @@ flags: {}
|
|||||||
extra-package-dbs: []
|
extra-package-dbs: []
|
||||||
packages:
|
packages:
|
||||||
- '.'
|
- '.'
|
||||||
- location:
|
|
||||||
git: git@github.com:xmonad/X11.git
|
|
||||||
commit: 0dbcb1891de8d44b3eba1200197f994a3aafabf4
|
|
||||||
- location:
|
- location:
|
||||||
git: git@github.com:IvanMalison/xmonad.git
|
git: git@github.com:IvanMalison/xmonad.git
|
||||||
commit: 7e9c9ccb1f47c147ad19dc420361852623bd6199
|
commit: f2da028ff96698289a31a44bdbaea97c53aa01aa
|
||||||
- location:
|
- location:
|
||||||
git: git@github.com:IvanMalison/xmonad-contrib.git
|
git: git@github.com:IvanMalison/xmonad-contrib.git
|
||||||
commit: fb0ba737fb68a8d1a2f6e0dbe4d36c4e46ef7f56
|
commit: f0feb9efd4f88b72674a165712c784ae9131197e
|
||||||
- location:
|
- location:
|
||||||
git: git@github.com:IvanMalison/taffybar.git
|
git: git@github.com:IvanMalison/taffybar.git
|
||||||
commit: 43195e7697d5b36f861d7febeabdd340b07edb17
|
commit: 3570bdbd87a5464d7280d8750c5c153cf3dcc637
|
||||||
extra-deps:
|
extra-deps:
|
||||||
- X11-1.7
|
- X11-1.7
|
||||||
- X11-xft-0.3.1
|
- X11-xft-0.3.1
|
||||||
|
@ -27,7 +27,6 @@ import XMonad.Actions.Minimize
|
|||||||
import XMonad.Actions.UpdatePointer
|
import XMonad.Actions.UpdatePointer
|
||||||
import XMonad.Actions.WindowBringer
|
import XMonad.Actions.WindowBringer
|
||||||
import XMonad.Actions.WindowGo
|
import XMonad.Actions.WindowGo
|
||||||
import XMonad.Actions.WorkspaceNames
|
|
||||||
import XMonad.Config ()
|
import XMonad.Config ()
|
||||||
import XMonad.Hooks.EwmhDesktops
|
import XMonad.Hooks.EwmhDesktops
|
||||||
import XMonad.Hooks.FadeInactive
|
import XMonad.Hooks.FadeInactive
|
||||||
@ -57,11 +56,9 @@ import XMonad.Util.NamedScratchpad
|
|||||||
(NamedScratchpad(NS), nonFloating, namedScratchpadAction)
|
(NamedScratchpad(NS), nonFloating, namedScratchpadAction)
|
||||||
import XMonad.Util.NamedWindows (getName)
|
import XMonad.Util.NamedWindows (getName)
|
||||||
|
|
||||||
myGetWorkspaceNameFromTag getWSName tag =
|
|
||||||
printf "%s: %s " tag (fromMaybe "(Empty)" (getWSName tag))
|
|
||||||
|
|
||||||
main =
|
main =
|
||||||
xmonad . docks $ def
|
xmonad . docks . pagerHints . ewmh $
|
||||||
|
def
|
||||||
{ modMask = mod4Mask
|
{ modMask = mod4Mask
|
||||||
, terminal = "urxvt"
|
, terminal = "urxvt"
|
||||||
, manageHook = myManageHook <+> manageHook def
|
, manageHook = myManageHook <+> manageHook def
|
||||||
@ -70,13 +67,11 @@ main =
|
|||||||
, normalBorderColor = "#000000"
|
, normalBorderColor = "#000000"
|
||||||
, focusedBorderColor = "#455a64"
|
, focusedBorderColor = "#455a64"
|
||||||
, logHook =
|
, logHook =
|
||||||
updatePointer (0.5, 0.5) (0, 0) +++ toggleFadeInactiveLogHook 0.9 +++
|
updatePointer (0.5, 0.5) (0, 0) +++
|
||||||
ewmhWorkspaceNamesLogHook' myGetWorkspaceNameFromTag +++
|
toggleFadeInactiveLogHook 0.9
|
||||||
(myGetWorkspaceNameFromTag <$> getWorkspaceNames' >>= pagerHintsLogHookCustom)
|
, handleEventHook =
|
||||||
, handleEventHook = fullscreenEventHook +++
|
fullscreenEventHook +++ followIfNoMagicFocus +++ minimizeEventHook
|
||||||
ewmhDesktopsEventHook +++ pagerHintsEventHook +++
|
, startupHook = myStartup
|
||||||
followIfNoMagicFocus +++ minimizeEventHook
|
|
||||||
, startupHook = myStartup +++ ewmhWorkspaceNamesLogHook
|
|
||||||
, keys = customKeys (const []) addKeys
|
, keys = customKeys (const []) addKeys
|
||||||
}
|
}
|
||||||
where
|
where
|
||||||
@ -141,6 +136,7 @@ emacsSelector = className =? "Emacs"
|
|||||||
transmissionSelector = fmap (isPrefixOf "Transmission") title
|
transmissionSelector = fmap (isPrefixOf "Transmission") title
|
||||||
hangoutsSelector = chromeSelectorBase <&&> fmap isHangoutsTitle title
|
hangoutsSelector = chromeSelectorBase <&&> fmap isHangoutsTitle title
|
||||||
volumeSelector = className =? "Pavucontrol"
|
volumeSelector = className =? "Pavucontrol"
|
||||||
|
keepassSelector = className =? "keepassxc"
|
||||||
|
|
||||||
virtualClasses =
|
virtualClasses =
|
||||||
[ (hangoutsSelector, "Hangouts")
|
[ (hangoutsSelector, "Hangouts")
|
||||||
@ -154,9 +150,11 @@ hangoutsCommand = "start_hangouts.sh"
|
|||||||
spotifyCommand = "spotify"
|
spotifyCommand = "spotify"
|
||||||
chromeCommand = "google-chrome-stable"
|
chromeCommand = "google-chrome-stable"
|
||||||
emacsCommand = "emacsclient -c"
|
emacsCommand = "emacsclient -c"
|
||||||
htopCommnad = "urxvt -e htop"
|
htopCommand = "urxvt -e htop"
|
||||||
transmissionCommand = "transmission-gtk"
|
transmissionCommand = "transmission-gtk"
|
||||||
volumeCommand = "pavucontrol"
|
volumeCommand = "pavucontrol"
|
||||||
|
keepassCommand = "systemctl --user restart keepassx.service"
|
||||||
|
taffybarCommand = "restart_taffybar.sh"
|
||||||
|
|
||||||
-- Startup hook
|
-- Startup hook
|
||||||
|
|
||||||
@ -326,36 +324,6 @@ myBringWindow WindowBringerConfig { menuCommand = cmd
|
|||||||
, windows $ W.focusWindow window . bringWindow window
|
, 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
|
-- Toggleable fade
|
||||||
|
|
||||||
newtype ToggleFade a =
|
newtype ToggleFade a =
|
||||||
@ -572,10 +540,11 @@ swapMinimizeStateAfter action =
|
|||||||
-- Named Scratchpads
|
-- Named Scratchpads
|
||||||
|
|
||||||
scratchpads =
|
scratchpads =
|
||||||
[ NS "htop" htopCommnad (title =? "htop") nonFloating
|
[ NS "htop" htopCommand (title =? "htop") nonFloating
|
||||||
, NS "spotify" spotifyCommand spotifySelector nonFloating
|
, NS "spotify" spotifyCommand spotifySelector nonFloating
|
||||||
, NS "hangouts" hangoutsCommand hangoutsSelector nonFloating
|
, NS "hangouts" hangoutsCommand hangoutsSelector nonFloating
|
||||||
, NS "volume" volumeCommand volumeSelector nonFloating
|
, NS "volume" volumeCommand volumeSelector nonFloating
|
||||||
|
, NS "keepass" keepassCommand keepassSelector nonFloating
|
||||||
]
|
]
|
||||||
|
|
||||||
-- TODO: This doesnt work well with minimized windows
|
-- TODO: This doesnt work well with minimized windows
|
||||||
@ -639,6 +608,7 @@ addKeys conf@XConfig {modMask = modm} =
|
|||||||
, ((modalt, xK_v), doScratchpad "volume")
|
, ((modalt, xK_v), doScratchpad "volume")
|
||||||
, ((modalt, xK_h), doScratchpad "hangouts")
|
, ((modalt, xK_h), doScratchpad "hangouts")
|
||||||
, ((modalt, xK_s), doScratchpad "spotify")
|
, ((modalt, xK_s), doScratchpad "spotify")
|
||||||
|
, ((modalt, xK_k), doScratchpad "keepass")
|
||||||
, ((modalt .|. controlMask, xK_h),
|
, ((modalt .|. controlMask, xK_h),
|
||||||
myRaiseNextMaybe (spawn hangoutsCommand) hangoutsSelector)
|
myRaiseNextMaybe (spawn hangoutsCommand) hangoutsSelector)
|
||||||
, ((modalt .|. controlMask, xK_s),
|
, ((modalt .|. controlMask, xK_s),
|
||||||
@ -676,6 +646,7 @@ addKeys conf@XConfig {modMask = modm} =
|
|||||||
, ((modm, xK_z), shiftToNextScreenX)
|
, ((modm, xK_z), shiftToNextScreenX)
|
||||||
, ((modm .|. shiftMask, xK_z), shiftToEmptyNextScreen)
|
, ((modm .|. shiftMask, xK_z), shiftToEmptyNextScreen)
|
||||||
, ((modm .|. shiftMask, xK_h), shiftToEmptyAndView)
|
, ((modm .|. shiftMask, xK_h), shiftToEmptyAndView)
|
||||||
|
|
||||||
-- These need to be rebound to support boringWindows
|
-- These need to be rebound to support boringWindows
|
||||||
, ((modm, xK_j), focusDown)
|
, ((modm, xK_j), focusDown)
|
||||||
, ((modm, xK_k), focusUp)
|
, ((modm, xK_k), focusUp)
|
||||||
@ -693,8 +664,7 @@ addKeys conf@XConfig {modMask = modm} =
|
|||||||
|
|
||||||
-- Non-XMonad
|
-- Non-XMonad
|
||||||
|
|
||||||
, ((modm .|. controlMask, xK_t), spawn
|
, ((modm .|. controlMask, xK_t), spawn taffybarCommand)
|
||||||
"systemctl --user restart taffybar.service")
|
|
||||||
, ((modm, xK_v), spawn "copyq paste")
|
, ((modm, xK_v), spawn "copyq paste")
|
||||||
, ((modm .|. controlMask, xK_s), spawn "split_out.sh")
|
, ((modm .|. controlMask, xK_s), spawn "split_out.sh")
|
||||||
, ((mod3Mask, xK_v), spawn "copyq_rofi.sh")
|
, ((mod3Mask, xK_v), spawn "copyq_rofi.sh")
|
||||||
|
Loading…
Reference in New Issue
Block a user