LINUX.ORG.RU

Запуск приложений развернутыми на весь экран

 


0

1

Раньше, когда у меня была система на базе Debian Squeeze, чтобы запускать нужные приложения развернутыми на полный экран, можно было просто отредактировать .config/openbox/rc.xml, например, так:

  <application name="stardict">
     <decor>yes</decor>
     <maximized>yes</maximized>
  </application>
Сейчас же, после перехода на Wheezy, даже не помогает редактирование /etc/xdg/openbox/rc.xml и дописывание туда
<application class="*">
<maximized>yes</maximized>
</application>
Опять сломали? Как исправить?

Deleted

Кто вас научил лазить в /etc за пользовательскими настройками? Мало того, что это дурной тон, так у общесистемных конфигов ещё и приоритет ниже, чем у юзерских. Правьте $XDG_CONFIG_HOME/openbox/rc.xml, и будет вам счастье.

Axon ★★★★★
()
Ответ на: комментарий от Axon

Научил гугл. Редактирование локального rc.xml ничего не дает (точнее, он уже был отредактирован, когда стоял Debian Squeeze, а после обновления до Wheezy эти настройки игнорируются).

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Дык, ещё бы оно работало. Как он должен приложения-то к правилам матчить, по-вашему, если у вас полей, кроме имени, ни в одном из них нет?

Axon ★★★★★
()
Ответ на: комментарий от Deleted

А зачем ему знать что-то кроме имени?

А чему оно соответствует?

Кроме того, раньше-то ведь нормально работало.

Понятия не имею как, ведь эти имена явно в большинстве случаев не соответствуют значениям, которые выдаёт obxprop. Я всегда в правилах класс указывал.

Axon ★★★★★
()
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от Axon

А чему оно соответствует?

Названию процесса. Насколько я себе это представляю, по процессу ищется окно, определяется его handler и меняются свойства.

ведь эти имена явно в большинстве случаев не соответствуют значениям, которые выдаёт obxprop.

В этой утилите все окна должны быть отображены? Она находит у меня только terminator.

Я всегда в правилах класс указывал.

Например?

Deleted
()
Ответ на: комментарий от Deleted

Насколько я себе это представляю, по процессу ищется окно, определяется его handler и меняются свойства.

Как вы думаете, оконному менеджеру заняться больше нечем?

В этой утилите все окна должны быть отображены?

Нет, только то, по которому кликнете.

Например?

Значение переменной WM_CLASS из выхлопа того же obxprop.

Axon ★★★★★
()
Ответ на: комментарий от Axon

Как вы думаете, оконному менеджеру заняться больше нечем?

Похоже, этим занимается obxprop.

Нет, только то, по которому кликнете.

Кликаю на iceweasel, получаю следующее (pastebin не работает).

pete@crunchbang:~$ obxprop 
WM_STATE(WM_STATE) = 1, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_BELOW
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 0, 0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
_NET_WM_ICON(CARDINAL) = <...>
_OB_APP_TYPE(UTF8_STRING) = "dock"
_OB_APP_TITLE(UTF8_STRING) = "tint2"
_OB_APP_CLASS(UTF8_STRING) = "Tint2"
_OB_APP_NAME(UTF8_STRING) = "tint2"
_OB_APP_ROLE(UTF8_STRING) = 
_NET_WM_VISIBLE_ICON_NAME(UTF8_STRING) = "tint2"
_NET_WM_VISIBLE_NAME(UTF8_STRING) = "tint2"
WM_CLASS(STRING) = "tint2", "Tint2"
WM_NORMAL_HINTS(WM_SIZE_HINTS) = 52, 3073715878, 3074183156, 0, 0, 1353, 30, 1353, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0
_NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 43, 1395
_NET_WM_STRUT(CARDINAL) = 0, 0, 0, 30
XdndAware(ATOM) = ATOM
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 2, 0, 0, 0, 0
WM_HINTS(WM_HINTS) = 1, 0, 0, 0, 0, 0, 0, 0, 0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_BELOW
_NET_WM_DESKTOP(CARDINAL) = 4294967295
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
_NET_WM_NAME(UTF8_STRING) = "tint2"
WM_NAME(STRING) = "tint2"

Не вижу тут iceweasel. WM_CLASS(STRING) = «tint2», «Tint2»

Deleted
()
Ответ на: комментарий от Deleted

Похоже, этим занимается obxprop.

Нет, он смотрит в атрибуты окна, так же, как и WM.

WM_CLASS(STRING) = «tint2», «Tint2»

Вы по панели и кликаете, значит, а не по окну.

Axon ★★★★★
()
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от Axon

Вы по панели и кликаете, значит, а не по окну.

Чего-то я протупил :)

Короче говоря, проблема была в том, что в этом rc.xml названия этих классов, как правило, идут с большой буквы. Стоило мне поменять

<application name="gnumeric">
<maximized>yes</maximized>
</application>

на

<application name="Gnumeric">
<maximized>yes</maximized>
</application>
все стало работать.

Deleted
()
Ответ на: комментарий от Deleted

Короче говоря, проблема была в том, что в этом rc.xml названия этих классов, как правило, идут с большой буквы.

Это не в rc.xml, а в свойствах иксовых окон, которые присваивают им сами приложения. А в конфиге они просто должны соответствовать.

все стало работать.

Теперь мне интересно как оно раньше работало. :-)

Axon ★★★★★
()
Ответ на: комментарий от Axon

Видимо, раньше парсинг названий классов был нечувствителен к регистру, или же было больше вариантов. Например, для stardict дается

WM_CLASS(STRING) = "stardict", "Stardict"
т.е. допускается и stardict, и Stardict. А для gnumeric допускается только Gnumeric:
WM_CLASS(STRING) = "Gnumeric", "Gnumeric"

Deleted
()
Ответ на: комментарий от Deleted

Видимо, раньше парсинг названий классов был нечувствителен к регистру, или же было больше вариантов.

Первое маловероятно, скорее, второе. Но тоже странное изменение.

Axon ★★★★★
()
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от Axon

Пока что заметил у gnumeric, konqueror и icedove («Icedove»,«Mail»). Icedove, возможно, не считается, потому что в правилах до этого у меня стоял «thunderbird».

Кстати, terminator работает по-прежнему нормально.

WM_CLASS(STRING) = "terminator", "Terminator"

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.