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

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

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

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

Re: ion3

Сообщение DiKeert »

Кстати, вот хинт.
Я перенастроил прямо в cfg_ion.lua клавиши так:

META="Mod4+"
ALTMETA="Mod1+"

Теперь все что было на Alt+клавиша, стало win+клавиша, а все хоткеи, которые были просто так стали alt+стрый_хоткей. То есть вместо F2 для вызова терминала жмем alt+f2. И мне этого хватило, что бы мои биндинги в vim и остальных прогах заработали без проблем.
Тело это только одежда
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

DiKeert
Вы забавный человечек, уважаемый. :) Сначала ответить на сообщение от 2006 года, а потом подарить совет, который без сомнения полезен (сам также сделал давным давно), но который напрашивается уже на первый же день пользования ионом.
И раз уж ты
ходячий грамнотный ресурс по Ion
, то подскажи мне плиз, каким макаром определит область на статус-баре, куда кликнули мышью. Само нажатие понятно:

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

ioncore.defbindings("WStatusBar", {
    mpress("Button1", "cmd"),
})
а вот область...
All
Ладно, стеб это, но вопрос в силе: можно ли из скрипта определить область статусбара куда кликнули?
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

Если вам, также как и мне надоело держать по пять-десять воркспейсов, для разных прог, то попробуйте этот скриптик для управления воркспейсами (десктопами).
Использовать его очень просто:
1. Перешли на уже разбитый воркспейс (или создали новый, назвали фреймы, подрулили размеры).
2. На ALTMETA.."D" забиндена менюшка (в конце скрипта). Вызвали её.
3. Выбрали пункт "Save this workspace", ввели имя под которым в-спейс будет храниться, ентер.

Теперь можно его закрыть пунктом меню "Close this workspace".
Снова вызываем менюшку, подменю "Load workspace->" выбираем сохранённый стол. В-спейс будет загружен с теми же именами фремов и размерами, с которыми он был сохранён.

Загрузка одного и того же стола два и более раз - блокирована, т.к. фреймы стола-копии будут поименованы с добавлением префикса (LazMain<1> например).
Загрузка скрипта dopath-ом.

deskman.lua:

Код:

-- FILE: deskman.lua -- AUTHOR: Dmitry Kolomiets <B4rr4cuda at rambler dot ru> -- DESCRIPTION: Workspace manager. Allow to save, load and close workspaces. Press ALTMETA.."D" to show menu. -------------------------------------------------------------------------------- local settings={ --savedir="", --desks and config will be saved in ~/.ion3/default-session--x/ savedir="../", --save desks and config in ~/.ion3/ directory --savedir="../Desks/", --need manual creation of "Desks" directory in ~/.ion3 } local desklist={}; local function getsavepath() return ioncore.get_paths().sessiondir; end local function load_list() desklist={}; for line in io.lines(getsavepath()..'/'..settings.savedir..'.settings') do table.insert(desklist,line); end end local function save_list() local f=io.open(getsavepath()..'/'..settings.savedir..'.settings','w'); for i,k in pairs(desklist) do f:write(k.."\n"); end f:close() end load_list(); DeskMan={} ---this cut based on collapse.lua code -------------------------------------- function DeskMan.take_frame_to_here (region, current) if region ~= current then region:managed_i(function (cwin) ioncore.defer(function () current:attach(cwin) end) return true end) ioncore.defer(function () region:rqclose() end) end return true end function DeskMan.close_workspace(ws) local current = ws:current() ws:managed_i (function (region) return DeskMan.take_frame_to_here(region, current) end) current:rqclose() end -------------------------------------- ---this cut based on collapse.lua code function DeskMan.load_desk(bname) local t=ioncore.read_savefile(settings.savedir..bname) if (t==nil) then return end if ioncore.lookup_region(t['name'],t['type'])~=nil then ioncore.warn('One copy of '..bname..' desktop is already loaded'); return; end ioncore.create_ws(ioncore.find_screen_id(0),t); WRegion.goto(ioncore.lookup_region(t['name'],t['type'])); end function DeskMan.save_desk(wt,bname) --use _:manager() for wt on manual call if (wt==nil) then ioncore.warn("wt param is nil"); return; end; local t=WRegion.get_configuration(wt); ioncore.write_savefile(settings.savedir..bname,t); table.insert(desklist,bname); save_list(); end function DeskMan.save_query(frm) -- use _ for manual call local sss=""; local function getval(mp,str) if string.len(str)==0 then return end DeskMan.save_desk(frm:manager(),str); end mod_query.query(frm,'Enter the name for this desktop:','',getval) end local function nop() end function DeskMan.show_menu(frm) load_list(); local amenu={}; local subm={}; local ent; for i,k in pairs(desklist) do ent=menuentry(k,"DeskMan.load_desk('"..k.."')"); table.insert(subm,ent); end table.insert(amenu,submenu('Load workspace->',subm)); ent=menuentry('Save this workspace',"DeskMan.save_query(_)"); table.insert(amenu,ent); ent=menuentry('-------------------',"nop()"); table.insert(amenu,ent); ent=menuentry('Close this workspace',"DeskMan.close_workspace(_:manager())"); table.insert(amenu,ent); mod_menu.menu(frm,frm,amenu); end defbindings("WFrame", { kpress(ALTMETA.."D", "DeskMan.show_menu(_)"), --kpress(ALTMETA.."Q", "DeskMan.close_workspace(_:manager())"), })
Спасибо сказали:
Аватара пользователя
DiKeert
Сообщения: 17

Re: ion3

Сообщение DiKeert »

B4rr4cuda писал(а):
17.07.2008 01:33
DiKeert
Вы забавный человечек, уважаемый. :) Сначала ответить на сообщение от 2006 года, а потом подарить совет, который без сомнения полезен (сам также сделал давным давно), но который напрашивается уже на первый же день пользования ионом.
И раз уж ты
ходячий грамнотный ресурс по Ion
, то подскажи мне плиз, каким макаром определит область на статус-баре, куда кликнули мышью. Само нажатие понятно:

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

ioncore.defbindings("WStatusBar", {
    mpress("Button1", "cmd"),
})
а вот область...
All
Ладно, стеб это, но вопрос в силе: можно ли из скрипта определить область статусбара куда кликнули?



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

Re: ion3

Сообщение B4rr4cuda »

DiKeert писал(а):
21.07.2008 17:16
Ой, да ладно, пошутить нельзя?

Ты пошутил - я постебался... :)
Фигня это фсе. Вываливай ещё хинты, вдруг что-то новенькое-интересненькое проскользнет. А то темка подзаглохла... Я тоже отсебятины кину:

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

--вин+(вверх/вниз/вправо/влево) переключается на фрейм расположенный
--в своответвующем направлении (на разбитом деске)
     kpress(ALTMETA.."Up", "ioncore.goto_next(_chld, 'up')", "_chld:non-nil"),
     kpress(ALTMETA.."Down", "ioncore.goto_next(_chld, 'down')", "_chld:non-nil"),
     kpress(ALTMETA.."Right", "ioncore.goto_next(_chld, 'right')", "_chld:non-nil"),
     kpress(ALTMETA.."Left", "ioncore.goto_next(_chld, 'left')", "_chld:non-nil"),
--цикличное переключение фремов на разбитом деске
     kpress(META.."Tab", "ioncore.goto_next(_chld, 'next')","_chld:non-nil"),
Спасибо сказали:
Аватара пользователя
DiKeert
Сообщения: 17

Re: ion3

Сообщение DiKeert »

B4rr4cuda писал(а):
21.07.2008 18:34
Фигня это фсе. Вываливай ещё хинты, вдруг что-то новенькое-интересненькое проскользнет. А то темка подзаглохла... Я тоже отсебятины кину:


Что там больно-то вываливать? Ну скратчпады с именами, ну приложения к ним прикручены.
Вот бы найти как автозапуск организовать - это было бы интереснее. При чем не просто автозапуск, а автозапуск при старте из gdm.

Хотя, вот еще хинт.

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

--[[
    min_tabs.lua

    lua code to auto show/hide tabs as the number of windows in an ion frame
    changes from/to 1
    this affects windows on WIonWS and WPaneWS workspaces but leave
    windows on WFloatWS's alone

    one way to enable this is by adding
    dopath("min_tabs")
    to cfg_ion.lua

]]

function show_only_necessary_tabs_in_frame(fp)
    if WFrame.mode(fp) == 'floating' then
    -- Escape: floatws thing should not be handled
        return
    end


    -- First the logic, then the propagation back to ion

    -- It should *not* be shown if there is only one app
    -- However, this (single) app should not be tagged,
    -- because then we would want to show it.

    -- Assume the tabbar should be shown.
    local show_bar = true
    if WMPlex.mx_count(fp) == 1 then
    local rg = fp:mx_nth(0)
    if not rg:is_tagged() then
        show_bar = false
    end
    end

    -- Propagate choice
    ioncore.defer(function()
        -- don't touch transient frames
        if fp:mode() ~= "transient" then
        if show_bar then
                fp:set_mode("tiled")
            else
                fp:set_mode("tiled-alt")
            end
        end
     end)
end



function show_only_necessary_tabs_in_frame_wrapper(ftable)
    show_only_necessary_tabs_in_frame(ftable.reg)
end



function min_tabs_setup_hook()
    local hk=ioncore.get_hook("frame_managed_changed_hook")
    hk:add(show_only_necessary_tabs_in_frame_wrapper)
end



function min_tabs_tag_wrapper(fr,reg)

    -- Note the ugly code: this actually caters for two versions of ion3
    -- I am only including this because I like Ubuntu [CC]

    local oldversion = (reg["toggle_tag"] ~= nil)
    if oldversion then

        -- old version (for Ubuntu, can be removed later on)
        reg:toggle_tag()

    else

        -- new version
        reg:set_tagged("toggle")

    end

    -- recompute tabbar state
    show_only_necessary_tabs_in_frame(fr)
end


--[[
    Special keybinding override for this extension
]]

defbindings("WMPlex.toplevel", {
    bdoc("Tag current object within the frame."),
    kpress(META.."T", "min_tabs_tag_wrapper(_,_sub)", "_sub:non-nil"),
})



min_tabs_setup_hook()



кладем скриптик в .ion3/min_tabs и подключаем его. В результате фреймы не имеют заголовков. Если использовать прозрачные фреймы с обоями и прозрачные терминалы (как я urxvt например) то выглядит намного эстетичнее. Включается и выключается META + T, как это собсна видно из кода. А вообще, могу еще поделиться своей настройкой цветов и фреймов и также конфигом urxvt к нему. :rolleyes:
Тело это только одежда
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

Мин табс я тоже использую, а вот на конф urxvt под него было бы интересно глянуть.
Спасибо сказали:
Аватара пользователя
DiKeert
Сообщения: 17

Re: ion3

Сообщение DiKeert »

B4rr4cuda писал(а):
22.07.2008 08:34
Мин табс я тоже использую, а вот на конф urxvt под него было бы интересно глянуть.


Лови:

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

URxvt*font: -*-terminus-medium-r-normal-*-14-*-*-*-*-*-iso10646-1
URxvt*boldfint: -*-terminus-medium-r-normal-*-14-*-*-*-*-*-iso10646-1
URxvt*background: #2E3436
URxvt*cursorColor: #ABABAB
URxvt*foreground: #D3D3D3
URxvt*scrollBar: false
URxvt*color0: #000000
URxvt*color1: #AA0000
URxvt*color2: #00AA00
URxvt*color3: #AA5500
URxvt*color4: #0000AA
URxvt*color5: #AA00AA
URxvt*color6: #00AAAA
URxvt*color7: #AAAAAA
URxvt*color8: #555555
URxvt*color9: #FF5555
URxvt*color10: #55FF55
URxvt*color11: #FFFF55
URxvt*color12: #5555FF
URxvt*color13: #FF55FF
URxvt*color14: #55FFFF
URxvt*color15: #FFFFFF
URxvt*saveLines: 5000
URxvt*geometry: 75x40
URxvt*internalborder: 0
URxvt*externalborder: 0
URxvt*scrollBar_right: on
URxvt*sсrollBar: False
URxvt.scrollTtyOutput: true
URxvt*inheritPixmap: True
URxvt*shading: 0
Тело это только одежда
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

Thanks, мило смотрится. Только добавляем к этому

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

URxvt*perl-ext: tabbed
для табов...
Чего-то мы не в ту степь полетели... :)
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5413
ОС: Gentoo

Re: ion3

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

B4rr4cuda писал(а):
22.07.2008 20:52
Thanks, мило смотрится. Только добавляем к этому

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

URxvt*perl-ext: tabbed
для табов...
Чего-то мы не в ту степь полетели... :)

ИМХО, табы удобнее реализовывать через screen
Спасибо сказали:
Аватара пользователя
DiKeert
Сообщения: 17

Re: ion3

Сообщение DiKeert »

/dev/random писал(а):
22.07.2008 21:33
ИМХО, табы удобнее реализовывать через screen


ИМХО, табы не нужны.
Я ion пользую по причине нетерпимости к перекрывающимся окнам.
Поэтому и табы не терплю. Мне хвататет воркспейсов.
На 1 у меня - три фрейма. Один для Vim, другой для консольных команд, в третьем висит ncmpc.(он совсем маленький)
на 2 - только firefox.
на 3 - два фрейма один 3/4 экрана - mc и к нему на всякий случай на 1/4 экрана консоль.
И 4 - один фрейм для mutt
Иногда еще на 4 запускаю всяке графически проги. Хотя чаще всего они запускаются из mc, путем открытия каких либо файлов.
А потом переводятся в полноэкранный режим, таким образом оказываясь на 5 ворспейсе.
А, еще finch в scratchpad'е.
Тело это только одежда
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

/dev/random писал(а):
22.07.2008 21:33
ИМХО, табы удобнее реализовывать через screen

Пробовал - не нравится. Нет наглядности.
Я, вообще-то, большей частью Konsole использую, никак не могу найти что-то полегче, удовлетворяющее мой не самый изощренный вкус. Urxvt понравился, но его подержка цветов меня убивает.

DiKeert писал(а):
22.07.2008 23:56
ИМХО, табы не нужны.

ИМХО табы просто неоходимы. У меня один основной воркспейс, на котором проходит большая часть моего времени. Он по мере необходимости разбивается и собирается. Активно используется 4 скретчпада. Обычно в них висит по консоле с 5-10 вкладками и десяток доков и сорцев в браузере\gvim-e\Scite.
Остальные воркспейсы для лазаруса\dia\mseide и прочих тулзов, я, по мере необходимости, создаю своим скриптиком deskman.
Поэтому вкладки мне необходимы, ввиду большой "плотности" набивки окнами.
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

А кто-нибудь случайно не знает, как работает режим embedded для дока? В cfg_dock.lua ставлю mode="embedded", перезапускаю ion, получаю ругань:

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

Ion startup error log:
>> Screen 0 already has an stdisp. Refusing to add embedded dock.
>> Stack trace:
   0 [C]: in 'create'
   1 /home/pasha/.ion3/cfg_dock.lua:6
     [Skipping unnamed C functions.]
   5 [C]: in 'load_module'
   6 stdin:1
     [Skipping unnamed C functions.]
   9 [C]: in 'dopath'
   10 /home/pasha/.ion3/cfg_ion.lua:58
     [Skipping unnamed C functions.]

Дока нет. 6-я строка в cfg_dock.lua - это mod_dock.create{<...>. Кроме строки mode="embedded" в нём всё дефолтное. Строка 58 в cfg_ion.lua - это dopath("mod_dock"). С mode="floating" работает, показывается и прячется по META.."D".
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

I guess, you just missed the fact, that the embedded dock and
statusbar cannot be running at once. You should use either the
embedded dock or the statusbar :(

Отсюда
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

Печально :(
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

Небольшое дополнение для mpd.lua - удаляет текущую песню из списка и перемещает файл в указанную директорию:

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

...
local settings = {
  hostname = "localhost",
  password = nil,
  port = 6600,
  volume_delta = 10,
----------------------------------
  musicpath= "/home/b4rr4/Music/",
  deldir= "/tmp/___music_to_delete/",
----------------------------------
}
....
----------------------------------
function MusicPD.delete_current()
  local songinfo= MusicPD.call_command("currentsong")

   if not io.open(settings.deldir,"r") then
     local h=io.popen('mkdir '..settings.deldir,'r')
     h:close()
   end

   if songinfo.id then
     MusicPD.call_command("deleteid "..songinfo.id);
     local h=io.popen('mv "'..settings.musicpath..songinfo.file..'" "'..settings.deldir..'"')
     h:close()
   end
end
----------------------------------


Файл целиком, для тех кому лениво. :)

Код:

-- Small interface to MusicPD -- -- Author: Steve Jothen <sjothen at gmail dot com> -- -- Requires netcat -- -- Change your path/settings according to your setup -- -- defbindings("WScreen", { -- kpress("KP_6", "MusicPD.next()"), -- next song -- kpress("KP_4", "MusicPD.previous()"), -- previous song -- kpress("KP_2", "MusicPD.volume_down()"), -- volume down settings.volume_delta units -- kpress("KP_8", "MusicPD.volume_up()"), -- volume up .... -- kpress("KP_5", "MusicPD.toggle_play()") -- toggle play/pause/stop -- }) local netcat = "/usr/bin/netcat" local settings = { hostname = "localhost", password = nil, port = 6600, volume_delta = 10, musicpath= "/home/b4rr4/Music/", deldir= "/tmp/___music_to_delete/", } MusicPD = {} function MusicPD.file_exists() if io.open(netcat, "r") then -- check to see if file exists return true else return false end end -- creates the appropriate string to call with io.popen -- function MusicPD.create_command(command) local arguments = nil if settings.password then arguments = string.format( "echo -n \"password %s\n%s\nclose\n\" | %s %s %d", settings.password, command, netcat, settings.hostname, settings.port) else arguments = string.format( "echo -n \"%s\nclose\n\" | %s %s %d", command, netcat, settings.hostname, settings.port) end return arguments end -- calls the command and returns table of key, value pairs -- function MusicPD.call_command(command) local arg_cmd = MusicPD.create_command(command) local values = {} if MusicPD.file_exists() then local handle = io.popen(arg_cmd, "r") local line = handle:read("*l") while line do local _, _, key, value = string.find(line, "(.+):%s(.+)") if key then values[string.lower(key)] = value end line = handle:read("*l") end handle:close() end return values end function MusicPD.next() MusicPD.call_command("next") end function MusicPD.previous() MusicPD.call_command("previous") end function MusicPD.pause() MusicPD.call_command("pause") end function MusicPD.stop() MusicPD.call_command("stop") end function MusicPD.volume_up() local stats = MusicPD.call_command("status") local cur_volume = tonumber(stats.volume) local new_volume if cur_volume == 100 then return nil elseif cur_volume + settings.volume_delta > 100 then new_volume = string.format("setvol %d", 100) else new_volume = string.format("setvol %d", settings.volume_delta + cur_volume) end MusicPD.call_command(new_volume) end function MusicPD.volume_down() local stats = MusicPD.call_command("status") local cur_volume = tonumber(stats.volume) local new_volume if cur_volume == 0 then return nil elseif cur_volume - settings.volume_delta < 0 then new_volume = string.format("setvol %d", 0) else new_volume = string.format("setvol %d", cur_volume - settings.volume_delta) end MusicPD.call_command(new_volume) end function MusicPD.toggle_random() local stats = MusicPD.call_command("status") local random = tonumber(stats.random) if random == 0 then MusicPD.call_command("random 1") elseif random == 1 then MusicPD.call_command("random 0") end end function MusicPD.toggle_repeat() local stats = MusicPD.call_command("status") local rpt = tonumber(stats["repeat"]) if rpt == 0 then MusicPD.call_command("repeat 1") else MusicPD.call_command("repeat 0") end end function MusicPD.toggle_play() local stats = MusicPD.call_command("status") if stats.state == "play" then MusicPD.call_command("pause") elseif stats.state == "pause" then MusicPD.call_command("pause") elseif stats.state == "stop" then MusicPD.call_command("play") end end function MusicPD.delete_current() local songinfo= MusicPD.call_command("currentsong") if not io.open(settings.deldir,"r") then local h=io.popen('mkdir '..settings.deldir,'r') h:close() end if songinfo.id then MusicPD.call_command("deleteid "..songinfo.id); local h=io.popen('mv "'..settings.musicpath..songinfo.file..'" "'..settings.deldir..'"') h:close() end end defbindings("WScreen", { kpress("KP_6", "MusicPD.next()"), kpress("KP_4", "MusicPD.previous()"), kpress("KP_2", "MusicPD.volume_down()"), kpress("KP_8", "MusicPD.volume_up()"), kpress("KP_5", "MusicPD.toggle_play()"), kpress("KP_7", "MusicPD.toggle_repeat()"), kpress("KP_9", "MusicPD.toggle_random()") })
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5413
ОС: Gentoo

Re: ion3

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

B4rr4cuda писал(а):
08.08.2008 22:34
Небольшое дополнение для mpd.lua - удаляет текущую песню из списка и перемещает файл в указанную директорию:

Вообще-то опасно. Можно промахнуться мимо клавиши, и слишком поздно понять, что
(bor #55946) писал(а):* evghoul только что понял, что листал фотки с флешки клавишей delete
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

/dev/random писал(а):
08.08.2008 22:55
Вообще-то опасно. Можно промахнуться мимо клавиши, и слишком поздно понять, что

Потому и использую перемещение файла в указанную директорию (карантин :)), а не удаление.
А насчет "промахнуться": как думаешь, легко промахнуться по сочетанию ктрл+альт+вин+D ? :)
Спасибо сказали:
valpolyakov
Сообщения: 9
ОС: ArchLinux

Re: ion3

Сообщение valpolyakov »

люди, подскажите:

где мне взять mod_xkb ? погуглил, не нашёл :/

насколько я понял, мне он нужен для того что бы xkbion.lua работал

а xkbion.lua мне нужен для того чтоб в моём статусбаре отображалась текущая раскладка клавы )

подскажите, пожалуйста..

а я в свою очередь могу от себя дать вот что: я тут позадирал автора ion3, слегка, и он сделал официальный патч на уникод, чтоб русские заголовки в firefox, например, отображались корректно.

прилагаю скриншот того как выглядит заголовок с Terminus шрифтом:

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

Re: ion3

Сообщение B4rr4cuda »

Хм, у меня и без патча на утф-8 все красиво - тоже терминус, тоже все отображает.
Или я чего-то не догоняю?
Спасибо сказали:
valpolyakov
Сообщения: 9
ОС: ArchLinux

Re: ion3

Сообщение valpolyakov »

B4rr4cuda писал(а):
11.08.2008 00:02
Хм, у меня и без патча на утф-8 все красиво - тоже терминус, тоже все отображает.
Или я чего-то не догоняю?


когда я собрал ion3 из исходников, русские шрифты в заголовках были жирными/расплывчатыми, и просто выглядели так как будто были вытащены из задницы.. :)

может быть у тебя какие то неофициальные/неподдержаные патчи прописаны (типа xft/fontconfig) ?
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: ion3

Сообщение wzrd »

valpolyakov писал(а):
10.08.2008 23:16
если кому нибудь нужен этот патч (он для ion-3-20080707) пишете, я дам.

можете поделится? я думаю он будет полезен, не только мне.
Спасибо сказали:
valpolyakov
Сообщения: 9
ОС: ArchLinux

Re: ion3

Сообщение valpolyakov »

wzrd писал(а):
11.08.2008 02:45
valpolyakov писал(а):
10.08.2008 23:16
если кому нибудь нужен этот патч (он для ion-3-20080707) пишете, я дам.

можете поделится? я думаю он будет полезен, не только мне.


да пожалуйста: http://www.polyakov.me/unihack.diff

кладёте этот патч в исходники, и делаете patch -p1 < unihack.diff


со мной кто нибудь поделится тем о чём я попросил? :)
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: ion3

Сообщение Black »

mod_xkb раньше лежал в darcs. Я его с полгода назад пытался прикручивать, но не осилил. Так и остался на xxkb. Потом, начитамшись вот этого сделал переключение левым и правым ctrl, а xxkb выкинул.
Собирать так: создать в исходниках ion'а каталог mod_xkb, положить туда mod_xkb.c и Makefile (по аналогии с другими модулями). Потом добавить в modulelist.mk в конец строки MODULE_LIST mod_xkb и пересобрать ion. С этим у меня никаких проблем не было, а вот дальше никак. Прописываю в cfg_ion пример из xkbion'а, он ругается не понятно на что и никакой xkbion не работает. Не знаю, может сейчас что-нибудь и исправили, но мне уже не надо :).
PS: насчёт патча: как пишет автор, ion тут не при чём, патчить надо иксы, см. предыдущую страницу.
http://modeemi.cs.tut.fi/~tuomov/ion/faq/e...y_problems.html
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
B4rr4cuda
Сообщения: 82
ОС: SlackWare

Re: ion3

Сообщение B4rr4cuda »

Black писал(а):
11.08.2008 09:57
PS: насчёт патча: как пишет автор, ion тут не при чём, патчить надо иксы, см. предыдущую страницу.

Хе-хе, тогда все нормально. XLC_LOCALE у меня с предыдущей страницы :). Без него шрифты действительно ужасны.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5413
ОС: Gentoo

Re: ion3

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

B4rr4cuda писал(а):
13.08.2008 14:55
Black писал(а):
11.08.2008 09:57
PS: насчёт патча: как пишет автор, ion тут не при чём, патчить надо иксы, см. предыдущую страницу.

Хе-хе, тогда все нормально. XLC_LOCALE у меня с предыдущей страницы :). Без него шрифты действительно ужасны.

8 августа автор изменил способ вывода текста (пока только в darcs), так, что исправление XLC_LOCALE больше не требуется.
По-видимому, приведённый valpolyakov патч - это он и есть.
Спасибо сказали:
valpolyakov
Сообщения: 9
ОС: ArchLinux

Re: ion3

Сообщение valpolyakov »

мне всё ещё никто не объяснил как я могу получить индикатор текущей раскладки клавиатуры в ion3 statusbar.

кто нибудь может объяснить каким образом получить этот индикатор?

я не хочу использовать чего нибудь типа KDE-евского kkbswitch, ибо мне кажется устанавливать kdebase и иметь кучу зависимостей для чего то настолько тривиального просто глупо.

что мне нужно сделать чтоб просто получить либо "US" либо "RU" на statusbar?
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: ion3

Сообщение polachok »

что мне нужно сделать чтоб просто получить либо "US" либо "RU" на statusbar?


ну если на этот статусбар можно получать stdout, то проще всего юзать http://www.rootshell.be/~polachok/code/skb.tar.gz
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5413
ОС: Gentoo

Re: ion3

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

valpolyakov писал(а):
17.08.2008 02:19
мне всё ещё никто не объяснил как я могу получить индикатор текущей раскладки клавиатуры в ion3 statusbar.

кто нибудь может объяснить каким образом получить этот индикатор?

я не хочу использовать чего нибудь типа KDE-евского kkbswitch, ибо мне кажется устанавливать kdebase и иметь кучу зависимостей для чего то настолько тривиального просто глупо.

что мне нужно сделать чтоб просто получить либо "US" либо "RU" на statusbar?

Да всё объяснили. xkbion.lua с этим прекрасно справляется (см. параметр statusname). Если есть проблемы с компиляцией mod_xkb - решение описали несколько постов назад. А если непонятно, где его взять, чтобы скомпилировать по инструкции выше, то он в пакете scripts лежит.
Спасибо сказали:
valpolyakov
Сообщения: 9
ОС: ArchLinux

Re: ion3

Сообщение valpolyakov »

/dev/random писал(а):
17.08.2008 02:36
Да всё объяснили. xkbion.lua с этим прекрасно справляется (см. параметр statusname). Если есть проблемы с компиляцией mod_xkb - решение описали несколько постов назад. А если непонятно, где его взять, чтобы скомпилировать по инструкции выше, то он в пакете scripts лежит.


в каком пакете scripts?

я вот здесь смотрел: http://modeemi.fi/~tuomov/repos/ion-scripts-3/
там нету.

в darcs смотрел (darcs get --lazy http://modeemi.fi/~tuomov/repos/ion-3plus/ )
там тоже нет.

что за пакет? где его взять?
Спасибо сказали: