Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: X11 restore default options


  • Subject: Re: lug-bg: X11 restore default options
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Wed, 14 Jul 2004 11:32:31 +0300

On Wed, Jul 14, 2004 at 11:06:53AM +0300, Peter Pentchev wrote:
> On Wed, Jul 14, 2004 at 10:42:15AM +0300, linux@xxxxxxxxxxxxxxxx wrote:
> > Искам да попитам в тази листа за следното.
> > 
> > Пуснаш една games зала под Linux.
> > 
> > Но ето какъв проблем имам.
> > 
> > Някой игри сменят резолюцията на екрана.
> > 
> > И ако по default са 1024x768 след излизането на някой игри е правят 640x480
> > 
> > Възможно ли е тя да се поднови на 1024x768 без да се рестартира X-са.
[snip]
> Иначе видеорежимът под X може да бъде променен с помощта на xvidtune,
> ако X сървърът ти поддържа разширението XFree86-VidModeExtension.  Това
> можеш да разбереш лесно, като просто от X терминал или нещо такова
> пуснеш 'xvidmode -show' - ако ти покаже нещо за текущия режим, значи

Уфффф.. разбира се, тук имах предвид 'xvidtune -show', не 'xvidmode'...

> имаш необходимите разширения; 'xvidtune -prev' и 'xvidtune -next' би
> трябвало да работят.  За съжаление поне версията на xvidtune, която
> ползвам в момента, не може да установи точно зададен видеорежим, а само
> да смени с предишния или следващия (-prev или -next).  За сметка на това
> пък това може да бъде направено с просто shell-скриптче, което ще пратя
> след минутка, като го довърша съвсем :)  Него ще можеш да ползваш като
> wrapper около играта: вместо да пускаш играта директно, пускаш това
> скриптче, което запомня в какъв режим си, пуска играта, чака тя да
> свърши, след което се опитва да възстанови видеорежима.  Но това след
> минутка :)

А ето го и самото скриптче.  Инсталация:

  install -c -o root -g root -m 755 restmode.sh /usr/X11R6/bin/restmode

Ако си под FreeBSD като мен, или някое друго BSD, ще трябва да смениш
'-g root' с '-g wheel', но под повечето Linux-и май групата си се казва
'root'.

Начин на употреба:

  restmode firefox
  restmode frozenbubble
  restmode sopwith -c
  
Т.е. просто пускаш restmode и му подаваш като параметри името на
програмата и евентуално параметрите, които тя иска.  Оттам нататък
скриптчето си знае работата :)

Ако X сървърът ти поддържа повече от 15 видеорежима, може да се наложи
да промениш стойността на maxtries в началото на скрипта.  В следващата
версия, която вероятно ще се появи до час и ще съдържа README, manpage и
Makefile за инсталация, най-вероятно ще добавя поддръжка на getopt, така
че да може да задаваш maxtries на командния ред, но засега ще трябва
така.

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
The rest of this sentence is written in Thailand, on
#!/bin/sh
#
# restmode - run a program, then restore the X video mode
#
# $Ringlet: sh/restmode/restmode.sh,v 1.1 2004/07/14 08:23:10 roam Exp $

##### USER-CONFIGURABLE PORTION
#
# maxtries - a number determining how many video modes to cycle through
# before giving up
# FIXME: this should be made a command-line option

maxtries=15

##### END OF USER-CONFIGURABLE SECTION

if [ $# = 0 ]; then
	echo 'Usage: restmode program [args...]' 1>&2
	exit 1
fi

curmode=`xvidtune -show`
if [ "$?" -ne 0 ]; then
	echo 'Could not determine the current X video mode' 1>&2
	exit 1
fi

echo "restmode: original X video mode line: $curmode"
echo "restmode: executing $@"

$@

echo "restmode: attempting to restore the video mode to $curmode"
i=0
while [ "$i" -lt "$maxtries" ] && ! [ "`xvidtune -show`" = "$curmode" ] ; do
	echo "restmode: switching, current mode is `xvidtune -show`"
	xvidtune -prev
	i=`expr "$i" + 1`
done

Attachment: pgpPdmaBlk1W2.pgp
Description: PGP signature



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.