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 < moh...@pahlevanzadeh.org> 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 < > moh...@pahlevanzadeh.org> 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 < >> moh...@pahlevanzadeh.org> 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 awesome-unsubscr...@naquadah.org. >> >> >> >