ion3 (работящий карлик ;))

ion, dwm, wmii, awesome, xmonad и другие

Модератор: Модераторы разделов

Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

Voice писал(а):
04.03.2008 00:57
Где конкретно? Заголовки фреймов? Меню?

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

еще вот вопрос: попытался сделать так чтобы у меня pidgin (окно buddy list и окно conversation) запускались в скретчпаде.

Код:

defwinprop{ instance = "pidgin", class = "Pidgin", role = "conversation", target = "WScratchpad" } defwinprop{ instance = "pidgin", class = "Pidgin", role = "buddy_list" target = "WScratchpad" }

потом запускаю в консоли пиджин и он запускается как обычно, а скретчпад пустой.
что я делаю неправильно и как надо ?
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: ion3

Сообщение Voice »

Etherealhorror писал(а):
04.03.2008 08:22
и в заголовках фреймов и в меню. а то у меня шрифт оч маленький, а русские надписи корявые и bold.

Про корявый русский читайте примерно тут: ion3
В этой теме две страницы назад обсуждали, там давали пару рецептов.

Про шрифты могу вечером дома конфиг посмотреть.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

Изображение
такой вот шрифт. ясно видна разница между кириллицей и латиницей.

на всякий вот /root/.bashrc (это в совете писалось) выкладываю весь, мало ли что

Код:

# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options #export HISTCONTROL=ignoredups # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) PS1='${debian_chroot:+($debian_chroot)}\[33[01;32m\]\u@\h\[33[00m\]:\[33[01;34m\]\w\[33[00m\]\$ ' ;; *) PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' ;; esac # Comment in the above and uncomment this below for a color prompt #PS1='${debian_chroot:+($debian_chroot)}\[33[01;32m\]\u@\h\[33[00m\]:\[33[01;34m\]\w\[33[00m\]\$ ' # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PROMPT_COMMAND='echo -ne "33]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}7"' ;; *) ;; esac # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. #if [ -f ~/.bash_aliases ]; then # . ~/.bash_aliases #fi # enable color support of ls and also add handy aliases if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=auto' #alias dir='ls --color=auto --format=vertical' #alias vdir='ls --color=auto --format=long' fi # some more ls aliases #alias ll='ls -l' #alias la='ls -A' #alias l='ls -CF' # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). #if [ -f /etc/bash_completion ]; then # . /etc/bash_completion #fi export LC_MESSAGES="POSIX"

главное - последняя строчка. я ее туда вставил - не помогает. машину перегружал, делал ioncore.restart() - ноль эффекта.

и так что-то не разберусь со скретчпадом.
вообще, как я понял в kluges вписывают параметры окон (?) и тогда при запуске определенного приложения оно идет на определенный воркспейс в определенный фрейм, так ?
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

также - когда вписываем параметры в kludges, то можно назначить фрейм, воркспейс и скречпад. куда вписывать значения WM_Class, role я понял, и как их получать тоже. а вот что писать в target я немного не понял. вроде в случае воркспейса WWorkspace, scratchpad - WScratchpad, frame - WFrame ? а как они по именам различаются ? если написать , например target = "opera" то откуда система знает опера это фрейм или воркспейс. а если писать WScratchpad (например) то надо ли указывать его номер ? как вообще именуются фреймы и воркспейсы в системе ? топик читал, кое-что понимаю, кое-что нет. sorry за нубские вопросы. =(
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

В таргет писать имя воркспейса, фрейма, итд. Имя воркспейса вы задаёте при его создании, имя скретчпада тоже (имеется в виду named_scratchpad, какое там имя у дефолтного скретчпада, я уже не помню). Переименовать фрейм можно с помощью mod_query.query_renameframe(_), посмотреть название текущего - командой меню фрейма window-info. Переименовать воркспейс - меню фрейма workspace/rename. Насчёт откуда система знает фрейм это или воркспейс - она и не знает (точнее, не она, а он - ion :-)), просто пихает в какой первым попадётся. Поэтому не надо называть фреймы и воркспейсы одинаково. Кстати, есть скрипт statusbar_workspace.lua, который умеет показывать имя текущего фрейма и воркспейса в статусбаре.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

Black писал(а):
04.03.2008 16:36
В таргет писать имя воркспейса, фрейма, итд. Имя воркспейса вы задаёте при его создании, имя скретчпада тоже (имеется в виду named_scratchpad, какое там имя у дефолтного скретчпада, я уже не помню). Переименовать фрейм можно с помощью mod_query.query_renameframe(_), посмотреть название текущего - командой меню фрейма window-info. Переименовать воркспейс - меню фрейма workspace/rename. Насчёт откуда система знает фрейм это или воркспейс - она и не знает (точнее, не она, а он - ion :-)), просто пихает в какой первым попадётся. Поэтому не надо называть фреймы и воркспейсы одинаково. Кстати, есть скрипт statusbar_workspace.lua, который умеет показывать имя текущего фрейма и воркспейса в статусбаре.

спасибо
получилось - назвал воркспейс опера и когда запустил из консоли она там открылась. а с скретчпадом все таки непонятки - посмотрел в /usr/share/ion3/named_scratchpad.lua там он вроде толи toggle толи named_sp называется (у меня возникло такое ощущение). однако когда прописывал в таргет - не работало. а вот как создавать скретчпады с именами я не знаю =(
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

Создавать так:
1. Прописать к себе в ~/.ion/cfg_ion.lua:

Код: Выделить всё

dopath("named_scratchpad")

2. Прописать в любой конфиг:

Код: Выделить всё

kpress("XF86Back", "named_scratchpad(_, 'stardict')"),

Теперь при нажатии XF86Back появится скрэтчпад с именем stardict. Сочетание клавиш - как обычно: можно META.."Z" или ALTMETA.."F11", в общем любое свободное. А вообще, во всех скриптах в начале есть описание и примеры использования.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

Black писал(а):
04.03.2008 17:50
Создавать так:
1. Прописать к себе в ~/.ion/cfg_ion.lua:

Код: Выделить всё

dopath("named_scratchpad")

2. Прописать в любой конфиг:

Код: Выделить всё

kpress("XF86Back", "named_scratchpad(_, 'stardict')"),

Теперь при нажатии XF86Back появится скрэтчпад с именем stardict. Сочетание клавиш - как обычно: можно META.."Z" или ALTMETA.."F11", в общем любое свободное. А вообще, во всех скриптах в начале есть описание и примеры использования.

огромное вам спасибо, все получилось. осталось теперь еще решить проблему со шрифтами (собственно шрифтами и их размером).

еще один вопрос. то есть предположим я создал рабочий стол, обозвал его как-то, запустил какие-то программы, разделил фреймы, потом ресайзил их. программы записаны в kludges. то есть если потом я сделаю save session, то у меня все сохранится ? в смысле когда я потом буду запускать приложения, они будут запускаться "где надо".а если не сделаю, все будет в состоянии девственной чистоты а-ля черный экран (один пустой фрейм) ?

ЗЫ.ион классная вещь, не то что какой то гном или кеды :tongue:
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

Я уже не помню, по-моему по session/exit и session/restart тоже сохраняется. Я просто настроил всё как надо и сделал chmod a-w ~/.ion3/default-session--0/saved_layout.lua, чтобы если случайно кривыми своими руками убью какой-нибудь нужный фрейм, тупо сделать session/restart и не париться.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: ion3

Сообщение wzrd »

вроде уже почти разобрался с ним.
остался один вопрос:
откуда ion берет параметры, чтобы выбрать кодировку? просто скажите что почитать чтобы разобраться: 1) что такое локали (в манах читал, но хочется побольше и поконкретнее) и вообще о кодировках 2)как приложения узнают какую кодировку выбрать
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

Кодировку выбирает не ion, а вы (или дистрибутивоваятель). Иону надо просто указать правильные шрифты. Делается это в look_*.lua. А по поводу 1) и 2) - гугл сразу выдаёт http://easylinux.ru/node/135 , ещё подробнее должно быть во всех книжках по unix, ещё можно посмотреть руководства по локализации.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

в cfg_ion вписал dopath("statusd_info") (по идее должен мониторить цпу, рам и своп).
вот что пишет при загрузке иона

Ion startup error log:
>> /usr/share/ion3/statusd_info.lua:73: attempt to concatenate local 'info_CPU_user' (a nil value)

в чем проблема не пойму...

2wzrd по идее кодировка шрифтов и локали должна совпадать
Ethereal_horror
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

2Etherealhorror
Нет необходимости вручную грузить модуль статуса (dopath("statusd_info")), достаточно в cfg_statusbar.lua в шаблон прописать имя переменой которую надо отображать.
Например мой шаблон:
template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date"
Обратить внимание на выделеное.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: ion3

Сообщение wzrd »

Black писал(а):
06.03.2008 10:35
Кодировку выбирает не ion, а вы (или дистрибутивоваятель). Иону надо просто указать правильные шрифты. Делается это в look_*.lua. А по поводу 1) и 2) - гугл сразу выдаёт http://easylinux.ru/node/135 , ещё подробнее должно быть во всех книжках по unix, ещё можно посмотреть руководства по локализации.

спасибо. я искал не давно но не нашел (вернее нашел что то, но я думал может есть что то конкретное что почитать).
Спасибо сказали:
xdeathined
Сообщения: 31
ОС: Ubuntu

Re: ion3

Сообщение xdeathined »

баг с русским шрифтом лечится заменой файла XLC_LOCALE из xorg-x11-libs-6.8.2-30.3.i586.patch.rpm.
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

в общем, извините за длинный пост.
ион мне в целом понравился, но есть некоторые моменты которые мне не нравятся и которые бы хотелось исправить:

1)
B4rr4cuda писал(а):
06.03.2008 15:56
2Etherealhorror
Нет необходимости вручную грузить модуль статуса (dopath("statusd_info")), достаточно в cfg_statusbar.lua в шаблон прописать имя переменой которую надо отображать.
Например мой шаблон:
template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date"
Обратить внимание на выделеное.

выдает ту же ошибку. пробовал прописывать это в cfg_statusbar, пробовал statusd_info подключать - безрезультатно, та же ошибка. пытался гуглить, но к сожалению ничего не нашел.
в общем, так и не пойму как мониторить ЦПУ, РАМ и своп usage.

2)файловый менеджер, или как это назвать. в общем, хотелось бы броузить папки и запускать что хочется. есть мц, но из него нельзя запускать файлы. есть rox, но и с ним у меня были проблемы. там конечно можно задать команду при открытии файла. к примеру видео тотемом открывать, еще чето - гедитом и тд. захотелось мне открыть изображение. а команду (стандартную - не знаю). можно конечно гимпом открыть, но это не то. в гноме посмотрел че его открывает - Просмотрщик изображений. вписал - ничего. архивы пытался открыть - там вроде прога File roller - вписал - ничего.
в общем, прописывать для каждого типа файла свое действие как-то накладно.
вариант два - запустил наутилус. это получше. но с ним запускается и десктоп, который не закрывается им мешает. как запустить только файлменеджер?

3) цвета и глаза. понятное дело ночью не очень приятен белый экран. предположим есть черная консоль, но если с ней открыть какую-то книжку (а там будет белый фон) - то это будет ерунда. пытался оперу перекрасить в черный - вышел редкий бред (хотя и перекрасил).
Ethereal_horror
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

2 Etherealhorror
1) Вручную загружать - нельзя!
Далее строго по пунктам:
1) Файл statusd_info.lua должен находиться в searchdir иона.
2) Открываем любым редактором файл cfg_statusbar.lua и ищем строку

Код: Выделить всё

template=

3) Заменяем строку на template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date"
4) Проникаемся и читаем документацию.

2)Есть mc и из него можно запускать файлы. Если при ентере на файле, файл не открывается в просмотрщике, то
F9->Команда->Файл расширений и редактируем списки расширений и чем их открывать.

3) Сидеть ночью, без света = медленно, но верно лишаться зрения.
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

вот cfg_statusbar,lua, который лежит в /etc/X11/ion3/

Код:

-- -- Ion statusbar module configuration file -- -- Create a statusbar mod_statusbar.create{ -- First screen, bottom left corner screen=0, pos='bl', -- Set this to true if you want a full-width statusbar fullsize=false, -- Swallow systray windows systray=true, -- Template. Tokens %string are replaced with the value of the -- corresponding meter. Currently supported meters are: -- date date -- load load average (1min, 5min, 15min) -- load_Nmin N minute load average (N=1, 5, 15) -- mail_new mail count (mbox format file $MAIL) -- mail_unread mail count -- mail_total mail count -- mail_*_new mail count (from an alternate mail folder, see below) -- mail_*_unread mail count -- mail_*_total mail count -- -- Space preceded by % adds stretchable space for alignment of variable -- meter value widths. > before meter name aligns right using this -- stretchable space , < left, and | centers. -- Meter values may be zero-padded to a width preceding the meter name. -- These alignment and padding specifiers and the meter name may be -- enclosed in braces {}. -- -- %filler causes things on the marker's sides to be aligned left and -- right, respectively, and %systray is a placeholder for system tray -- windows and icons. -- --template="[ %date || load:% %>load || mail:% %>mail_new/%>mail_total ] %filler%systray", --template="[ %date || load: %05load_1min || mail: %02mail_new/%02mail_total ] %filler%systray", template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date" } -- Launch ion-statusd. This must be done after creating any statusbars -- for necessary statusd modules to be parsed from the templates. mod_statusbar.launch_statusd{ -- Date meter date={ -- ISO-8601 date format with additional abbreviated day name date_format='%a %Y-%m-%d %H:%M', -- Finnish etc. date format --date_format='%a %d.%m.%Y %H:%M', -- Locale date format (usually shows seconds, which would require -- updating rather often and can be distracting) --date_format='%c', -- Additional date formats. --[[ formats={ time = '%H:%M', -- %date_time } --]] }, -- Load meter load={ --update_interval=10*1000, --important_threshold=1.5, --critical_threshold=4.0, }, -- Mail meter -- -- To monitor more mbox files, add them to the files table. For -- example, add mail_work_new and mail_junk_new to the template -- above, and define them in the files table: -- -- files = { work = "/path/to/work_email", junk = "/path/to/junk" } -- -- Don't use the keyword 'spool' as it's reserved for mbox. mail={ --update_interval=60*1000, --mbox=os.getenv("MAIL"), --files={}, }, }


statusd_info находится в /usr/share/ion3/statusd_info.lua

если я просто запукаю систему - то выдает ошибку
>> /usr/share/ion3/statusd_info.lua:73: attempt to concatenate local 'info_CPU_user' (a nil value)

если я в cfg_ion прописываю dopath("statusd_info") то две ошибки

>> /usr/share/ion3/statusd_info.lua:73: attempt to concatenate local 'info_CPU_user' (a nil value)
и
>> /usr/lib/ion3/ion-statusd: /usr/share/ion3/statusd_info.lua:73: attempt to concatenate local 'info_CPU_user' (a nil value)

вот так....
вот навсяк сам statusd_info

Код:

-- statusd_info.lua -- CPU, Mem, and Swap information script -- Written by Randall Wald -- email: randy@rwald.com -- Released under the GPL -- -- Due to bug in "top b -n 1", uses "top b -n 2 -d 1|grep Cpu|tail -n 1" -- to get information about CPU usage and "free" to get information -- about memory and swap usage. -- -- If this script fails, manually check the output of "top b -n 2 -d 1|grep -i cpu". -- If it doesn't look similar to the below (in particular, if the -- "Cpu(s):" part is differently capitalized or punctuated), -- change the grep and the regexp in get_CPU_info() to match. -- Cpu(s): 16.9% us, 5.1% sy, 0.0% ni, 70.8% id, 6.5% wa, 0.1% hi, 0.5% si -- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND -- Cpu(s): 74.5% us, 3.9% sy, 0.0% ni, 19.6% id, 0.0% wa, 0.0% hi, 2.0% si -- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND -- -- Available monitors: -- %info_CPU_user Percentage of CPU used by user programs -- %info_CPU_system Percentage of CPU used by services -- %info_CPU_idle Percentage of CPU idle -- %info_CPU_ni \ -- %info_CPU_wa \ Other things reported by top; -- %info_CPU_hi / I'm not sure what they are -- %info_CPU_si / -- %info_RAM_total Total amount of RAM -- %info_RAM_used Amount of RAM used -- %info_RAM_free Amount of RAM free -- %info_RAM_shared Amount of RAM shared -- %info_RAM_buffers Amount of RAM in buffers -- %info_RAM_cached Amount of RAM cached -- %info_swap_total Total amount of swap -- %info_swap_used Amount of swap currently used -- %info_swap_free Amount of swap currently free -- -- Update Interval: -- (Note that the units are milliseconds) local update_interval = 0.1 * 1000 -- Memory monitors need a factor: -- b - "" -- k - "K" -- m - "M" -- g - "G" local mem_dimension = "M" -- Defines the factor for dividing the memory amount if mem_dimension == "" then mem_factor = 1 elseif mem_dimension == "K" then mem_factor = 1024 elseif mem_dimension == "M" then mem_factor = 1024^2 else mem_factor = 1024^3 end local function get_CPU_info() local f=io.popen('top b -n 2 -d 1|grep Cpu|tail -n 1','r') local s=f:read('*all') f:close() local _, _, info_CPU_user, info_CPU_system, info_CPU_ni, info_CPU_idle, info_CPU_wa, info_CPU_hi, info_CPU_si = string.find(s, "Cpu%(s%):%s+(%d+%.%d+%%) us,%s+(%d+%.%d+%%) sy,%s+(%d+%.%d+%%) ni,%s+(%d+%.%d+%%) id,%s+(%d+%.%d+%%) wa,%s+(%d+%.%d+%%) hi,%s+(%d+%.%d+%%) si") return info_CPU_user.."", info_CPU_system.."", info_CPU_ni.."", info_CPU_idle.."", info_CPU_wa.."", info_CPU_hi.."", info_CPU_si.."" end local function process_memory(value) local memory = value / mem_factor -- Truncate to just two digits after the decimal place memory = string.gsub(memory,"(%d+%.%d%d)(%d*)","%1") return memory end local function get_RAM_info() local f=io.popen('free -b','r') local s=f:read('*all') f:close() local _, _, info_RAM_total, info_RAM_used, info_RAM_free, info_RAM_shared, info_RAM_buffers, info_RAM_cached = string.find(s, "Mem:%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)") info_RAM_total = process_memory(info_RAM_total) info_RAM_used = process_memory(info_RAM_used) info_RAM_free = process_memory(info_RAM_free) info_RAM_shared = process_memory(info_RAM_shared) info_RAM_buffers = process_memory(info_RAM_buffers) info_RAM_cached = process_memory(info_RAM_cached) local _, _, info_swap_total, info_swap_used, info_swap_free = string.find(s, "Swap:%s+(%d+)%s+(%d+)%s+(%d+)") info_swap_total = process_memory(info_swap_total) info_swap_used = process_memory(info_swap_used) info_swap_free = process_memory(info_swap_free) return info_RAM_total..mem_dimension, info_RAM_used..mem_dimension, info_RAM_free..mem_dimension, info_RAM_shared..mem_dimension, info_RAM_buffers..mem_dimension, info_RAM_cached..mem_dimension, info_swap_total..mem_dimension, info_swap_used..mem_dimension, info_swap_free..mem_dimension end local function inform_info(name, value) if statusd ~= nil then statusd.inform(name, value) else io.stdout:write(name..": "..value.."\n") end end if statusd ~= nil then status_timer = statusd.create_timer() end local function update_info() local info_CPU_user, info_CPU_system, info_CPU_ni, info_CPU_idle, info_CPU_wa, info_CPU_hi, info_CPU_si = get_CPU_info() local info_RAM_total, info_RAM_used, info_RAM_free, info_RAM_shared, info_RAM_buffers, info_RAM_cached, info_swap_total, info_swap_used, info_swap_free = get_RAM_info() inform_info("info_CPU_user", info_CPU_user) inform_info("info_CPU_system", info_CPU_system) inform_info("info_CPU_ni", info_CPU_ni) inform_info("info_CPU_idle", info_CPU_idle) inform_info("info_CPU_wa", info_CPU_wa) inform_info("info_CPU_hi", info_CPU_hi) inform_info("info_CPU_si", info_CPU_si) inform_info("info_RAM_total", info_RAM_total) inform_info("info_RAM_used", info_RAM_used) inform_info("info_RAM_free", info_RAM_free) inform_info("info_RAM_shared", info_RAM_shared) inform_info("info_RAM_buffers", info_RAM_buffers) inform_info("info_RAM_cached", info_RAM_cached) inform_info("info_swap_total", info_swap_total) inform_info("info_swap_used", info_swap_used) inform_info("info_swap_free", info_swap_free) if statusd ~= nil then status_timer:set(update_interval, update_info) end end update_info()


вот написано в начале скрипта
-- If this script fails, manually check the output of "top b -n 2 -d 1|grep -i cpu".
-- If it doesn't look similar to the below (in particular, if the
-- "Cpu(s):" part is differently capitalized or punctuated),
-- change the grep and the regexp in get_CPU_info() to match.

это проходит и все как там написано (работает).

а насчет мц - во-первых там же биндинги на F клавиши(а менять не хочется), во-вторых я ж и не знаю что прописать чтоб открыть изображение - в свойсвах стоит открывать с помощью Просмотрщика изображений. только это не работает.
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

(Etherealhorror) писал(а):вот cfg_statusbar,lua, который лежит в /etc/X11/ion3/ ...

Не надо трогать то, что лежит в /etc/X11/ion3. Все пользовательские конфиги должны быть в ~/.ion3. Можно и скрипты туда скидывать и запускать "ion -searchdir /home/username/.ion3".
Насчёт statusd_info - у меня работает. Просто скинул statusd_info.lua в ~/.ion3 и добавил в template %info_RAM_used.
Насчёт mc. Биндинги на F* там поменять так запросто и не получится.
Насчёт "не знаю что прописать":

Код: Выделить всё

xprop | grep ^WM_COMMAND
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

скопировал в домашнюю директорию cfg_ion.lua и statusd_info.lua. - ничего. ион выбираю в опции- сессия при запуске системы, поэтому не иогу запустить с параметром серчдир. однако в мануале сказано что тот конфиг иона что в домашней папке важнее чем тот который в /etc/X11/ion3/ . вписал в ~/.ion3/cfg_ion.lua dopath("statusd_info") - та же ошибка, теперь уже от имени домашней директории....

xprop | grep ^WM_COMMAND а эта функция возвращает параметры ? а то там появляется крестик я что-то пощелкал им - ниче не произошло. может, не там щелкал ? это ж на файле надо или на окне ?
Ethereal_horror
Спасибо сказали:
Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: ion3

Сообщение TechnoMag »

Как сделать так, чтобы при загрузке ion в определенные фреймы автоматически загружались нужные программы?
Как по дефолту называются фреймы?

У меня три фрейма: 1 вверху, два внизу. Хотелось бы, чтобы в верхний загружался lynx. В нижние - mc и nedit.
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

mod_query.query_renameframe(_) - для переименования фрейма. потом в cfg_kludges.lua просто надо прописать для приложения target = "имя_фрейма" и все.
чтото типо этого
defwinprop{
instance = "opera",
class = "Opera",
role = "opera-mainwindow#1",
target = "opera"
}

target = "opera" означает то что опера грузится на воркспейсе опера (у меня). а если так назвать фрейм (см функцию вверху) - то будет во фрейме грузится.

и обязательно сделать сейв сешион.

ЗЫ. плз ответьте кто-нибудь на предыдущий пост ? а то я до сих пор не справился с теми проблемами =((
Ethereal_horror
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

1. Раза три уже говорили, что dopath("statusd_info") прописывать НЕ НУЖНО!!! И для всех остальных statusd_* тоже. Просто добавить в template индикаторы и всё. Если не работает, значит скорее всего где-то ошибка в конфигах.
2. xprop | grep ^WM_COMMAND: щёлкнуть по окну - выдаст команду, которой это окно принадлежит. Работает не всегда. Если не работает, можно посмотреть instance, он обычно совпадает с командой. Ну или в крайнем случае ps aux и искать.
Настоятельно советую почитать литературку по unix, а то на подобные вопросы отвечать скоро надоест (остальным, видимо, уже...)
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

Код:

-- statusd_info.lua -- CPU, Mem, and Swap information script -- Written by Randall Wald -- email: randy@rwald.com -- Released under the GPL -- -- Due to bug in "top b -n 1", uses "top b -n 2 -d 1|grep Cpu|tail -n 1" -- to get information about CPU usage and "free" to get information -- about memory and swap usage. -- -- If this script fails, manually check the output of "top b -n 2 -d 1|grep -i cpu". -- If it doesn't look similar to the below (in particular, if the -- "Cpu(s):" part is differently capitalized or punctuated), -- change the grep and the regexp in get_CPU_info() to match. -- Cpu(s): 16.9% us, 5.1% sy, 0.0% ni, 70.8% id, 6.5% wa, 0.1% hi, 0.5% si -- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND -- Cpu(s): 74.5% us, 3.9% sy, 0.0% ni, 19.6% id, 0.0% wa, 0.0% hi, 2.0% si -- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND -- -- Available monitors: -- %info_CPU_user Percentage of CPU used by user programs -- %info_CPU_system Percentage of CPU used by services -- %info_CPU_idle Percentage of CPU idle -- %info_CPU_ni \ -- %info_CPU_wa \ Other things reported by top; -- %info_CPU_hi / I'm not sure what they are -- %info_CPU_si / -- %info_RAM_total Total amount of RAM -- %info_RAM_used Amount of RAM used -- %info_RAM_free Amount of RAM free -- %info_RAM_shared Amount of RAM shared -- %info_RAM_buffers Amount of RAM in buffers -- %info_RAM_cached Amount of RAM cached -- %info_swap_total Total amount of swap -- %info_swap_used Amount of swap currently used -- %info_swap_free Amount of swap currently free -- -- Update Interval: -- (Note that the units are milliseconds) local update_interval = 0.1 * 1000 -- Memory monitors need a factor: -- b - "" -- k - "K" -- m - "M" -- g - "G" local mem_dimension = "M" -- Defines the factor for dividing the memory amount if mem_dimension == "" then mem_factor = 1 elseif mem_dimension == "K" then mem_factor = 1024 elseif mem_dimension == "M" then mem_factor = 1024^2 else mem_factor = 1024^3 end local function get_CPU_info() local f=io.popen('top b -n 2 -d 1|grep Cpu|tail -n 1','r') local s=f:read('*all') f:close() local _, _, info_CPU_user, info_CPU_system, info_CPU_ni, info_CPU_idle, info_CPU_wa, info_CPU_hi, info_CPU_si = string.find(s, "Cpu%(s%):%s+(%d+%.%d+%%) us,%s+(%d+%.%d+%%) sy,%s+(%d+%.%d+%%) ni,%s+(%d+%.%d+%%) id,%s+(%d+%.%d+%%) wa,%s+(%d+%.%d+%%) hi,%s+(%d+%.%d+%%) si") return info_CPU_user.."", info_CPU_system.."", info_CPU_ni.."", info_CPU_idle.."", info_CPU_wa.."", info_CPU_hi.."", info_CPU_si.."" end local function process_memory(value) local memory = value / mem_factor -- Truncate to just two digits after the decimal place memory = string.gsub(memory,"(%d+%.%d%d)(%d*)","%1") return memory end local function get_RAM_info() local f=io.popen('free -b','r') local s=f:read('*all') f:close() local _, _, info_RAM_total, info_RAM_used, info_RAM_free, info_RAM_shared, info_RAM_buffers, info_RAM_cached = string.find(s, "Mem:%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)%s+(%d+)") info_RAM_total = process_memory(info_RAM_total) info_RAM_used = process_memory(info_RAM_used) info_RAM_free = process_memory(info_RAM_free) info_RAM_shared = process_memory(info_RAM_shared) info_RAM_buffers = process_memory(info_RAM_buffers) info_RAM_cached = process_memory(info_RAM_cached) local _, _, info_swap_total, info_swap_used, info_swap_free = string.find(s, "Swap:%s+(%d+)%s+(%d+)%s+(%d+)") info_swap_total = process_memory(info_swap_total) info_swap_used = process_memory(info_swap_used) info_swap_free = process_memory(info_swap_free) return info_RAM_total..mem_dimension, info_RAM_used..mem_dimension, info_RAM_free..mem_dimension, info_RAM_shared..mem_dimension, info_RAM_buffers..mem_dimension, info_RAM_cached..mem_dimension, info_swap_total..mem_dimension, info_swap_used..mem_dimension, info_swap_free..mem_dimension end local function inform_info(name, value) if statusd ~= nil then statusd.inform(name, value) else io.stdout:write(name..": "..value.."\n") end end if statusd ~= nil then status_timer = statusd.create_timer() end local function update_info() local info_CPU_user, info_CPU_system, info_CPU_ni, info_CPU_idle, info_CPU_wa, info_CPU_hi, info_CPU_si = get_CPU_info() local info_RAM_total, info_RAM_used, info_RAM_free, info_RAM_shared, info_RAM_buffers, info_RAM_cached, info_swap_total, info_swap_used, info_swap_free = get_RAM_info() inform_info("info_CPU_user", info_CPU_user) inform_info("info_CPU_system", info_CPU_system) inform_info("info_CPU_ni", info_CPU_ni) inform_info("info_CPU_idle", info_CPU_idle) inform_info("info_CPU_wa", info_CPU_wa) inform_info("info_CPU_hi", info_CPU_hi) inform_info("info_CPU_si", info_CPU_si) inform_info("info_RAM_total", info_RAM_total) inform_info("info_RAM_used", info_RAM_used) inform_info("info_RAM_free", info_RAM_free) inform_info("info_RAM_shared", info_RAM_shared) inform_info("info_RAM_buffers", info_RAM_buffers) inform_info("info_RAM_cached", info_RAM_cached) inform_info("info_swap_total", info_swap_total) inform_info("info_swap_used", info_swap_used) inform_info("info_swap_free", info_swap_free) if statusd ~= nil then status_timer:set(update_interval, update_info) end end template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date" update_info()

сделал так...ниче не работает =( ошибки не пишет, но и не работает.
лежит statusd_info.lua, чье содержание я сейчас выложил, в ~/.ion3/
ни с строкой темплейта которую я вставил, ни без нее не работает.

видно что-то с руками у меня не то, подскажите что пожалуйста :wacko:

(еще - попробовал тупо скопировать туда же в ~/.ion3/ такие файлы как meminfo, cpustat - они вродь тоже ниче не показывают =(
Ethereal_horror
Спасибо сказали:
Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: ion3

Сообщение TechnoMag »

Etherealhorror писал(а):
13.03.2008 18:53
mod_query.query_renameframe(_) - для переименования фрейма. потом в cfg_kludges.lua просто надо прописать для приложения target = "имя_фрейма" и все.
чтото типо этого
defwinprop{
instance = "opera",
class = "Opera",
role = "opera-mainwindow#1",
target = "opera"
}

target = "opera" означает то что опера грузится на воркспейсе опера (у меня). а если так назвать фрейм (см функцию вверху) - то будет во фрейме грузится.

и обязательно сделать сейв сешион.

ЗЫ. плз ответьте кто-нибудь на предыдущий пост ? а то я до сих пор не справился с теми проблемами =((


что за параметр в role? Как его получить?
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:
3al
Сообщения: 131
ОС: Arch

Re: ion3

Сообщение 3al »

TechnoMag писал(а):
13.03.2008 22:12
что за параметр в role? Как его получить?

Например, правой кнопкой по табу окна и Window info.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: ion3

Сообщение /dev/random »

Etherealhorror писал(а):
13.03.2008 22:02

Код: Выделить всё

-- statusd_info.lua
-- CPU, Mem, and Swap information script
-- Written by Randall Wald
-- email: randy@rwald.com
-- Released under the GPL
--

[CROPPED]

[b]template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date"[/b]

update_info()

Это ЧТО?!?!
Удалить нафиг statusd_info.lua!!!!

За исключение скриптов, написанных самим пользователем, РЕДАКТИРОВАТЬ СЛЕДУЕТ ТОЛЬКО ФАЙЛЫ cfg_*.lua.

Строка template прописывается в cfg_statusbar.lua. Это черным по белому написано в официальной документации.

Кстати, всё это уже говорилось выше, просто кое-кто не удосужился прочитать ни документацию, ни советы, которые ему дали на форуме.
Спасибо сказали:
Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: ion3

Сообщение TechnoMag »

Копался в скриптах стилей ion. Так и не нашел где меняется размер шрифта в статусбаре. Подскажите, пожалуйста.
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:
festin
Сообщения: 9
ОС: FreeBSD 7.1

Re: ion3

Сообщение festin »

TechnoMag писал(а):
13.03.2008 23:38
Копался в скриптах стилей ion. Так и не нашел где меняется размер шрифта в статусбаре. Подскажите, пожалуйста.

В файлах lookcommon_*.lua есть блок вида:
de.defstyle("stdisp", {
...
})

там есть определение типа font="-misc-fixed-medium-r-*-*-13-*-*-*-*-60-*-*". Насколько я знаю, шрифт в статусбаре меняется именно так.
Спасибо сказали:
Аватара пользователя
Etherealhorror
Сообщения: 45

Re: ion3

Сообщение Etherealhorror »

/dev/random писал(а):
13.03.2008 22:40
Etherealhorror писал(а):
13.03.2008 22:02

Код: Выделить всё

-- statusd_info.lua
-- CPU, Mem, and Swap information script
-- Written by Randall Wald
-- email: randy@rwald.com
-- Released under the GPL
--

[CROPPED]

[b]template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date"[/b]

update_info()

Это ЧТО?!?!
Удалить нафиг statusd_info.lua!!!!

За исключение скриптов, написанных самим пользователем, РЕДАКТИРОВАТЬ СЛЕДУЕТ ТОЛЬКО ФАЙЛЫ cfg_*.lua.

Строка template прописывается в cfg_statusbar.lua. Это черным по белому написано в официальной документации.

Кстати, всё это уже говорилось выше, просто кое-кто не удосужился прочитать ни документацию, ни советы, которые ему дали на форуме.


извините, может я неправ, но я УЖЕ пробовал вставлять строку темплейт в cfg_statusbar.lua. я ж говорю, выдает ошибку, почему НЕ пойму


Код:

-- -- Ion statusbar module configuration file -- -- Create a statusbar mod_statusbar.create{ -- First screen, bottom left corner screen=0, pos='bl', -- Set this to true if you want a full-width statusbar fullsize=false, -- Swallow systray windows systray=true, -- Template. Tokens %string are replaced with the value of the -- corresponding meter. Currently supported meters are: -- date date -- load load average (1min, 5min, 15min) -- load_Nmin N minute load average (N=1, 5, 15) -- mail_new mail count (mbox format file $MAIL) -- mail_unread mail count -- mail_total mail count -- mail_*_new mail count (from an alternate mail folder, see below) -- mail_*_unread mail count -- mail_*_total mail count -- -- Space preceded by % adds stretchable space for alignment of variable -- meter value widths. > before meter name aligns right using this -- stretchable space , < left, and | centers. -- Meter values may be zero-padded to a width preceding the meter name. -- These alignment and padding specifiers and the meter name may be -- enclosed in braces {}. -- -- %filler causes things on the marker's sides to be aligned left and -- right, respectively, and %systray is a placeholder for system tray -- windows and icons. -- --template="[ %date || load:% %>load || mail:% %>mail_new/%>mail_total ] %filler%systray", --template="[ %date || load: %05load_1min || mail: %02mail_new/%02mail_total ] %filler%systray", template="[ load:% %>load ] [CPU: %info_CPU_user RAM:%info_RAM_used ] %filler %systray %date" } -- Launch ion-statusd. This must be done after creating any statusbars -- for necessary statusd modules to be parsed from the templates. mod_statusbar.launch_statusd{ -- Date meter date={ -- ISO-8601 date format with additional abbreviated day name date_format='%a %Y-%m-%d %H:%M', -- Finnish etc. date format --date_format='%a %d.%m.%Y %H:%M', -- Locale date format (usually shows seconds, which would require -- updating rather often and can be distracting) --date_format='%c', -- Additional date formats. --[[ formats={ time = '%H:%M', -- %date_time } --]] }, -- Load meter load={ --update_interval=10*1000, --important_threshold=1.5, --critical_threshold=4.0, }, -- Mail meter -- -- To monitor more mbox files, add them to the files table. For -- example, add mail_work_new and mail_junk_new to the template -- above, and define them in the files table: -- -- files = { work = "/path/to/work_email", junk = "/path/to/junk" } -- -- Don't use the keyword 'spool' as it's reserved for mbox. mail={ --update_interval=60*1000, --mbox=os.getenv("MAIL"), --files={}, }, }


пробовал просто редактировать цфг_статусбар (/etc/X11/ion3). пробовал оставлять этот файл БЕЗ изменений а файл с темплейтом копировал в ~/.ion3.
я пробовал - ошибка та же.
Ethereal_horror
Спасибо сказали: