Автор Тема: Настройка на клавиатура  (Прочетена 3255 пъти)

XaugyTuH

  • Напреднали
  • *****
  • Публикации: 267
    • Профил
    • WWW
Настройка на клавиатура
« -: Oct 25, 2005, 12:57 »
Не успях да открия от къде се задава xfce-то да си помни в кое приложение с коя клавиатурна подредба съм. Например в конзола и браузър съм на латиница, а пък в редактор и Sim съм на кирилица. Много ще се радвам някой да помогне, щото леко ме изнервя това постоянно превключване.
Иначе в КДЕ си го има това нещо в контролния център, обаче тука тц.
Активен

Когато говорите, трябва думите ви да бъдат по-добри от мълчанието!

Не правете от мухата слон. Разходите са прекалено големи.

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Настройка на клавиатура
« Отговор #1 -: Oct 25, 2005, 13:26 »
Значи, предполагам си инсталирал xfce4-xkb-plugin. Въпроса е откъде си го инсталирал. Ако е от пакет на някоя дистрибуция по всяка вероятност тази функционалност я няма. Има я в последната версия в svn.

Преди да инсталираш кода от svn мисля е добре да разкараш версията на plugin-a, която имаш в момента, за да не става мазало.

За да се конфигурира plugin-а ще му трябват някои devel пакети, имената на които зависят от дистрибуцията, но така или иначе ако ти липсват ще ти даде грешки по които би трябвало да се ориентираш кои точно пакети липсват.

$ svn checkout svn://svn.berlios.de/xfce-goodies/xfce4-xkb-plugin/trunk/
$ cd trunk
$ ./configure --prefix=PREFIX
$ make
$ su -c "make install"
$ killall -USR1 xfce4-panel

После десен бутон на плъгина и "Properties" и оттам мисля ще се оправиш.

Мисля трябва да отбележа, че поддръжката на отделен layout за всеки прозорец не е първокачествена, но работи.

Успех.
Активен

july

  • Напреднали
  • *****
  • Публикации: 324
    • Профил
Настройка на клавиатура
« Отговор #2 -: Oct 25, 2005, 13:30 »
http://www.faqs.org/docs/Linux-HOWTO/XWindow-User-HOWTO.html

насочи се към точка 4.1 ..

според мен, kde-то те глези и прави разни работи вместо теб (в това лошо няма, лошото е че не ти казва какво прави вместо тебе)
Активен

XaugyTuH

  • Напреднали
  • *****
  • Публикации: 267
    • Профил
    • WWW
Настройка на клавиатура
« Отговор #3 -: Oct 25, 2005, 17:21 »
@july
Може би не съм успял да се изразя праивлно. Не искам да задавам клавиатурна подредба по подразбиране, а приложението да си запомни последно на коя съм бил и като превключа след 5 минути пак на него да си е тя. Пак давам пример: Отварям браузър, на латиница съм, пиша си адреса на този сайт, влизам във форума и превключвам на кирилица. Междувременно ако отворя конзола и премина на латиница като се върна в браузъра съм на латиница, а бих искал да си запомни, че последно е било на кирилица. Надявам се сега да съм бил по-ясен.
А това, че КДЕ-то ме е разглезило е вярно. Аз за това май ще го зарязвам окончателно. '<img'>
@Hapkoc
xfce4-xkb-plugin        0.3.2-3 sarge
Предполагам, че ако направя както ти казваш ще го оправя, но предположих, че има някаква настройка в X-a, която върши тази работа. Ако все пак е така, моля за още предложения.
Активен

Когато говорите, трябва думите ви да бъдат по-добри от мълчанието!

Не правете от мухата слон. Разходите са прекалено големи.

july

  • Напреднали
  • *****
  • Публикации: 324
    • Профил
Настройка на клавиатура
« Отговор #4 -: Oct 25, 2005, 18:27 »
sorry za latinicata, ama dokato probvah, zatrih bg-to:)

razbrah te i pyrvia pyt:)
zatova te nasochih i kym 4.1'<img'>

tam za X applicationite ima razlichni nastrojki...

vse edno xrdb -merge ...

i obshto vzeto programata osven nastrojkite na X-a, si gleda i Xresources ili Xdefaults...
ta teoretichno moje edinia application da ti e s us layout, a drugia s bg layout...

ama az ne uspaih da go podkaram po tozi nachin (ama ne sym i se staral mnogo, che si imah dosta druga rabota...)
Активен

  • Гост
Настройка на клавиатура
« Отговор #5 -: Oct 25, 2005, 20:12 »
Не съм сигурен, че може да се направи това нещо както казва juli, освен това доколкото разбрах не е това целта на занятието.

XaugyTuH, 0.3.2 е последната release-ната версия на xkb plugin-a. 0.3.3 е в svn-а и там го има това, което те интересува. Не мога да се оправя с ftp-то на berlios, иначе отдавна да съм сложил 0.3.3 за dowload.

Няма стандартен начин за поддръжка на layout за отделен прозорец. И KDE и GNOME поддържат тази функционалност и тя се реализира именно от съответните аплети, които служат за превключване и визуализация на текущата подредба.

Успех.
Активен

XaugyTuH

  • Напреднали
  • *****
  • Публикации: 267
    • Профил
    • WWW
Настройка на клавиатура
« Отговор #6 -: Oct 26, 2005, 10:22 »
Стана ми ясно, че не е толкова лесна тая работа, така, че реших да инсталирам версията от svn-a. Махнах старата, инсталирах subversion, изтеглих си новата, инсталирах  xfce4-panel-dev, конфигурирането мина успешно и при make, малко след началото ми даде съобщение за грешка:
Примерен код
b.c  -fPIC -DPIC -o .libs/libxkb_la-xkb.o
xkb.c: In function `get_current_gourp_flag_name':
xkb.c:282: error: `FLAGSDIR' undeclared (first use in this function)
xkb.c:282: error: (Each undeclared identifier is reported only once
xkb.c:282: error: for each function it appears in.)
make[2]: *** [libxkb_la-xkb.lo] Error 1
make[2]: Leaving directory `/home/user/xkb/trunk/panel-plugin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/xkb/trunk'
make: *** [all] Error 2

И не мога да стопля кво да правя от тук нататък.
С Кнопикс тестинг съм.
Активен

Когато говорите, трябва думите ви да бъдат по-добри от мълчанието!

Не правете от мухата слон. Разходите са прекалено големи.

july

  • Напреднали
  • *****
  • Публикации: 324
    • Профил
Настройка на клавиатура
« Отговор #7 -: Oct 26, 2005, 13:28 »
ами гледаш source
и се опитваш да разбереш защо не е деклариран FLAGSDIR-а
можеш ли да го накараш да се декларира (ако сетнеш, десетнеш някоя константа), можеш ли да го заобиколиш и сие...:)
Активен

july

  • Напреднали
  • *****
  • Публикации: 324
    • Профил
Настройка на клавиатура
« Отговор #8 -: Oct 26, 2005, 13:48 »
значи, тази DFLAGSDIR e просто указател към една директория'<img'>
Примерен код

/panel-plugin/Makefile.am:     -DFLAGSDIR=\"$(datadir)/xfce4/xkb/flags\"


има заготовка в trunk/panel-plugin/Makefile.am

но при ./configure не се появява в trunk/panel-plugin/Makefile

ако въпросния Makefile, го промениш така:
Примерен код
DEFS = -DHAVE_CONFIG_H -DFLAGSDIR=\"$(datadir)/xfce4/xkb/flags\"


(оригинално е:
Примерен код
DEFS = -DHAVE_CONFIG_H


ще се компилира, поне при мене стана'<img'> (иначе даваше същото като при тебе)
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Настройка на клавиатура
« Отговор #9 -: Oct 26, 2005, 19:02 »
Това, което казва july е вярно, но има по-култирен начин за компилиране - преди configure пускаш ./autogen.sh, който генерира необходимите файлове за build-a. За да сработи трябва да имаш autotools (automake, autoconf, libtool), които вероятно си ги имаш и без туй.

Преди трябваше да се слага пачната версия на autotools от сайта на xfce, но в момента гледам, че са го махнали това от инструкциите за инсталация от сорс, така че би трябвало да работи със стандартните.
Активен

july

  • Напреднали
  • *****
  • Публикации: 324
    • Профил
Настройка на клавиатура
« Отговор #10 -: Oct 27, 2005, 09:28 »
брей, ето поредния пример за RTFM '<img'>
 '<img'>
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Настройка на клавиатура
« Отговор #11 -: Oct 27, 2005, 10:27 »
'<img'>
Активен

XaugyTuH

  • Напреднали
  • *****
  • Публикации: 267
    • Профил
    • WWW
Настройка на клавиатура
« Отговор #12 -: Oct 27, 2005, 11:03 »
Радвате се вие, обаче при мен пак нещо се оплеска. Направих ./autogen.sh и после всичко си мина както трябва, обаче като се опитам да си адна плъгина в панела и ми извежда следното съобщение
Примерен код
We've got 2 groups:
Segmentation fault

и панела се килва.
Ако имате още полезни идеи ще се радвам много '<img'>.

P.S. Kato si mahnah foneti4nata i pak se opitam da adna plugin-a syob6tenieto e
Примерен код
We've got 1 groups:
Segmentation fault
i panela pak se kill-va.
Na latinica sym po razbiraemi pri4ini. '<img'>
Активен

Когато говорите, трябва думите ви да бъдат по-добри от мълчанието!

Не правете от мухата слон. Разходите са прекалено големи.

XaugyTuH

  • Напреднали
  • *****
  • Публикации: 267
    • Профил
    • WWW
Настройка на клавиатура
« Отговор #13 -: Oct 27, 2005, 13:25 »
Ако на някой би му била полезна тази информация за да разберем какъв е проблема ето какво ми дава backtrace като ползвам gdb
Примерен код
(gdb) bt
#0  0x4055aa6e in g_type_check_instance () from /usr/lib/libgobject-2.0.so.0
#1  0x405554c8 in g_signal_connect_data () from /usr/lib/libgobject-2.0.so.0
#2  0x40c87b83 in xkb_create_options (ctrl=0x64646170, con=0x64646170, done=0x8155948) at xfce4-xkb-plugin.c:345
#3  0x08052da2 in control_create_options ()
#4  0x080534fe in controls_dialog ()
#5  0x0805222a in insert_control ()
#6  0x08050efd in add_control_dialog ()
#7  0x4054d890 in g_cclosure_marshal_VOID () from /usr/lib/libgobject-2.0.so.0
#8  0x405415bb in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#9  0x40550a6d in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#10 0x40551e47 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#11 0x405521fe in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#12 0x4011c81b in gtk_dialog_response () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x4011c88a in gtk_dialog_response () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x4054d60b in g_cclosure_marshal_VOIDVOID () from /usr/lib/libgobject-2.0.so.0
#22 0x40540f18 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#23 0x405415bb in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#24 0x40550316 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#25 0x40551e47 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#26 0x405521fe in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#27 0x400d5018 in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x400d5f7c in _gtk_button_paint () from /usr/lib/libgtk-x11-2.0.so.0
#29 0x4018cd85 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x40540f18 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#31 0x405415bb in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#32 0x40550c72 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#33 0x40551c05 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#34 0x405521fe in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#35 0x4026a568 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#36 0x4018b2d9 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x4018b739 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#38 0x4037644a in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
#39 0x405963f1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#40 0x40599647 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#41 0x40599b98 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#42 0x4018a989 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#43 0x08059231 in main ()
(gdb)
Активен

Когато говорите, трябва думите ви да бъдат по-добри от мълчанието!

Не правете от мухата слон. Разходите са прекалено големи.

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Настройка на клавиатура
« Отговор #14 -: Oct 27, 2005, 13:52 »
----- cut --------
345c345
<   g_signal_connect(def_lang_menu, "changed", G_CALLBACK(xkb_def_lang_changed), xkb);
---
>   g_signal_connect(xkb->def_lang_menu, "changed", G_CALLBACK(xkb_def_lang_changed), xkb);
------ cut --------

copy/paste горното в trunk/panel-plugin/xfce4-xkb-plugin.c.patch и после
$ patch xfce4-xkb-plugin.c xfce4-xkb-plugin.c.patch

виж дали така ще стане.
Активен