Переключение приложений цифрами в Openbox
Можно так сделать?
В браузерах, например, можно зажать Alt и нажимать цифры для переключения вкладок.
Я хочу аналогичное поведение для панели задач.
Можно так сделать?
В браузерах, например, можно зажать Alt и нажимать цифры для переключения вкладок.
Я хочу аналогичное поведение для панели задач.
Очень вкусная фича из xmonad.
По нажатию клавиши открывается приложение, по повторному нажатию скрывается (переносится на спрятанный рабочий стол).
Очень удобно для консоли, rss читалки, почтового клиента и т.д.
Как реализовать подобное в openbox?
То есть наверно можно написать какие-нибудь огромные костыли на баше, которые проверяют запущен ли процесс и дальше что-то делают.
А как-нибудь по простому можно?
http://fc08.deviantart.net/fs70/f/2012/099/5/9/xmonad___dzen2_by_ksevelyar-d4...
Думаю, что вдоволь наигрался с каноничным тайлингом.
Конкретно Иксмонад раздражает тем, что каждое новое приложение с всплывающими окнами нужно настраивать заново (иногда очень костыльно), не везде работает фулскрин, картинка дёргается и мерцает при переключении столов / открытии терминалов.
Из мелочей не понравилось то, что не могу поставить разные обои для рабочих столов. Нет нормальной прозрачности, xcompmgr и его форки срезают у терминалов рамку.
Плюсы
- Слои на любой вкус для каждого рабочего стола отдельно. Плюс ими можно очень гибко управлять с клавиатуры (зеркалить, переключать, изменять количество окон во фрейме мастера и т.д.).
- Перемещение указанных приложений на заданный стол при запуске. Опциональная фокусировка на нужном столе при запуске приложения.
- Скретчпады. То есть я могу повесить на любую клавишу приложение и вызывать его на любом столе по нажатию этой клавиши. И скрывать повторным нажатием. Что-то вроде guake, но не только для консоли и с любой геометрией. Например можно забиндить htop, ncmpcpp, liferea.
Это не всегда удобно — всплывающие окна появляются под скретчпадами. Но возможно это настраиваемо.
- Один большой заголовок. Особенно актуально для браузера.
- Xmonad познакомил меня c dzen (верхняя и нижняя панельки, система уведомлений) и dmenu. Я буду таскать их теперь за собой всюду.
- Если использовать *только* консольные/текстовые приложения — Xmonad идеален. То есть на работу его поставить можно более чем. Особенно если там железо не очень.
Планы
Попробовать openbox + pytyle. Думаю что тайлинг удобен только на определённых рабочих столах, хочу проверить эту теорию.
Запускаю тот же smplayer в полноэкранном режиме — панельки с dzen2 остаются поверх него.
Как это можно поправить?
Собственно задачу можно разбить на две части:
1. Браузер в зависимости от url cохраняет торрент в заданную папку. Например если в url есть *music* сохраняет в /storage/torrents/music.
Для первого пункта буду пробовать https://addons.mozilla.org/en-US/firefox/addon/automatic-save-folder/
2. Качалка торрентов смотрит в определённые директории и, например, закачивает торренты из /storage/torrents/music в /storage/music.
Для второго приспособил rtorrent, но он страшненький и не умеет выхватывать магниты из браузера. Для него есть костыли и обёртки (в частности pyroscope), но мне хотелось бы использовать их в крайнем случае.
Какие ещё качалки умеют смотреть в несколько директорий и работать с магнитами? Это главный вопрос топика.
И да. Если есть другие алгоритмы и прямо из браузера можно передавать торрент с указанием куда качать — хотел бы об этом узнать.
Чего мне не хватает в mplayer:
- чтобы добавлял все видео файлы в директории в плейлист
- чтобы запоминал позицию воспроизведения (и желательно дорожки аудио/субтитров)
Я нашёл это в Smplayer, но он мне не нравится.
Если у видео маленькое зазрешение (640*480 например) и я распахиваю его на весь экран — субтитры масштабируются и выглядят ужасно.
При этом если я запускаю обычный mplayer — то всё ок. Подскажите в чём может быть дело.
В ручном по умолчанию все окна всплывающие? И их нужно затайлить вручную?
И заодно интересно узнать у тайлоюзеров какой тип они выбрали для себя и почему.
Что-нибудь аккуратное и минималистичное. Без мерзких попыток вогнать трёхмерную графику в 16х16.
http://gnome-look.org/content/show.php/?content=102435
Хочу осветлить сетку файлов и не активные вкладки — отметил эти элементы на скриншоте:
http://i.imgur.com/BBZbf.png
Подскажите как.
Сама тема: http://pastebin.com/SS5sCnAP
Если в темах каждый лепит как хочет и ответить на мой вопрос без существенных затрат времени нельзя — дайте ссылку на годное и не очень сложное руководство по gtk2.
Я хочу чтобы у меня активных закачек было не больше трёх, поэтому выставил опцию max_downloads_global=3, однако она не работает. Сейчас закачиваются 4 торрента.
И внизу экрана [D 4/3]. То есть четыре слота из трёх.
Мой .rtorrent.rc:
### main ###
session = ~/.rtorrent_session
directory = /storage/tmp
encoding_list = UTF-8
view_sort_current = main,greater=d.get_creation_date=
### connection ###
port_range = 6789-6789
port_random = no
peer_exchange = yes
use_udp_trackers = yes
encryption = allow_incoming,enable_retry,prefer_plaintext
#dht = auto
#dht.port.set = 2442
### {up,down}loads ###
max_uploads_global = 10
max_downloads_global = 3
download_rate = 4M
upload_rate = 500
min_peers = 100
max_peers = 500
min_peers_seed = 10
max_peers_seed = 100
check_hash = yes
### ratio ###
ratio.min.set=100
ratio.max.set=200
ratio.upload.set=30M
system.method.set = group.seeding.ratio.command, d.close=, d.erase=
### shedules ###
schedule = low_diskspace,5,60,close_low_diskspace=10G
schedule = untied_directory,5,5,"remove_untied="
schedule = watch_anime,5,2,"load_start=/storage/torrents/anime/*.torrent,d.set_directory=/storage/anime"
schedule = watch_serials,5,2,"load_start=/storage/torrents/serials/*.torrent,d.set_directory=/storage/serials"
schedule = watch_films,5,2,"load_start=/storage/torrents/films/*.torrent,d.set_directory=/storage/films"
schedule = watch_music,5,2,"load_start=/storage/torrents/music/*.torrent,d.set_directory=/storage/music"
schedule = watch_games,5,2,"load_start=/storage/torrents/games/*.torrent,d.set_directory=/storage/games"
schedule = watch_tmp,5,2,"load_start=/storage/torrents/tmp/*.torrent,d.set_directory=/storage/tmp"
schedule = throttle_down_max,02:00:00,24:00:00,download_rate=6M
schedule = throttle_up_max,02:00:00,24:00:00,upload_rate=1M
schedule = throttle_down,08:00:00,24:00:00,download_rate=5M
schedule = throttle_up,08:00:00,24:00:00,upload_rate=500
### notify ###
system.method.set_key = event.download.finished,notify_me,"execute=~/scripts/dzen_notify.sh,$d.get_name=, completed"
Делаю так:
parted /dev/sdb
mklabel gpt
unit TB
mkpart primary ext4 0 2
printNumber Start End Size File system Name Flags
1 0.00TB 2.00TB 2.00TBПочему поле «File system» пустое?
Parted не поддерживает ext4?
P.S. И да, я знаю о mkfs.
Как? Может какая консольная команда перед запуском?
Я увидел только дико костыльный способ здесь: http://archlinux.org.ru/forum/viewtopic.php?f=8&t=1588
Может что ещё посоветуете?
На десктопе есть раздел /storage — ntfs, ~800G файлов. Файлы разного размера.
На сервере есть пустой раздел /storage — ext4.
Пытался сделать так:
scp -pr /storage/* root@192.168.0.1:/storageУвидел, что скорость скачет от десятков мегабайт, до килобайт. То есть когда scp передаёт мелкие файлики — скорость мизерная.
Видимо он передаёт их по очереди, что и убивает скорость.
Какая утилита даст мне максимальную скорость? Желательно через ssh (не поднимать отдельный сервер вроде Самбы).
weather_icon="temp.xbm"
temp_variable="weather"Теперь если я сделаю так:
echo "${temp_variable}_icon"То получу «weather_icon», а я хочу «temp.xbm».
На это:
echo $(echo ${${temp_variable}_icon})Баш ругается, подскажите правильный синтаксис.
При этом хочется отключать эти флешки / диски без рута.
В Арчевики есть разные способы, наиболее интересен для меня этот:
Mount under /media; use partition label if present; support user un-mounting
/etc/udev/rules.d/11-media-by-label-with-pmount.rules
KERNEL!=«sd[a-z]*», GOTO=«media_by_label_auto_mount_end»
ACTION==«add», PROGRAM!=«/sbin/blkid %N», GOTO=«media_by_label_auto_mount_end»
# Get label
PROGRAM==«/sbin/blkid -o value -s LABEL %N», ENV{dir_name}=«%c»
# use basename to correctly handle labels such as ../mnt/foo
PROGRAM==«/usr/bin/basename '%E{dir_name}'», ENV{dir_name}=«%c»
ENV{dir_name}=="", ENV{dir_name}=«usbhd-%k»
ACTION==«add», ENV{dir_name}!="", RUN+=«/bin/su tomk -c '/usr/bin/pmount %N %E{dir_name}'»
ACTION==«remove», ENV{dir_name}!="", RUN+=«/bin/su tomk -c '/usr/bin/pumount /media/%E{dir_name}'»
LABEL=«media_by_label_auto_mount_end»
Но категорически не нравится что:
The required username (here tomk) must be hard-coded in the RUN command
Вот как сделать так, чтобы я мог отмонтировать без рута и чтобы не хардкодить свой ник в конфиги.
Там ещё есть «Automounting UDisks Wrappers» — расскажите подробнее о них и какой выбрать, если это то, что мне нужно.
То есть на долю секунды на месте прямоугльника занимаего терминалом мелькает обоина. Это ужасно раздражает.
Можно это починить?
Я ожидал увидеть скорость в секунду, но скрипт врёт. Там где curl показывает 5.7mb — скрипт аж 6.2mb.
Подозреваю, что (время вычислений) + (1 секунда) по времени забирают больше одной секунды и я получаю скорость за 1.1 секунды, например.
Скрипт можно разнести на две части — (только вычитание) + (обёртка со всем остальным).
В этом случае значения скорости будут писаться в /tmp, а обёртка будет их использовать — таким образом я получу не скорость за 1.1 секунды, а скорость за 1.03 секунду, которая будет обновляться раз в 1.07 секунды.
Как *совсем* избавиться от погрешности, связанной со временем на вычитание?
Скрипт:
#!/bin/bash
SLEEP=1
function wrapper_net {
echo $(printf "%04s" $1 | sed "s/ /0/g")
}
interface=eth0
get_bytes()
{
line=$(cat /proc/net/dev | grep $interface | awk '{print "received_bytes="$2, "transmitted_bytes="$10}')
eval $line
}
get_velocity()
{
vel=$[$1-$2]
if [ $vel -ge 1024 ] && [ $vel -lt 1048576 ] ;
then
velKB=$[vel/1024];
echo "$(wrapper_net $velKB)K";
elif [ $vel -ge 1048576 ];
then
velMB=$(echo "scale=1; $vel/1048576" | bc)
echo "$(wrapper_net $velMB)M";
else
echo "$(wrapper_net $vel) ";
fi
}
# Gets initial values.
get_bytes
old_received_bytes=$received_bytes
old_transmitted_bytes=$transmitted_bytes
# Loop
while :; do
get_bytes
vel_recv=$(get_velocity $received_bytes $old_received_bytes)
vel_trans=$(get_velocity $transmitted_bytes $old_transmitted_bytes)
old_received_bytes=$received_bytes
old_transmitted_bytes=$transmitted_bytes
echo -en "$vel_recv\t $vel_trans\r"
sleep $SLEEP; done«sudo halt» и Линукс выключается сразу, но закрывает все открытые программы без милосердия.
Везде пропадают сесии, ну разве что Лиса предлагает восстановить вкладки открытые в прошлый раз.
Какая команда будет сначала посылать всем программам сигнал завершения, перед тем выключить рубильник?
| ← назад | следующие → |