[taffybar] Use separate config for each machine

This commit is contained in:
2019-02-13 10:10:40 -08:00
parent 06758ccff7
commit 32f99a2744
5 changed files with 135 additions and 11 deletions

View File

@@ -27,11 +27,13 @@ executable imalison-taffybar
, gtk-sni-tray
, gtk-strut
, haskell-gi-base
, hostname
, hslogger
, process
, split
, taffybar
, transformers
, xdg-basedir
, xmonad-contrib>=0.13
, xmonad>=0.13
default-language: Haskell2010

View File

@@ -21,14 +21,14 @@ extra-deps:
- X11-1.8
- X11-xft-0.3.1
- containers-0.5.11.0
- dbus-1.0.1
- dbus-1.2.1
- dbus-hslogger-0.1.0.1
- gi-cairo-connector-0.0.1
- gi-cairo-render-0.0.1
- gi-dbusmenu-0.4.1
- gi-dbusmenugtk3-0.4.1
- gi-gdk-3.0.15
- gi-gdkpixbuf-2.0.16
- gi-gdkpixbuf-2.0.18
- gi-gdkx11-3.0.4
- gi-gio-2.0.16
- gi-glib-2.0.17
@@ -44,7 +44,7 @@ extra-deps:
- libxml-sax-0.7.5
- rate-limit-1.4.1
- spool-0.1
- status-notifier-item-0.3.0.0
- status-notifier-item-0.3.0.1
- stm-2.5.0.0
- time-units-1.0.0
- xml-helpers-1.0.0

View File

@@ -11,7 +11,7 @@ import Data.List
import Data.List.Split
import qualified Data.Map as M
import Data.Maybe
import qualified GitHub.Auth as Auth
import Network.HostName
import StatusNotifier.Tray
import System.Directory
import System.Environment
@@ -30,6 +30,7 @@ import System.Taffybar.Information.CPU
import System.Taffybar.Information.EWMHDesktopInfo
import System.Taffybar.Information.Memory
import System.Taffybar.Information.X11DesktopInfo
import System.Environment.XDG.BaseDir
import System.Taffybar.SimpleConfig
import System.Taffybar.Util
import System.Taffybar.Widget
@@ -99,8 +100,16 @@ logDebug = do
workspacesLogger <- getLogger "System.Taffybar.Widget.Workspaces"
saveGlobalLogger $ setLevel WARNING workspacesLogger
cssFileByHostname =
[ ("uber-loaner", "uber-loaner.css")
, ("imalison-home", "taffybar.css")
]
main = do
hostName <- getHostName
homeDirectory <- getHomeDirectory
let cssFileName = lookup hostName cssFileByHostname
cssFilePath <- traverse (getUserConfigFile "taffybar") cssFileName
-- logDebug
-- logM "What" WARNING "Why"
-- enableLogger "System.Taffybar.Widget.Util" DEBUG
@@ -153,7 +162,8 @@ main = do
]
, barPosition = Top
, barPadding = 0
, barHeight = 45
, barHeight = 30
, cssPath = cssFilePath
}
simpleTaffyConfig = baseConfig
{ centerWidgets = map (>>= buildContentsBox) []
@@ -163,11 +173,6 @@ main = do
startTaffybar $
appendHook notifySystemD $
appendHook (void $ getHost False) $
withBatteryRefresh $
withLogServer $
withToggleServer $
toTaffyConfig simpleTaffyConfig
-- Local Variables:
-- flycheck-ghc-args: ("-Wno-missing-signatures")
-- End:

View File

@@ -0,0 +1,117 @@
@define-color transparent rgba(0.0, 0.0, 0.0, 0.0);
@define-color white #FFFFFF;
@define-color black #000000;
@define-color taffy-blue #0c7cd5;
@define-color active-window-color @white;
@define-color urgent-window-color @taffy-blue;
@define-color font-color @black;
@define-color menu-background-color @white;
@define-color menu-font-color @black;
/* Top level styling */
.taffy-window * {
font-family: "Noto Sans", sans-serif;
font-size: 10pt;
color: @font-color;
}
.taffy-box {
border-color: @white;
border-style: solid;
border-radius: 0px;
}
.inner-pad {
padding: 1px;
}
.contents {
padding: 1px;
transition: background-color .5s;
border-radius: 6px;
}
/* Workspaces styling */
.workspace-label {
padding-right: 3px;
padding-left: 2px;
font-size: 10pt;
}
.active .contents {
background-color: rgba(0.0, 0.0, 0.0, 0.2);
}
.visible .contents {
background-color: rgba(0.0, 0.0, 0.0, 0.2);
}
.window-icon-container {
transition: opacity .5s, box-shadow .5s;
opacity: 1;
border-radius: 5px;
transition: background-color 1s;
}
/* This gives space for the box-shadow (they look like underlines) that follow.
This will actually affect all widgets, (not just the workspace icons), but
that is what we want since we want the icons to look the same. */
.auto-size-image, .sni-tray {
padding: 1px;
}
.window-icon-container.active {
background-color: rgba(255.0, 255.0, 255.0, 0.3);
}
.window-icon-container.urgent {
}
.window-icon-container.inactive .window-icon {
padding: 0px;
}
.window-icon-container.minimized .window-icon {
opacity: .3;
}
.window-icon {
opacity: 1;
transition: opacity .5s;
}
/* Button styling */
button {
all: initial;
background-color: @transparent;
border-width: 0px;
border-radius: 0px;
}
button:checked, button:hover .Contents:hover {
box-shadow: inset 0 -3px @taffy-blue;
}
/* Menu styling */
/* The ".taffy-window" prefixed selectors are needed because if they aren't present,
the top level .Taffybar selector takes precedence */
.taffy-window menuitem *, menuitem * {
color: @menu-font-color;
}
.taffy-window menuitem, menuitem {
background-color: @menu-background-color;
}
.taffy-window menuitem:hover, menuitem:hover {
background-color: @taffy-blue;
}
.taffy-window menuitem:hover > label, menuitem:hover > label {
color: @white;
}