LINUX.ORG.RU

Ещё можно посылать SIGSTOP. Хотя кроме как для экономии батареи бесполезно, в простое проц жрёт разщве что только firefox.

anonymous
()

Единственный заметный профит даёт выставление самому жрущему процессу вроде многопоточной компиляции политики idle для io и cpu. Остальным можно не заморачиваться.

anonymous
()
Ответ на: комментарий от anonymous

Ну почему, торрент-клиент при проверке 300-гигабайтной раздачи может ощутимо замедлить работу. Аналогично, хотелось бы назначать торрентам минимальный приоритет при сетевых операциях, но это уже не задача оконного менеджера.

lizard ★★★
() автор топика

Можно попробовать нафигачить скриптов с использованием wmutils. Или написать свой WM, что сложнее.

sudopacman ★★★★★
()

Есть такой, называется Windows Explorer. Не тот, который ie, а который именно окна рисует.

svr4
()
Последнее исправление: svr4 (всего исправлений: 1)
Ответ на: комментарий от lizard

Дала родина rtorrent с вебмордой и RPC
нет, не хочу - хочу жрать гуёвые клиенты

svr4
()

с изкоробочным функционалом не помню, но есть решения:

  • xmonad - точно можно написать хук для свёрнутных окон
  • kwin(и другие гиганты) — есть шанс, что можно это реализовать на встроенном языке для скриптов. при этом подозреваю, что если можно, то получится явно круче, чем с 1-м вариантом.

upd: с kwin'ом не оч можно, ибо, емнип, его js не умеет вызывать сторонние процессы. вообще можно накостылять скрипт, который дёргает dbus, а на другой стороне скрипт, который собсна общается с процессами. но такое решение вряд ли кому понравится

f1u77y ★★★★
()
Последнее исправление: f1u77y (всего исправлений: 3)

Можно допилить dwm.

anonymous
()

А wm тут и не нужен. Это может быть отдельные приложение, которое будет получать события от Хов в цикле. Всего-то надо помнить предыдущее окно в фокусе. Думаю, написать можно на чем угодно, т.к. для большинства языков найдется привязка к Ховой библиотеке или та же функциональность может предоставляться тулкитом. Единственная проблема, которую я тут вижу: в линуксе сплошь и рядом когда морда отдельно а «движок» отдельно, надо будет отслеживать кто какой процесс запустил.

ls-h ★★★★★
()

насколько я помню, спуфинг крутил скриптами скриншоты свернутых окон в fvwm. имхается, что, там можно и приоритетом управлять при сворачивании/разворачивании окон.

bvn13 ★★★★★
()
Ответ на: комментарий от ls-h

Действительно, можно попробовать решить шелл-скриптом:

xprop -root _NET_ACTIVE_WINDOW 
wmctrl -lp
Цикл раз в одну-пять секунд (ещё не подобрал оптимальное значение) будет сравнивать id активного окна и запомненного, если изменилось - забираем приоритет у старого и даём новому. Заодно можно добавить разные фильтры, например, чтобы у определённых окон изменять не только nice time, но и ionice, а некоторые окна игнорировать.

lizard ★★★
() автор топика
Ответ на: комментарий от lizard

Действительно, можно попробовать решить шелл-скриптом

Напиши потом, чего получилось и есть ли профит. Мне почему-то кажется, что толку от этого будет маловато.

ls-h ★★★★★
()
29 сентября 2017 г.
Ответ на: комментарий от ls-h

Дело было в пятницу вечером, делать было нечего:

#!/bin/bash

LAST_ACTIVE_WINDOW=-1
LAST_PID=-1

while (true)
do
    # get active window id
    ACTIVE_WINDOW=$(xprop -root _NET_ACTIVE_WINDOW | awk '{print $5}' | tr -d ,)
    # convert to wmctrl compliance
    ACTIVE_WINDOW=$(printf "0x%08x\n" "$ACTIVE_WINDOW")
    printf "%s %s\r" "Active window id:" "$ACTIVE_WINDOW"
    if [[ $LAST_ACTIVE_WINDOW -ne $ACTIVE_WINDOW ]]
    then
        # getting pid of active window
        PID=$(wmctrl -lp | grep "$ACTIVE_WINDOW" | awk '{print $3}')
        # renice
        printf "\nRenicing from $LAST_PID to $PID\n"
        sudo renice --priority 0 --pid "$LAST_PID"
        sudo renice --priority -20 --pid "$PID"
        LAST_PID=$PID
        LAST_ACTIVE_WINDOW=$ACTIVE_WINDOW
    fi
    sleep 1
done
sudo renice --priority 0 --pid "$LAST_PID"
Особого эффекта не заметно (потому что поменял ноутбук на нормальный), но под хорошей нагрузкой не тестировал. Из минусов - требует судо либо кручение ulimit -e.

lizard ★★★
() автор топика
Ответ на: комментарий от lizard

Дело было в пятницу вечером, делать было нечего:

Спасибо. Интересно. У меня правда достаточно мощный комп, чтобы попробовать. Ну, если делать будет нечего, то попробую в виртуалке с урезанными ресурсами.

ls-h ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.