0      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV W X Y!Z![!\"]"^"_"`#a#b#c#d$e$f$g$h%i%j%k&l&m&n&o&p&q'r's't'u'v'w'x'y'z({(|(}(~(())))*********************++++++,,,,,,,,,----....////0000011112225.Allows to query information from an mpd serverongytestingLinuxNone9Haskell type for the data returned by MPDs status commandInformation about an song$Collection of tags MPD supports:-The current state of the MPD player submodule;Playing<Stopped=Paused>6A type safe socket for this module, basically a handle? Close the > when it is no longer required=Open one MPDSock connected to a host specified by one of the MPDInfoP or throw an exception (either ran out of hosts or something underlying failed)@ Get a new >A Get the raw  from the > for eventing apiBJSend a query to the MPD server and return a list of answers (line by line)sThis does not filter out errors, error checking has to be done by the user. This does filter out the last OK thoughC1Get the OK sent by mpd after idle out of the pipeD Go into MPDs idleY mode, this does return, but MPD wont time us out and will notify us if something happensE6Get the current status or an error from the MPD serverFNGet the information about the song currently beeing player from the MPD serverW  !"#$%&'()*+,-./0123456789:;<=>?@The host the server is onThe port the server listens onABCD=The string that should be send with idle (list of subsystems)EFF   !"#$%&'()*+,-./0123456789:<;=>?@ABCDEFF>:;<=$%&'()*+,-./0123456789 !"# EF@?ACDB   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF@Provides helper functions for output generators that use unicodeongytestingLinuxSafeO*Unicode block char for vertical bar (in %)P6Horizontalblock char for horizontal bar (in % of char)OPOPOPOPLowlevel IP interfacesongy experimentalLinuxNoneQ%AddressFamilies support for librariesU/Datatype for IP addresses, abstracts over v4/v6XIPv6 addressesYIPv4 addressesZParse an IP4 from a String[SRead an IP from a ByteString. The type is determined by the size of the ByteString.\YGet the number associated with the family address. This is for interfacing with libraries]-Get the address family for a given ip addressQRSTUVWXYZ[\]^_`ab QSTRUVWXYZ[\] UVWYXZ[\QRST]QRSTUVWXYZ[\]^_`ab IP information collection moduleongy experimentalLinuxNoneLf8Handle to access information about the IPs on the systemg>Get an IPHandle to gather information about IPs on the system.hEGet all addresses on the system (filtered by interface and type, see g)i Get the raw H used by this handle. This can be used to block in RTS controlled mannerjWSubscribe to the multicast group(s) for this handle. This has to be called ONCE before k can be used.k"Handle the next event from NetlinkWThis will handle the next event reported by the handle. Before this ever does anything jp has to be called ONCE! This function can then be called as often as needed and should be called in a main loop.The functions passed may be called multiple times, and sometimes both may be called. This is a limitation by the netlink api, that cannot be avoided without user space buffers. fgThe interface to monitorThe AddressFamily to usehijkThe handle to use&Function to call with new ip addresses'Function to call with removed addresses QSTRUVWfghijk fghQRSTUVWijk fghijkGives access to wifi statusongy experimentalLinuxNonel#Wifi network connection informations Signal type: Ahttp://lxr.free-electrons.com/source/net/wireless/nl80211.c#L6944t Signal MBMuStrength 0-100 4http://lxr.mein.io/source/iwinfo/api/nl80211.h#L3388vEnum for connection changew-Nothing changed, connection unrelated messagex#The current network was disconnectdy A new connection was establishedzThe socket type for this module{The interface identifierConvert raw values from netlink"Get WifiStats from netlink message|3Get the stats of a currently connected wifi network}1Get only the name of the currently connected wifi~Get the interface id by nameget the raw fd for eventing.This should be called when the fd returned by  got readableSubscribe to multicast groupMGet a netlink socket bound to nl80211 Before this is used event based, call lmnopqrstuvwxyz{|}~lmnopqrstuvwxyz{|}~}|~{zstulmnopqrvwxylmnopqrstuvwxyz{|}~(Allows the user to get a connected stateongy experimentalLinuxNone[!The handle exposed by this module*The Haskell type for the C struct sockaddrRaw socket calls, we node those/Get the current connected state from the handle&Get a handle to check for connectivity(The Host to use for connectivity probing7Which port to use for connecivity probing (drop is bad) Provides utility functions ongy, moepitestingLinuxSafe9;7type alias to distinguish system functions from utility Find a line in a list of Strings7Read the first line of the file and convert it into an ARead the first line of the file and convert the words in it into sRead the first line of the file"Read a File as String line by line&Read a File as ByteString line by line>Rewind the file descriptor and read the complete file as linesopen a file read onlyClose a file opened by !Split ys at every occurence of xs6fmap fopen would give Maybe (IO File), this fixes that.0 save divide, uses maxbound for default value!0 save divide, uses default value 77DAllows access to information about a battery connected to the systemongytestingLinuxSafe #Datatype to represent battery state"The handle exported by this module&Internal function for getCurrentStatus-Get the current state of the battery (loadingdrainingfull)%Internal function for getcurrentLevel.Get the charge left in the battery in percent.!Internal function for getTimeLeft#Get current loading speed in Watt/sEGet an approximated amount of seconds left until the battery runs out2Create a power handle that uses the power_now file3Create a power handle that uses the charge_now file Create a Version which defaults to BAT0     7The name of the wall socket adapter used by the batteryThe name of the battery       7Allows access to information about they systems networkongytestingLinuxSafe 2Internal handle represanting exactly one interfaceCurrent state of network deviceIt is down, consider offIt is up, consider on(Unknown, kernel docu says to consider onDormant, consider off1Get the current network adapter state from kernelaGet the (read, write) rate of the network interface. This is averaged over the time between callsGet a LClose a network handle after it is no longer needed (the device disappeared) Name of the interface to monitor  7Allows access to information about they systems networkongytestingLinuxNone9;1The actual handel exposed and used by this moduleJThe map we keep our handles in (the Int is the Interface ID on the system)5A Wrapper than also carries the name, for comparisionThe fold function used for  handling the IO and Maybe stuffYGet the sum of all read/write rates from our network devices or Nothing if none is active,Logic for adding a new device to our HandlesDLogic for removing a handle form Handles after we lost the interface 4The packet used to drump all current network devices!'Read the interface name and index from "#*Get all current interfaces from our system$Get the # wrapper for all current interfaces%;Handle an incomming rtneltink message and update the handle&EUpdater loop, it blocks on the netlink socker until it gets a message'4Start the update loop for adding/removing interfacesAGet the new handle this module exports and start its updater loop( !#$%&'Will be given the name of the handle, only add interface if this returns true (think of it as filter over all possible interfaces)( !#$%&' #Provides the common disk interfacesmoepi experimentalLinuxSafeAT Existential datatype to wrap  instances>Type class that should be instanciated by file system handlersThe Monky.Disk module is designed to work with different handlers specialized for different file systems and a generic block device handler.WThis typeclass gives the interface a file system handler has to implement to be usable.%Get the bytes free on the file system%Get the total size of the file system%Get the bytes used by the file system9Get all data, might be more efficient (Size, Free, Used)Wrap a  into an ,The base path of block devices on the system5Get the physical block devices supporting some deviceAGet the "top most" virtual device(s) based on the physical device  /Allows access to information about a btrfs poolongy experimentalLinuxSafe"The FsInfo exported by this moduleZGet the block devices used by a btrfs FileSystem. This resolves mappers as far as possible)Try to create a btfshanlde given the UUIDThis will create a _ which is an instance of FsInfo and a list of block devices that are slaves of our file system.This allows the upper layer to monitor the read/write rates of all block devices that belong to our file system and report them as read/write rate for the file system.Due to compression and encryption the read/write rate on the block device may be quite different to the one that application see. )*+,-.&The UUID of the file system to monitor )*+,-.3EThis module provides a template haskell splice for including librarys ongy, moepitestingLinuxNone/Import a library0123456789:;<=>?@/!The name of the library data typeThe name of the library7The functions in the library (Name, CName, Declaration)ABC/0123456789:;<=>?@/ 7Allows acces to information about the alsa sound systemongytestingLinuxNone "The handle exported by this moduleUpdate the volume handle.This function has to be called to update the handle internally. Calling this will get the current state into the handle, which can then by queried by the other functions. Until this is called again, the results of other functions will not update to the current state of the system."Get the raw volume value from alsa4Get the volume in percent (100% = loudest 0%=lowest)!0% does not equal a muted device.return D if the device is muted/Check if there was an error creating the handle!Get PollFds for polling interface.Close the mixer handle and unload alsa library Create an HThis function returns a type save error value if any alsa function failsKEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~The audio-card to use 6EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Minimal access to liblkidongy experimentalLinuxNoneVersion to reuse the LibBlkidversion to reuse the LibBlkidEvaluate a tagEvaluate a spec1Execute an IO action with an instance of LibBlkid 7Allows access to information about generic block deviceongy experimentalLinuxNone)The FsInfo handle exported by this module"Get "the" mountpoint of a device. Returns a mointpoint of a device. If there are multiple mountpoints, this will return the first one found. First one is mostly determined by order in procFmounts and should be the one that was mounted first (time since boot).Get a fs handle for normal devices0This uses fsStat to get file system information.TfsStat takes the mount point of the file system, so we need to find the mount point.MIn case of mapper devices, this is done by going through the chain of slaves.44The TemplateHaskell splice required by Monky.VersionongytestingLinuxNoneBGet the version string from monky.cabal and convert it to a 4tupel>The current version of the package, this updates from monky.hsongytestingLinuxNoneThe current version as 4tupel7Allows access to information about they systems networkongytestingLinuxSafe"The handle exported by this moduleLGet the read/write rate of the first interface in the list that is connected4The value will be a tuple (Read, Write) in bit/s or  if no network is connected. Create a  for the list of networksWA list of interface names, the display order will be the same as the order in this list;Allows to access information about they systems main memoryongytestingLinuxSafe(The memory handle used for all functions(Return the memory available to userspaceyThis is accurate (read from kernel) for current kernels. Old kernel (~3.13) estimates this. Old kernels may overestimate.,Get the total amount of memory in the system6Get the amount of memory rported as free by the kernel9Get the amount of memory used by the kernel and processesPGet memory statistics in one got (with only one read) (total, avail, free, used)Get a memory handle  2Allows access to information about the systems cpuongytestingLinuxNone-Which values should be returned by getCPUFreq"Use the maximum frequencie allowedUse the current frequencie used%Don't open any files for scaling typeNuma aware version of The handle for cpu frequencyThe handle for themperature"The handle exported by this module%Check if thermal zone is x86_pkg_tempTry to guess the thermal zones-Tries to guess the thermal zone based on type1Calcualate the work done by the cores (all, work)3Get the cpu usage in percent for each (virtual) cpuRead node informationget current CPU temperature0This function returns a frequency according the  of the handle.OThe returned valued will be the max of all (virtual) proceessors on the system.Get a frequency handle by type?Get a frequency handle limited to the cpus the numa handle usesSRaw-ish access to numa handle, this can be (ab)used to make your own filter on cpus Create an Get the CPUs thermal zoneHGet the CPUs thermal zones, will be same order as numa nodes (hopefully)Get the Numa aware handle-/CPU "names" to include ([cpu0, cpu1, cpu2, ..])$!Allows access to read system timeongytestingLinuxSafe#The handle exported by this module.7Get the current time in the format given to the handle.>Get the current time (HH:MM) format for the current time zone.Get a handle for this module#The format that should be used for  in strftime formatThe module definition used by  startLoop ongy, moepi experimentalLinuxNoneATWrapper around  and + so we can pass all modules in one list to  startLoop7A wrapper around EvtModule for so they can be in a listAA wrapper around module instances so they can be put into a list.The class for eventing modulesNStart your own event loop. The second argument is the consumer of your output.ODoing this in an opaque way gives a way to chain actions to your event handlingThe New class for collection modulesGet the current (new) output.Class that output converters have to implementACreate one tick of output from a list of collection module output*A data type to encode general output types Plaintext output A Vertical bar, in % A horizontal bar, in pixel Temporary (FG,BG) Color format (and somewhat image) are not fix yet, so don't rely on them to much /Colorize the enclosed output TODO: Color format MPath to an image to display (for icons), or Unicode glyph that should be used)Function to make packaging modules easier for s      The refresh rate for this module*The function to get a module (get??Handle)'The packed module ready to be given to  startLoop                The main module for monky ongy, moepitestingLinuxNone=Packs a module into a wrapper with an IORef for cached outputHStart the mainLoop of monky. This should be the return type of your mainPrepend something to a moduleongytestinglinuxNoneAT append type prepend typeEThe handle used by this module, contains underlying module and stringEThe handle used by this module, contains underlying module and string9Create a module that should be prepended with some stringGThis allows you to prepend an instance of a module with a fixed String.For usage look at .8Create a module that should be appended with some stringFThis allows you to append an instance of a module with a fixed String.For usage look at . for s for sThe String to prepend The refresh rate for this moduleThe function to get the moduleThe returned handleThe String to prepend The refresh rate for this moduleThe function to get the moduleThe returned handle !"#    !"#Simple Connectivity exampleongytestingLinuxNoneAT$The handle type for this module%=Get a handle that allows testing for connectivity to a server$%(The Host to use for connectivity probing7Which port to use for connecivity probing (drop is bad)&$%%$$%&*Display the first line in a file each tickongytestingLinuxNone'The handle type for this module(Get the file handle'(Path to the file)'('('()5Provides utility functions for module implementationsongytestingLinuxNone*%Utility Function for eventing modules+,Convert a number into a fixed length strings,9Convert a number into a reasonable scale for binary units-5Convert a number into a reasonable scale for SI units*Some kind of module handleThe FD to block onThe update consume function#The function to generate the outputThis will loop for you+,-*+,-*+,-*+,-1An example module instance for the network moduleongytestingLinuxNone9;.2HAndle for a staticly configured network interface/#Handle for dynamic network handling0Actually get the network handle1+Get a handle for a static network interface2IGet a handle that will update with new or disappearing network interfaces./02The string to use when the network is disconnectedThe Network adapters to monitor1.The string to use when network is disconnectedName of the network interface2.The string to use when network is disconnected*The filter function for the dynamic handle345./012012/. ./012345.An example module instance for the wifi moduleongy experimentalLinuxNoneT 6%A typesafe version of a format string7"Print the current networks channel8EPrint the current network max supported rate (always 54Mbit/s for me)9HPrint the ESSID of the current network, may look weird because SSIDs are:EPrint the frequency the current network sends on (related to channel);Print link quality (0-100)<Print a plaintext string=The handle type for this module=Do the calculation for MBM This is taken from NetworkManager>Get a wifi handle6789:;<=>Format String for output generation7Text that should be displayed when wifi is disconnectedName of the interface?@ 6789:;<=> >=6789:;< 6789:;<=>?@7Combine multiple modules into one (to avoid seperators)ongytestinglinuxNone9;ATA#Wrapper type for mixed combination.B#Wrapper type for mixed combination.CWrapper type for sDWrapper type for sE Combine two 3s. The first arguments output will be printed firstF Combine two ,s. The first argument will be printed first.G Combine a  with a . This will alwasy create a J. |Event updates will not be displayed until the poll modules ticks once.HLook at G for documentationABCDEFGHIJKLABCDEFGHDECFBGAH ABCDEFGHIJKLPrint some constant valuesongytestinglinuxNoneMThe type for this functionalityOGet a M for familiar syntaxMNOPQMNOMNOMNOPQOutput module for dzen2ongytestingLinuxNoneR The output handle for dzen2 pipeS)Get an output handle for dzen2 formattingTPGet the output handle for dzen2 formatting. Will asume your .xbm files are |in  monkydirxbmRSAThe height of your dzen bar in pixel (required for block-drawing)2Path to the directory cointaining your .xbm files.T8The height of your dzen bar in pixel (for block drawing)URSTRSTRSTU Output module for AsciiongytestingLinuxNoneV"The output handle for a ascii pipeW)Get an output handle for ascii formattingVWXVWVWVWX!Output module for utf8ongytestingLinuxNoneY!The output handle for a utf8 pipeZ(Get an output handle for utf8 formattingYZ[YZYZYZ["Output module for storingongytestingLinuxNone\)The output handle for using show instance^(Get an output handle for show formatting\]^_\]^^\]\]^_#&Output module for doing a "best guess"ongytestingLinuxNoneAT`(The datatype for wrapping outher outputsaMLowerlevel access to guess which terminal out to use based on system encodingb=Wrapper for normal outputs that tries to find the best outputjThis function will check if stdout is a terminal and switch to AsciiOut or UTf8Out depending on the locale`ab'The output to use for non-terminal modec`ab`ba`abc$Output module for storingongytestingLinuxNoned)The output handle for using show instancef(Get an output handle for show formattingdefgdeffdedefg%Output module for i3-barongytestingLinuxNonehOutput handle for i3-bariNGet output handle for i3-bar. This initializes the communication on generationhijhihihij&2Guess the output that should be used based on pipeongytestingLinuxNoneATkType wrapper for this to workl<Guess output based on isatty and other side of the stdout fdkl Dzen height Dzen xbm pathmkllk klm'/Monky module that modifies other modules outputongytestingLinuxNoneq'Handle for modifying output in IO monadr3Handle for duing pure modification of module outputs4Get a handle to purely modify another modules outputtCGet a handle that can modify another handles output in the IO monaduvChange the replacemant char in an monky image (if your font doesn't support it), returns initial value if not an image qrstuvwxyqrstursqtu qrstuvwxy(Exports  s that can/should be used.ongytestingLinuxNonez0MonkyImage for disk (primary persistent storage){(MonkyImage for memory (RAM (it's a ram))|-MonkyImage for time with custom image support}MonkyImage for time (clock)~4MonkyImage with custom image support (loadding etc.)MonkyImage to be used for CPUz{|}~z{|}~z{|}~z{|}~)1An example module instance for the battery module ongy, moepitestingLinuxNoneThe handle type for this module Create a  Version of  that defaults to BAT07The name of the wall socket adapter used by the batteryThe name of the battery*-An example module instance for the cpu moduleongytestingLinuxNone2The handle type for the default setup (numa aware)%The handle type for the default setup(Handle to acces thermal zone information*Handle to access cpu frequency information(Numa aware handle to get cpu usage stats!Handle to get the cpu usage stats)Get a handle to access max node frequencyNuma away version of Get the ) for the system (tries to guess CPU zone)Get a f for each cpu termal zone on the system. will be infinite list, with invalidated zones for convinienceGet a  for the specified thermal zoneGet a raw CPU handleGet raw numa aware cpu handlesGet a FThis is a shiny combination of the raw handles exported by this moduleSame as $ but tries to guess the thermal zoneNuma aware version of Same as $ but tries to guess the thermal zone$5The type of scaling frequency that should be reportedThe thermal zone of the cpu5The type of scaling frequency that should be reported,A list of thermal zones for our numa handles+.An example module instance for the time module ongy, moepitestingLinuxNoneLike ) but uses a fancy variant of clock images Handle for accessing system timeGet a Get a  #The format that should be used for  in strftime format#The format that should be used for  in strftime format,0An example module instance for the memory module ongy, moepitestingLinuxNone0Handle to display the current memory usage (usedcachesfree) as horizontal bar,Simple handle to display current free memory1Simple handle to display current memory available%Get the the memory handle (available) Get the the memory handle (free)Get the 2A factor to modify bar length. Total-length: 100/f   --An example module instance for the MPD moduleongytestingLinuxNone/The handle for this exampleGet an 1 (server has to be running when this is executed)     The host to connect toThe port to connect to     .,An example of how to use the ibus-hs packageongytestingLinuxNoneThe handle type for this module Get an IBusH used by this module>A mapping from engine names to display names for those engines The handle that can be given to pack/.An example module instance for the alsa moduleongytestingLinuxNoneThe handle type for this moduleFGet a handle which allows access to audio (alsa) subsystem informationThe audio-card to use5@Proxy module for backwards compat. See Monky.Examples.Sound.AlsaongytestingLinuxNone0+Integration example for pulseaudio library.ongy experimentalLinuxNoneLPulse handle. This module uses continuations, the handle is not really used)Format a given sink to the output string.:Start the subscription loop that will give us the updates.JUse the name (string) to find the index, print once and find the main loop,Get the default sink and start the main loop'Try to start pulse loop. silently fail!GConnect to pulse server and try to start the main loop for this module.%Get the handle for pulse integration. $The continuation if everything fails!Sink to use (Nothing for default)Output function6The servername (Nothing will use environment variable) 1/Allows access to information about a btrfs poolmoepi experimentalLinuxNoneeThe handle xported by this module A disk may have multiple physical devices so we use lists for them3Get the read write rates from the disk (in bytes/s)Get the space left on the diskGet the disk handle2.An example module instance for the disk modulemoepitestingLinuxNoneThe handle type for this moduleGet a disk handleIThe UUID of the device to monitor. It has to be mounted at monky startup!67899:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~               !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~   !!!""""####$$$$%%%&&&&&&'''''''''(((((())))*****"*#******$**'*******+++++++,,,,,,,,,----....////000001111222s      !"#$%&'()*+, - . / 0 1  2 3 4 5 6 7 8 9 : ; < = >?@A B  C D E 9 F G H I J K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]^_^`^ab c d e f g h i j k l m n o p q r s s t u v w x y z { | } ~                                    tI4V   !!!#%%%%%&&&&&&&&&&&&'')))************* * * + ++ ,,,,,,------..///00E00011H11 2!$monky-2.1.0.0-4EpBsuPARPJ9PAJJogtTUL Monky.Utility Monky.MPDMonky.Outputs.Unicode Monky.IP.RawMonky.IP Monky.WifiMonky.Connectivity Monky.BatteryMonky.Network.StaticMonky.Network.DynamicMonky.Disk.CommonMonky.Disk.Btrfs Monky.Alsa Monky.BlkidMonky.Disk.Device Monky.Version Monky.Network Monky.Memory Monky.CPU Monky.Time Monky.ModulesMonkyMonky.Examples.PrependMonky.Examples.ConnectivityMonky.Examples.FileMonky.Examples.UtilityMonky.Examples.NetworkMonky.Examples.WifiMonky.Examples.CombineMonky.Examples.PlainMonky.Outputs.Dzen2Monky.Outputs.AsciiMonky.Outputs.Utf8Monky.Outputs.ShowMonky.Outputs.FallbackMonky.Outputs.SerializeMonky.Outputs.I3Monky.Outputs.GuessMonky.Examples.ModifyMonky.Examples.ImagesMonky.Examples.BatteryMonky.Examples.CPUMonky.Examples.TimeMonky.Examples.MemoryMonky.Examples.MPDMonky.Examples.IBusMonky.Examples.Sound.AlsaMonky.Examples.Sound.Pulse Monky.DiskMonky.Examples.DiskMonky.TemplateMonky.VersionTHMonky.Examples.Alsadirectory-1.2.6.2System.Directory listDirectoryStatusvolumerepeatsrandomsingleconsumeplaylistplaylistLengthstate mixrAmpdbxfade mixrAmpDelaysongsongIdnextSong nextSongIdtimeelapsedbitratedurationaudioupdatingmpderrorSongInfosongFile songRange songMTimesongTime songDurationsongTagssongPos songInfoId songPriority TagCollection tagArtist tagArtistSorttagAlbum tagAlbumSorttagAlbumArtisttagAlbumArtistSorttagTitletagTracktagNametagGenretagDate tagComposer tagPerformer tagCommenttagDisc tagMArtistid tagMAlbumidtagMAlbumArtistid tagMTrackidtagMReleaseTrackidStatePlayingStoppedPaused MPDSocketcloseMPDSocket getMPDSocketgetMPDFddoQueryreadOkgoIdle getMPDStatus getMPDSong $fShowState $fEqState$fShowTagCollection$fEqTagCollection$fShowSongInfo $fEqSongInfo $fShowStatus $fEqStatusbarCharhBarChar AddressFamily AF_UNSPECAF_INETAF_INET6IPIPv4IPv6IP6IP4parseIPipFromBS familyToNum getAddrFamily $fShowIP4 $fShowIP6$fShowIP $fStorableIP6 $fStorableIP4$fEqIP4$fEqIP6$fEqIPIPHandle getSocket getAddressesgetRawFdsubscribeToEvents handleNext WifiStats wifiChannel wifiRateswifiNamewifiFreqwifiSigSignalSigMBM SigUNSPECWifiConnWifiNoneWifiDisconnect WifiConnect SSIDSocket InterfacegetCurrentWifiStatsgetCurrentWifi getInterface getWifiFd gotReadable prepareEvents getSSIDSocket ConnHandlehasConngetConnH$fStorableSockaddr$fEqPort $fShowPort $fEqSockaddr$fShowSockaddrFilefindLine readValue readValuesreadLine readContentfopenfclose splitAtEvery maybeOpenFile sdivBound sdivUBound$fFileReadableByteString$fFileReadable[]$fLineReadableByteString$fLineReadable[] $fShowFile$fEqFile BatteryStateBatFull BatLoading BatDraining BatteryHandlegetCurrentStatusgetCurrentLevel getLoading getTimeLeftgetBatteryHandlegetBatteryHandle'$fShowFilesArray NetworkHandle getReadWritegetNetworkHandlecloseNetworkHandleUHandlesHandlesgetMultiReadWrite getUHandles$fShowNetHandleFSIFsInfo getFsFree getFsSize getFsUsedgetFsAllfsToFSI blBasePath mapperToDev devToMapper BtrfsHandle getFSDevicesgetBtrfsHandle$fFsInfoBtrfsHandle$fStorablePollFD VOLHandle updateVOLH getVolumeRawgetVolumePercentgetMuteisLoaded getPollFDsdestroyVOLHandle getVOLHandle evaluateTag' evaluateSpec' evaluateTag evaluateSpec withLibBlkid BlockHandleBlockH devToMountgetBlockHandle$fFsInfoBlockHandle getVersionNetworkHandlesgetReadWriteMultigetNetworkHandles MemoryHandlegetMemoryAvailablegetMemoryTotal getMemoryFree getMemoryUsedgetMemoryStatsgetMemoryHandle ScalingType ScalingMax ScalingCur ScalingNone NumaHandlenumaCpus numaHandle FreqHandle TempHandle CPUHandleguessThermalZone getCPUPercentgetNumaPercent getCPUTempgetCPUMaxScalingFreq getFreqHandle getFreqNuma getCPUHandlegetThermalZonegetThermalZonesgetNumaHandles TimeHandlegetTimegetHM getTimeHandleModulesPollEvt EvtModulesDW PollModulesNMW EvtModule startEvtLoop PollModule getOutput initialize MonkyOutputdoLineMonkyOut MonkyPlainMonkyBar MonkyHBar MonkyColor MonkyImagepollPackevtPack$fSerializeMonkyOut$fShowMonkyOut$fReadMonkyOut startLoop EvtPostHandleEvtPost EvtPrepHandleEvtPrep PostHandlePost PrepHandlePrep packPrepend packAppend evtPrepend evtAppend$fEvtModuleEvtPostHandle$fEvtModuleEvtPrepHandle$fPollModulePostHandle$fPollModulePrepHandleConn$fPollModuleConn FileHandle getFileHandle$fPollModuleFileHandleloopFd convertUnit convertUnitB convertUnitSINetworkStaticHandleNetworkDynHandlegetNetworkHandles'getStaticHandlegetDynamicHandle$fPollModuleNetworkStaticHandle$fPollModuleNetworkHandles'$fPollModuleNetworkDynHandle WifiFormat FormatChannel FormatRates FormatName FormatFreq FormatSignal FormatText WifiHandle getWifiHandle$fPollModuleWifiHandle$fEvtModuleWifiHandlePECombiEPCombiEvtCombi CombiHandlecombinecombineEcombineFcombineD$fPollModulePECombi$fPollModuleEPCombi$fEvtModuleEvtCombi$fPollModuleCombiHandle MonkyListgetPlain$fEvtModuleMonkyList$fPollModuleMonkyList DzenOutput getDzenOut getDzenOut'$fMonkyOutputDzenOutput AsciiOutput getAsciiOut$fMonkyOutputAsciiOutput Utf8Output getUtf8Out$fMonkyOutputUtf8Output ShowOutput getShowOut$fMonkyOutputShowOutputWrapOutschooseTerminalOutgetFallbackOut$fMonkyOutputWrapOutsSerializeOutputgetSerializeOut$fMonkyOutputSerializeOutputI3Output getI3Output$fMonkyOutputI3OutputGuessOut guessOutput$fMonkyOutputGuessOut $fEqOutput $fOrdOutput $fShowOutputIOModifyHandle ModifyHandlegetModifyHandlegetIOModifyHandle changeImage$fEvtModuleIOModifyHandle$fPollModuleIOModifyHandle$fEvtModuleModifyHandle$fPollModuleModifyHandle diskImage memoryImagefancyTimeImage timeImage batteryImagecpuImageBatteryH$fPollModuleBatteryHgetTempHandle'getTempHandles getTempHandle getRawCPU getRawNumas getCPUHandle'getNumaHandles'$fPollModuleNumaHandle$fPollModuleCPUHandle$fPollModuleTempHandle$fPollModuleFreqHandle$fPollModuleRawNuma$fPollModuleRawCPUFTHandleTHandlegetFancyTimeHandle$fPollModuleFTHandle$fPollModuleTHandleMBHandleMFHandleMHandlegetMemoryFreeHandlegetMemoryBarHandle$fPollModuleMBHandle$fPollModuleMFHandle$fPollModuleMHandle MPDHandle getMPDHandle$fEvtModuleMPDHandle$fPollModuleMPDHandleIBusHgetIBusH$fEvtModuleIBusH$fPollModuleIBusHAlsaH$fEvtModuleAlsaH$fPollModuleAlsaHPulseH startPulsestartPulseMaybegetPulseHandle$fEvtModulePulseH DiskHandlegetDiskReadWrite getDiskFree getDiskHandleDiskH$fPollModuleDiskH openMPDSocketbaseSystem.Posix.TypesFdMPDSockreadText rethrowSExcpt trySExcptrecoverableCon tryConnect doMPDConnInit recvMessage sendMessage getAudioTuplegetStateparseStatusRecparseSongInfoRec parseStatus parseSongInfomemcpyhtonlntohlc_ntopc_ptonshowIPIOshowIP parseIPIO showIP6IOshowIP6cRTNLGRP_IPV4_IFADDRcRTNLGRP_IPV6_IFADDR linkQuerygetInterfaceID addressQuery getSignal attrToStatuDecode uGetWord32 getBssAttrsPortc_socketConnHSockaddrSockahtons c_connectc_closetryConn updateLoopghc-prim GHC.TypesIntreadStringLines readBSLines FileReadablehGetFile LineReadable hGetReadablegetCurrentStatusIntgetCurrentLevelIntgetTimeLeftIntcreatePowerNowHandlecreateChargeNowHandle FilesArrayPowerNow ChargeNowBatHpnowPathenowPath efullPathvnowPathcnowPathcavgPath chnowPath chfullPathadpPathgetCurrentStatusMNetStateDownUpUnknownDormantNetHbasePathreadPath writePath statePathcalculateRatesgetReadWriteReal NetHandlefoldFgotNewlostOld requestPacket readInterface&netlink-1.0.0.4-G7xpNluaEvmKIYt2gVJqZUSystem.Linux.Netlink.Route RoutePacketgetCurrentDevsdoUpdate updaterLoopupdaterBtrfsH fsBasePath sectorSizegetSizegetUsedgetBtrfsHandle' importLib monkyStrictltrimrtrimtrim prepareFungetNamegetType applyArrows mkFunDesc cleanName transNamegetFunQmkRet mkGetHandlemkGetFun mkTransformer mkDestroyFunGHC.PtrPtrFunPtr castFunPtrTrue ElemHandleElemSidHandleAlloc SidHandleSidMixerHandleAlloc MixerHandleMixerMClassRegOpt PollFDPtrPollFDPOLLFD liftExceptTVOLHErrLibAlsarawDL mixer_open mixer_attachmixer_register mixer_load sid_sindex sid_sname sid_allocsid_free elem_gvrange elem_gvol elem_gmute elem_findmixer_handle_events get_pdescs get_pdescc mixer_closemkFunMixerHandleIOInt#mkFunMixerHandlePollFDPtrCIntIOCIntmkFunMixerHandleIOvoid%mkFunMixerHandleSidHandleIOElemHandle mkFunElemHandleCIntPtrCIntIOCInt#mkFunElemHandlePtrCIntPtrCIntIOCIntmkFunSidHandleIOvoidmkFunSidHandleAllocIOCIntmkFunSidHandleCStringIOvoidmkFunSidHandleCIntIOvoidmkFunMixerHandleIOCInt(mkFunMixerHandlePtrRegOptPtrMClassIOCIntmkFunMixerHandleCStringIOCIntmkFunMixerHandleAllocIntIOCIntdestroyLibAlsa getLibAlsa getPollDescs openMixer mixerAttach mixerRegister mixerLoadwithSidsidSetgetElemisMutegetVolumeRange getVolumegetMixerHandle percentizegetVOLHandleIntCacheLibBlkidc_evtc_evsmkFunCStringPtrCacheIOCString$mkFunCStringCStringPtrCacheIOCStringdestroyLibBlkid getLibBlkidgetAndFreeStringmaybeGetStringgetFreegetBlockHandle' versionTHGHC.BaseNothingNetHsgetMultiReadWriteIntMemoryHpathgetVal isX86PkgTempguessThermalZones calculateWork getNumaHandleFHTHCPUHpathStat pathCPUBase thermalBasePpathTemppathMaxScalingpathCurScaling pathNumaBasegetCPUFreqsCurgetCPUFreqsMaxcalculatePercentreadVals getPercentgetMax getCPUFreqsgetCPUs getHandleTimeHdoTimepackMod ModuleWrapperMWrappergetWrapperText doMonkyLinemainLoopshowCongetFile convertUnitTSHDHNetworkHandles'NH'formatNNetworkTextgetNNetworkTextgetNDNetworkTextdoMBMWHgetFun getFunction doStrengthgetEventOutputPEEPECCdoOut doSegmentWOi3FullgetOut outputLineGOOutputTerminalProcessOther networkOutsfdToPath getProcFdshasPipe pickCandidate getOutputTypechooseProcessOutIOMHMHBH batteryColor batterySymbolRawNumaRawCPUNUHCPHcpuColorprintBarprintXbmprintFrequency printThemp getNumaNodeformatNumaNodeFTH timeToXBMMBHMFHgetUsagePercentsnewBar getNMemoryOutgetPlayingSong extractTitle getSongTitlegetEventgetFd remapEngineAH getVolumeStr getVOLOutput printSink startWithNamegetDefaultSink getBtrfsDH getBlockDH