LINUX.ORG.RU

[debian][fvwm] schedule, maximize

 ,


0

1

Ядро: 2.6.32-5-686
Версия fvwm: 2.5.30.ds-1

Собственно ниасилил следующие идеи:

1)
При последовательном нажатии клавиш распахнуть по-вертикали+по-горизонтали=распахнуть окно.
При последовательном нажатии этих же клавиш возвращаю исходные размеры окна.

DestroyFunc FvwmMaximize
AddToFunc FvwmMaximize
+ H Nop
+ M Nop
+ C Maximize $0 $1 $2
+ I WindowShade False

Mouse 1 4 A FvwmMaximize grow grow
Mouse 1 6 A FvwmMaximize grow 0
Mouse 1 8 A FvwmMaximize 0 grow

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

Вариант с FvwmMaximize On grow grow не документирован, хоть и ближе к идее. Проблема в том что повторное нажате на клавишу(которой распахнули ранее) не возвращает размеры окна в исходное состояние.

2)
Идея сделать свои часы в FvwmButtons с бж. и ш. на кнопке. Можно вызывать с помощью Schedule date «%R %A %d %Y» и в переменную её пихать. Как на кнопку выхлоп то поместить? И чтобы она как кнопка работала?

★★★★

1. вместо 0 попробуй использовать $[w.width] и $[w.height]

2. Часы обычно делаются на FvwmScipt и потом Swallow-ятся в FvwmButtons

пример такого скрипта

WindowTitle {FvwmApplet-Clock}
WindowSize 56 25
Colorset 40
Font xft:Tahoma:Bold:pixelsize=13

# the following should be commented out if the script is used outside
# of FvwmButtons
WindowPosition 30000 30000

Init
 Begin
  Set $time = (GetOutput {exec date '+%H:%M'} 1 -1)
  ChangeTitle 1 $time
 End

PeriodicTasks
 Begin
  If (RemainderOfDiv (GetTime) 60) == 0 Then
  Begin
    Set $time = (GetOutput {exec date '+%H:%M'} 1 -1)
    ChangeTitle 1 $time
  End
 End

Widget 1
Property
 Position 0 0
 Size 56 25
 Type ItemDraw
 Flags Center NoReliefString
Main
 Case message of
  SingleClic :
  Begin
  End
End
ananas ★★★★★
()
19 декабря 2011 г.
Ответ на: комментарий от ananas

Так и не помогло. Если просто впихнуть эти переменные, то fvwm считает, что они выдают проценты и окно распахивается далеко за края экрана.

Правильнее было бы если переводило в проценты. Например ($[w.width]/1920)*100. Но как впинуть это вторым передаваемым параметром для функции Maximize, я не понял.

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

Если просто впихнуть эти переменные, то fvwm считает, что они выдают проценты и окно распахивается далеко за края экрана.

ну так указывай размерность. $[w.width]p и $[w.height]p

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

Ага, спасибо. Очень помогло :-)

В итоге приняло вид:

Mouse 1 4 A FvwmMaximize toggle grow grow
Mouse 1 6 A FvwmMaximize true grow $[w.height]p 
Mouse 1 8 A FvwmMaximize true $[w.width]p grow
Только возврат в нераспахнутое состояние производится кнопкой 4 (распахнуть окно), но пока и так устраивает.

leonidko ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.