Как стать автором
Обновить
3
0
IT.Tux.Droid @IT_Tux_Droid

Пользователь

Отправить сообщение
Запускается так:
bar {
        ...
        status_command conky -c ~/.i3/i3conky.conf | dzen2 -h '17' -w '600' -x '1317' -y '1062' -bg '#3c3b37' -ta 'rm'
        ...
        }
}


А сам конфиг такой:
background no
out_to_x no
out_to_console yes
update_interval 1
TEXT
${execpi 5 ~/.i3/i3script/dropbox.py}     ${execpi 600 ~/.i3/i3script/mail.py}     ^fg(\#75dcff)Cpu $cpu% - Ram $memperc%^fg()     ^fg(\#87ff73)Vol ${execpi 1 amixer -c 0 sget PCM | grep -o "Left.*Playback.*" | grep -o "[0-9]*%"}^fg()     ^fg(\#ffa24e)${time %A %d %B %I:%M}^fg() 
conky - 640 КиБ
dzen  - 244 КиБ
Skype на отдельном рабочем месте «IM» (вместе с Pidgin'ом) — сворачивать\разворачивать ничего не надо.

Skype'у трей для чего-то еще надо?

P.S. Но повторюсь, трей есть из коробки.
Вот так выглядит статус-бар (conky через dzen2 и скрипты на python):

image
1 — Индикатор Dropbox'a (On\Off\Sunc)
2 — Mail информер
3 — Cpu и Ram
4 — Громкость
5 — Дата
Есть. Но через некоторое время понимаешь, что трей вообще не нужен.
Хуже, когда сидишь на Chrome'е и тебе везде предлагают его установить…
~/.i3/config
...
bar {
        #status_command i3status
        status_command conky -c ~/.i3/i3conky.conf | dzen2 -h '17' -w '600' -x '1317' -y '1062' -bg '#3c3b37' -ta 'rm'
        position bottom
        tray_output none
        colors {
                background #3c3b37
                statusline #dfd5c8

                # focused_workspace  #ffffff #285577
                # active_workspace   #ffffff #333333
                inactive_workspace #dfd5c8 #222222
                # urgent_workspace   #ffffff #900000
        }
}
...



~/.i3/i3conky.conf
background no
out_to_x no
out_to_console yes
update_interval 1
TEXT
${execpi 5 ~/.i3/i3script/dropbox.py}     ${execpi 600 ~/.i3/i3script/mail.py}     ^fg(\#75dcff)Cpu $cpu% - Ram $memperc%^fg()     ^fg(\#87ff73)Vol ${execpi 1 amixer -c 0 sget PCM | grep -o "Left.*Playback.*" | grep -o "[0-9]*%"}^fg()     ^fg(\#ffa24e)${time %A %d %B %I:%M}^fg() 



~/.i3/i3script/dropbox.py
#!/usr/bin/env python
# coding: utf-8
from subprocess import Popen, PIPE

status = {'Dropbox isn\'t running!': '^fg(\#ea2121)Off^fg()',
        '/home/user/Dropbox: up to date': 'On',
        '/home/user/Dropbox: syncing': '^fg(\#87ff73)Sync^fg()'}

def get_status():
        pp = Popen('dropbox filestatus /home/user/Dropbox', shell=True, stdout=PIPE).stdout.read().replace('\n', '')
        return status[pp]

print get_status()



~/.i3/i3script/mail.py
#!/usr/bin/env python
# coding: utf-8
import pycurl, StringIO, re

username = 'login'
password = 'pass'

def get_mail():
        data = StringIO.StringIO()
        curl = pycurl.Curl()
        curl.setopt(pycurl.WRITEFUNCTION, data.write)
        curl.setopt(pycurl.URL, 'https://'+username+':'+password+'@mail.google.com/mail/feed/atom')
        try:
                curl.perform()
        except:
                return False
        mail = re.findall('<fullcount>(.*)</fullcount>', data.getvalue())[0]
        if mail != '0': return '^fg(\#ea2121)Mail %s^fg()' % (mail)
        else: return 'Mail 0'

print get_mail()

Накопал щас управление. Команда focus ключевая, перемещается и изменяет размер только окно в фокусе (костыль?).
upd:

Два последних assign в предыдущем примере это for_window (перепутал).

И вот так работает:
for_window [class="^SkypeTab$" instance="^SkypeTab$"] focus; move up; resize shrink down 30 px or 30 ppt; workspace 1: desktop

— фокусируемся на окне, поднимаем его вверх, изменяем размер и перемещаем фокус на рабочий стол «1: desktop».
А знаешь как программно манипулировать окнами в i3wm? Мне это очень надо, но пока не нашел как…
Расставляешь окна по своим местам руками каждый раз? Или скрипт какой используешь?
Небольшие выдержки из моего конфига i3wm.

Gedit, Nautilus, диалог Nautilus'а «Действия над файлами» и лаунчер Gmrun по-умолчанию в флоат режиме:
for_window [class="^Gedit$" instance="^gedit$"] floating enable
for_window [class="^Nautilus$" instance="^nautilus$"] floating enable
for_window [class="^Nautilus$" instance="^file_progress$"] floating enable
for_window [class="^Gmrun$" instance="^gmrun$"] floating enable


Сделать скриншот:
bindsym Print exec scrot 'f%Y-%m-%d-%s_$wx$h.png' -e 'mv $f /home/UserName/Scrot/'


Управление громкостью клавишей Win+плюс\минус:
bindsym $mod+KP_Add exec amixer -c 0 sset PCM,0 5+
bindsym $mod+KP_Subtract exec amixer -c 0 sset PCM,0 5-


От трея отказался, статус-бар выглядит так (conky через dzen2 и скрипты на python):
image
1 — Индикатор Dropbox'a (On\Off\Sunc)
2 — Mail информер
3 — Cpu и Ram
4 — Громкость
5 — Дата
* если кому-нибудь надо, выложу конфиги.

___________________
Для получения значений class и instance окна использую утилиту xprop:
$ xprop | grep "WM_CLASS(STRING)"
Автор выложил скринсаст от разработчиков и ссылку на документацию — там все предельно понятно. А в видео с Google Tech Talk нет ничего нового.
Не поступаю подобным образом, так как работая за чужим компьютером, начинаю сильно путаться. Стараюсь придерживаться «стандартов».
Это да, этого недостает.

После прочтения документации, пытался настроить запуск Skype'а таким образом:
assign [class="^SkypeTab$" instance="^SkypeTab$"] border none
assign [class="^SkypeTab$" instance="^SkypeTab$"] move up
assign [class="^SkypeTab$" instance="^SkypeTab$"] resize shrink down 32 px or 32 ppt

Но команды move и resize не работают с assign =(
Или я плохо документацию читал? Как еще можно настроить положение и размеры окон на определенном рабочем месте при загрузке?
Добавьте эту строчку в конфиг i3wm и диалоговое окно Nautilus'а (Действия над файлами) будет по умолчанию не во весь экран.

for_window [class="^Nautilus$" instance="^file_progress$"] floating enable
Так ничего и не сделали… Жаль…
>> >> просмотр фильтров был бы при наведении мыши(такая же проблема на андроиде)
>> в смысле в увеличенном размере?

Да, очень не хватает этого. В отдельном контейнере большая фотография менялась бы в соответствии с выбранным фильтром.

И «повернуть» с «обрезать» не всегда нужно, лучше опционально их сделать, а не частью последовательного процесса.

А вообще сервис удобный! Удачи!

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность