packages feed

tianbar 1.1.0.1 → 1.1.1.1

raw patch · 8 files changed

+42/−15 lines, 8 files

Files

scripts/network.js view
@@ -9,7 +9,7 @@    const INACTIVE_COLOR = '#999'; -  self.settings_command = 'gnome-control-center network &';+  self.settings_command = 'gnome-control-center network';    self.widget = function () {     return $('.widget-network');@@ -319,7 +319,7 @@    $(document).ready(function () {     self.widget().click(function () {-      $.ajax('tianbar:///execute', {+      $.ajax('tianbar:///spawn', {         data: {           command: self.settings_command         }
scripts/volume.js view
@@ -21,7 +21,7 @@    const self = {}; -  self.settings_command = 'gnome-control-center sound &';+  self.settings_command = 'gnome-control-center sound';    function uid() {     return $.ajax('tianbar:///root/proc/self/status')@@ -132,7 +132,7 @@    $(document).ready(function () {     self.widget().click(function () {-      $.ajax('tianbar:///execute', {+      $.ajax('tianbar:///spawn', {         data: {           command: self.settings_command         }
src/System/Tianbar/Plugin.hs view
@@ -10,7 +10,9 @@     URI (..),     dir,     look,+    lookBS,     looks,+    looksBS,     newCallback,     nullDir,     parseURI,
src/System/Tianbar/Plugin/ExecuteCommand.hs view
@@ -2,6 +2,8 @@  -- Execute arbitrary commands +import Control.Concurrent+import Control.Monad import Control.Monad.Trans  import System.Process@@ -14,7 +16,9 @@ instance Plugin ExecuteCommand where     initialize = return ExecuteCommand -    handler = dir "execute" executeHandler+    handler = msum [ dir "execute" executeHandler+                   , dir "spawn" launchHandler+                   ]  executeHandler :: ServerPart ExecuteCommand Response executeHandler = do@@ -22,3 +26,15 @@     command <- look "command"     output <- liftIO $ readCreateProcess (shell command) ""     stringResponse output+++launchHandler :: ServerPart ExecuteCommand Response+launchHandler = do+    nullDir+    command <- look "command"+    _ <- liftIO $ do+        process <- spawnCommand command+        forkIO $ do+            _ <- waitForProcess process+            return ()+    okResponse
src/System/Tianbar/Plugin/Socket.hs view
@@ -10,9 +10,11 @@ import Control.Monad.State import Control.Monad.Trans.Maybe +import qualified Data.ByteString.UTF8 as U import qualified Data.Map as M  import Network.Socket+import qualified Network.Socket.ByteString as SB  import System.Tianbar.Callbacks import System.Tianbar.Plugin@@ -42,8 +44,8 @@         return s     (callback, index) <- newCallback     _ <- liftIO $ forkIO $ void $ forever $ do-        sockData <- recv sock 4096-        liftIO $ callback [sockData]+        sockData <- SB.recv sock 4096+        liftIO $ callback [U.toString sockData]         return ()     spSock . at index .= Just sock     callbackResponse index@@ -53,9 +55,9 @@     nullDir     index <- fromData     sock <- MaybeT $ getSocket index-    dataToSend <- look "data"+    dataToSend <- lookBS "data"     -- TODO: resend until done-    _ <- liftIO $ send sock dataToSend+    _ <- liftIO $ SB.send sock dataToSend     callbackResponse index  closeHandler :: ServerPart SocketPlugin Response
src/System/Tianbar/RequestResponse.hs view
@@ -7,7 +7,9 @@     bytestringResponse,     jsonResponse,     look,+    lookBS,     looks,+    looksBS,     okResponse,     parseURI,     serveFile,@@ -75,14 +77,20 @@     return $ Response contents (Just $ U.toString fileType)  look :: (MonadPlus m, MonadReader URI m) => String -> m String-look param = looks param >>= \values -> case values of+look = fmap U.toString . lookBS++looks :: (MonadPlus m, MonadReader URI m) => String -> m [String]+looks = fmap (map U.toString) . looksBS++lookBS :: (MonadPlus m, MonadReader URI m) => String -> m B.ByteString+lookBS param = looksBS param >>= \values -> case values of                [value] -> return value                _ -> mzero -looks :: (MonadPlus m, MonadReader URI m) => String -> m [String]-looks param = asks uriQuery >>= \params -> do+looksBS :: (MonadPlus m, MonadReader URI m) => String -> m [B.ByteString]+looksBS param = asks uriQuery >>= \params -> do     let paramTxt = U.fromString param-    let isParam (p, value) | p == paramTxt = fmap U.toString value+    let isParam (p, value) | p == paramTxt = value                            | otherwise = Nothing     return $ mapMaybe isParam params 
src/System/Tianbar/StrutProperties.hs view
@@ -14,7 +14,6 @@ import GI.Gdk.Structs.Atom  import Foreign-import Foreign.C.Types  type StrutProperties = (Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int) 
tianbar.cabal view
@@ -1,5 +1,5 @@ name:                tianbar-version:             1.1.0.1+version:             1.1.1.1 synopsis:            A desktop bar based on WebKit description:   A desktop bar using WebKit for rendering as much as possible.