ビリャチピスデツナフイ Войти !bnw Сегодня Клубы

Написал прибивалку SIGSTOP'ом firefox при переключении на другой воркспейс. Довольно криво, но работает. Очень актуально.

--{{{ Fuck firefox
myLogHook = do
wsname <- gets (currentTag . windowset)
case wsname of
"web" -> fuckFirefox False
_ -> fuckFirefox True

fuckFirefox ye = liftIO $ do
(rc, out, ) <- readProcessWithExitCode' "pgrep" ["firefox"] []
mapM
fuckIt $ lines $ out
where fuckIt s = signalProcess (if ye then sigSTOP else sigCONT) (CPid $ read s)

readProcessWithExitCode'
:: FilePath -- ^ command to run
-> [String] -- ^ any arguments
-> String -- ^ standard input
-> IO (ExitCode,String,String) -- ^ exitcode, stdout, stderr
readProcessWithExitCode' cmd args input = do
(Just inh, Just outh, Just errh, pid) <-
createProcess (proc cmd args){ std_in = CreatePipe,
std_out = CreatePipe,
std_err = CreatePipe }

outMVar <- newEmptyMVar

-- fork off a thread to start consuming stdout
out  <- hGetContents outh
forkIO $ C.evaluate (length out) >> putMVar outMVar ()

-- fork off a thread to start consuming stderr
err  <- hGetContents errh
forkIO $ C.evaluate (length err) >> putMVar outMVar ()

-- now write and flush any input
when (not (null input)) $ do hPutStr inh input; hFlush inh
hClose inh -- done with stdin

-- wait on the output
takeMVar outMVar
takeMVar outMVar
hClose outh

-- wait on the process
ex <- C.catch (waitForProcess pid >>= return) (\e -> seq (e :: C.SomeException) $ return $ ExitSuccess)

return (ex, out, err)

--}}}

#FF7FS0 / @l29ah / 4008 дней назад

а я нарисовал однострочник на xprop и хуйнул на хоткей
#FF7FS0/OO3 / @nebeda / 4008 дней назад
и я точно хотел бы отрубалку этго говна, например, когда фф надо покачать чем-нибудь
#FF7FS0/Q3M / @nebeda / 4008 дней назад
@nebeda Ну так зделай.
#FF7FS0/607 / @l29ah --> #FF7FS0/Q3M / 4008 дней назад
@nebeda ` #!/bin/bash PID=$(xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //' ); if [ $(ps -o stat= $PID) == "T" ]; then kill -SIGCONT $PID; else kill -SIGSTOP $PID; fi ` у меня давно такая хуйня, лол
#FF7FS0/J7J / @anonymous --> #FF7FS0/OO3 / 4008 дней назад
@ccahnha бля `какой_то_программный_код($аргумент)` что маркдаун не работает что-ли?
#FF7FS0/QJ0 / @anonymous --> #FF7FS0/J7J / 4008 дней назад
@ccahnha норм
#FF7FS0/PL5 / @nebeda --> #FF7FS0/J7J / 4008 дней назад
@ccahnha ```python print 'bar' ```
#FF7FS0/UIA / @anonymous --> #FF7FS0/J7J / 4008 дней назад
@ccahnha чо ты творишь и нахуя
#FF7FS0/MKY / @nebeda --> #FF7FS0/UIA / 4008 дней назад
@nebeda Бугурчу от маркдауна ```bash echo "asdasd"; FOO=bar; ```
#FF7FS0/PO8 / @anonymous --> #FF7FS0/MKY / 4008 дней назад
@ccahnha забей хуй и хватит срать говном мне в жабир. в жабире всё норм
#FF7FS0/LT3 / @nebeda --> #FF7FS0/PO8 / 4008 дней назад
@ccahnha да блджад
#FF7FS0/7TC / @anonymous --> #FF7FS0/PO8 / 4008 дней назад
@ccahnha зобаню
#FF7FS0/26L / @nebeda --> #FF7FS0/7TC / 4008 дней назад
@nebeda сорь // не BL плз
#FF7FS0/FKQ / @anonymous --> #FF7FS0/26L / 4008 дней назад
@ccahnha работает, читай синтаксис
#FF7FS0/CM1 / @238328 --> #FF7FS0/QJ0 / 4008 дней назад
@nebeda Зделал.
#FF7FS0/69J / @l29ah --> #FF7FS0/Q3M / 3495 дней назад
@l29ah но я же уже делаю это руками, не автоматом
#FF7FS0/RFN / @nebeda --> #FF7FS0/69J / 3495 дней назад
@nebeda Дрочер.
#FF7FS0/HAF / @l29ah --> #FF7FS0/RFN / 3395 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.