summaryrefslogtreecommitdiffhomepage
path: root/src/Xmobar/System
AgeCommit message (Collapse)Author
2023-03-22Handle SocketError when attempting to connect to dbusCorey Halpin
Extends the solution from 8a53271cd6 to also handle SocketError, so that the process will not terminate. See also issue #537.
2022-09-26more little import clean upsjao
2022-05-12Remove the now useless -DUTF8 flagjao
2022-04-18New dbus signal: SetAlpha (fixes #499)jao
2022-02-06Little refactoring: forkThreadjao
2021-11-07Let xmobar be used with a signal TMVar when used from other haskell.John Soo
2021-08-12Add getGrpNames to get layout group namesNikolay Yakimov
2021-08-12Fix xkbFreeNames call in getLayoutStrNikolay Yakimov
2021-08-12Fix XkbNamesRec type and Storable instanceNikolay Yakimov
2020-11-19StdinReader: Improve exception handlingTomas Janousek
This corrects a misleading comment "EOF check is necessary for certain systems" which was added without complete understanding of the root cause of #442. That issue was in fact caused by old xmobars not being terminated on early EOF, and is thus necessary on _all_ systems that rely on EOF to terminate old xmobar before starting a new one. (To trigger the bug, one additionally needs to close the xmobar pipe before sending any input to it, which is unusual, but incorrectly configured xmonad might trigger that.) Furthermore, this fixes another execution path that could lead to xmobar not being terminated on EOF: `echo -e '\xff' | xmobar -c '[Run StdinReader]' -t '%StdinReader%'` would terminate the StdinReader thread upon catching the "invalid argument (invalid byte sequence)" so there'd be no thread to detect the subsequent EOF and xmobar would get stuck. Additionally, I believe that terminating either the thread or the entire xmobar upon receiving a single miscoded byte isn't desirable, as this might be an intermittent issue and another input line can be perfectly okay. Therefore I suggest that the original issue @psibi was trying to fix by b7a3d6745817 is worked around by introducing a throttling delay instead of terminating the thread, as I assume that exceptions other than async and EOF are recoverable. Fixes: b7a3d6745817 ("Avoid busy looping by not catching all exceptions") Fixes: 68ac4d3ae6f3 ("Update stderr and the bar on receiving exception") Fixes: ed0663aac942 ("Add EOF check before getLine operation from stdin") Fixes: https://github.com/jaor/xmobar/issues/442 Related: https://github.com/jaor/xmobar/pull/439 Related: https://github.com/jaor/xmobar/pull/448
2020-08-07Redundant imports (mostly <$>) removedjao
2020-05-11more hlintingjao
2020-05-11hlintingjao
2020-05-10Fix crashes/busy looping happening via indexSibi Prabakaran
Right now, with the `StdinReader` plugin enabled - you can crash/cause busy looping of xmobar if the following html file is opened: ``` <html> <head> <title>hello <fn=1>string</fn> </title> </head> </html> ``` More details about this bug is here: https://github.com/jaor/xmobar/issues/442#issuecomment-625706001 This MR also fixes another bug which produces a crash in xmobar if you pass non integer items between fn: <fn=crash>
2020-05-02Update stderr and the bar on receiving exceptionSibi Prabakaran
2020-04-30Spurious import and hlintingjao
2020-04-30Refactor the usage of hGetLineSafeSibi Prabakaran
hGetLineSafe is always hGetLine and hence we can directly use it.
2018-11-25Xmobar.System.Utils, Xmobar.X11.Eventsjao
2018-11-25Back to app/src, since it seems they're the default convention for stackjao