Hi,
Of course, I send you the link for the latest default awesomerc.lua wich
only work for awesome 3.5 !
I agree with you, the Awesome API doc is sometime incomplete or cryptic,
but I remember that someone start to fix this (see the mailing list
archives).
So, sorry, I don't really understand your message but, does all work well,
or have you got any error again ?
Just some advice for your code :
- replace *kbdcfg.widget.text = t *with* kbdcfg.widget:set_markup(t)*
- replace your function in awful.key and awful.button :
*function () kbdcfg.switch() end* become *kbdcfg.switch*
No more needed as your function doesn't require any arguments. it
increases the readability.
Regards,
Alexis
Le Thu Dec 04 2014 at 20:41:58, Mohsen Pahlevanzadeh <
[email protected]> a écrit :
> Oh by the way, i find api ref now.
>
>
> On 12/02/2014 11:37 AM, Alexis Brenon wrote:
>
> Hi Mohsen,
>
> The { Mod1 }, Shift_R stand for the Alt modifier plus the Shift key, but
> the right one, not the left one.
> To make sure that the right keys are detected, you can use the xev program
> (see the ArchLinux wiki page
> <https://wiki.archlinux.org/index.php/extra_keyboard_keys#In_Xorg>for a
> quick guide). You can also add a notification in your switch function to
> see if it is called :
>
> kbdcfg.switch = function ()
> naughty.notify({text = "Keyboard layout switch"})
> kbdcfg.current = kbdcfg.current % #(kbdcfg.layout) + 1
> local t = " " .. kbdcfg.layout[kbdcfg.current] .. " "
> kbdcfg.widget.text = t
> os.execute( kbdcfg.cmd .. t )
> end
>
> Just a question : after defining your awful.key (your key binding, which
> is, moreover, defined twice), did you add it to root.keys ?
> https://github.com/awesomeWM/awesome/blob/master/awesomerc.lua.in#L347
>
> Regards,
> Alexis
>
> Le Mon Dec 01 2014 at 20:43:52, Mohsen Pahlevanzadeh <
> [email protected]> a écrit :
>
>>
>> On 12/01/2014 11:49 AM, Alexis Brenon wrote:
>>
>> Hi Mohsen,
>>
>> Frome here, I don't see any particular error in your code or anything.
>> But maybe you can start by remove some useless parts which can interact
>> with others or whatever.
>>
>> Firstly, in your xorg.conf file, remove the line :
>> > Option "XkbOptions" "grp:shifts_toggle"
>>
>> I commented at xorg.
>>
>> This line, allow you to switch layouts with the shift keys, but without
>> any interaction with Awesome (so your widget will not be updated), it's not
>> what you want, but it can interfere.
>>
>> Then, as you define your layout in the xorg.conf file, you don't need
>> to use
>> > setxkbmap us,fa
>> in your xinit.rc file. When X starts, it reads the xorg.conf file and so
>> this line is useless.
>>
>> I remove it from ~/.xinitrc
>>
>>
>> Finally, you say that you can't change to persian language, but I see 3
>> layouts in your kbdcfg.layouts. Can you change between us and fa, but not
>> to Persian, or you can't change at all. In both cases, try to execute
>> manually the commands in your terminal, maybe setxkbmap will report you an
>> error (missing the -layout option, unrecognized layout name, etc.).
>>
>> Just to finnish ; it's now recommended to not use the xorg.conf file,
>> but the xorg.conf.d/ folder with one file for each device.
>>
>> Hopping that it will help you.
>>
>> Regards,
>> Alexis
>>
>> Le Mon Dec 01 2014 at 03:21:46, Mohsen Pahlevanzadeh <
>> [email protected]> a écrit :
>>
>>> Dear all,
>>>
>>> I migrate to awesome, But may be awesome depend on X, At first i
>>> provided xorg.conf with:
>>> Xorg -configure
>>>
>>> Then i changed InputClass such as :
>>> ///////////////////////////////////
>>>
>>> Section "InputClass"
>>> Identifier "keyboard0"
>>> Driver "evdev"
>>> #MatchIsKeyboard "on"
>>> Option "XkbModel" "evdev"
>>> # Switch between layouts by pressing both shift keys
>>> Option "XkbLayout" "us,fa"
>>> Option "XkbOptions" "grp:shifts_toggle"
>>> EndSection
>>>
>>> ////////////////////////////////
>>>
>>> Then :
>>> cp /etc/xdg/awesome/rc.lua ~/.config/awesome/
>>> Add the following change to it:
>>> //////////////////////////////////////////////////
>>> -- Keyboard map indicator and changer
>>> kbdcfg = {}
>>> kbdcfg.cmd = "setxkbmap"
>>> kbdcfg.layout = { "us", "fa", "Persian" }
>>>
>> I change abobe line to :
>>
>> kbdcfg.layout = { "us", "fa"}
>>
>> kbdcfg.current = 1 -- us is our default layout
>>>
>>
>>> kbdcfg.widget = widget({ type = "textbox", align = "right" })
>>> kbdcfg.widget.text = " " .. kbdcfg.layout[kbdcfg.current] .. " "
>>> kbdcfg.switch = function ()
>>> kbdcfg.current = kbdcfg.current % #(kbdcfg.layout) + 1
>>> local t = " " .. kbdcfg.layout[kbdcfg.current] .. " "
>>> kbdcfg.widget.text = t
>>> os.execute( kbdcfg.cmd .. t )
>>> end
>>> -- Alt + Right Shift switches the current keyboard layout
>>> awful.key({ "Mod1" }, "Shift_R", function () kbdcfg.switch()
>>> end),
>>> -- Mouse bindings
>>> kbdcfg.widget:buttons(awful.util.table.join(
>>> awful.button({ }, 1, function () kbdcfg.switch() end)
>>> ))
>>> -- end by me
>>> ////////////////////////////////////////////////////////
>>> Also i add the folloiwoing section to layout:
>>> /////////////////////////
>>> right_layout:add(kbdcfg.widget)
>>> //////////////////////////////////////////
>>>
>>> Then i create a ~.xinitrc and pu into it:
>>> //////////////////////////////////
>>> #!/bin/sh
>>> setxkbmap us,fa
>>> ///////////////////////////////
>>>
>>> Also i put into the following code in rc.lua:
>>> ////////////////////////////////////////////
>>> awful.key({ "Mod1" }, "Shift_R", function () kbdcfg.switch() end),
>>> //////////////////////////////////////////////
>>>
>>> I "have to" learn lua, But i don't know above line (define hot
>> key,) What's key binding for changing layout?
>> mod+shift+R?
>> How can i find out which hotkey active is?
>>
>> --Regard
>>
>> Mohsen
>>
>> But i can't change my keyboard language to persian language, how can i do
>> it?
>>> Where's my problem?
>>> Please give me a link from key codes....
>>>
>>> --Regards
>>> Mohsen
>>>
>>>
>>>
>>>
>>> -- To unsubscribe, send mail to [email protected].
>>
>>
>>
>