webOS Nation Forums >  Homebrew >  WebOS Internals > X Server on the Pre
X Server on the Pre
  Reply
Like Tree19Likes

 
Thread Tools Display Modes
Old 10/22/2011, 12:24 AM   #481 (permalink)
Member
 
alex80386's Avatar
 
Posts: 127
Default Xserver and xfonts

Quote:
Originally Posted by alex80386 View Post
It would be good to be able to configure using xorg.conf rather than having to edit xecutah.sh each time Xserver gets updated.
Perhaps I should explain why I'm editing xecutah.sh and why I'd prefer to use xorg.conf
I'd like to configure the FontPath so I can have some more fonts.

xorg.conf(5x) manual page

Starting xclients in debian chroot I'm seeing the following....

# xterm
Warning: Cannot convert string "nil2" to type FontStruct
xterm: cannot load font -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1

Same for other clients - for example the default font for rxvt and mrxvt should be size 14, rather than for size 13 for xterm.

# mrxvt
can't load font "-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1"
can't load font "-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1"

If the font looks the same for xterm and rxvt that's because both are using some default font.

Other clients like 'xcalc' need maths fonts for "Pi" and "Squareroot" symbols and many other client programs need fonts to be provided by the Xserver. But the Xserver doesn't seem to provide them... again, this is from debian chroot.

# xlsfonts
-misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-1
-misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-1
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
6x13
cursor
fixed

Starting xterm or debian chroot we see lots of messages in /tmp/xserver.log

[dix] Could not init font path element ${prefix}/share/fonts/X11/misc/, removing from list!
[dix] Could not init font path element ${prefix}/share/fonts/X11/TTF/, removing from list!


But what happens if {prefix} is not defined?

I was thinking I might be able to use .xinitrc to set a fontpath, but it seems you might need 'xset' for that, so that doesn't seem to be an option.

Since xorg.conf doesn't seem to be supported, this is the solution I've used...

To add the FontPath, edit the following file:

/media/cryptofs/apps/usr/palm/applications/org.webosinternals.xserver/xecutah.sh

First add the following 2 lines after the VKB section:

XFONTS=/opt/share/fonts/X11
export XFP="-fp ${XFONTS}/misc/,${XFONTS}/Type1/,${XFONTS}/75dpi/,${XFONTS}/100dpi/"

Then change the following line:
Before edit...

${APP_DIR}/bin/Xsdl -retro -noreset $VKB ${DISPLAY} &> /tmp/xserver.log &

after editing...

${APP_DIR}/bin/Xsdl -retro -noreset $XFP $VKB ${DISPLAY} &> /tmp/xserver.log &


To get the actual fonts we need to install the following packages on a debian system, or equivalent packages on ubuntu (probably fedora and others work too).

* xfonts-base
Debian -- Details of package xfonts-base in squeeze
* xfonts-75dpi
Debian -- Details of package xfonts-75dpi in squeeze
* xfonts-100dpi
Debian -- Details of package xfonts-100dpi in squeeze
* xfonts-scalable
Debian -- Details of package xfonts-scalable in squeeze
* xfonts-mathml
Debian -- Details of package xfonts-mathml in squeeze

Then in webos (not in debian chroot)...

mkdir -p /opt/share/fonts/X11/misc
mkdir -p /opt/share/fonts/X11/Type1
mkdir -p /opt/share/fonts/X11/75dpi
mkdir -p /opt/share/fonts/X11/100dpi
mkdir -p /opt/share/fonts/type1

Now copy the fonts directories from the debian (or other linux) system to webos.

In the case where the fonts have been installed in the debian-squeeze-chroot then we can use the following.

In webos (not in debian chroot):

cd /opt/share/fonts
cp -a /media/ext3fs/debian-squeeze-chroot/usr/share/fonts/X11/misc X11/
cp -a /media/ext3fs/debian-squeeze-chroot/usr/share/fonts/X11/75dpi X11/
cp -a /media/ext3fs/debian-squeeze-chroot/usr/share/fonts/X11/100dpi X11/
cp -a /media/ext3fs/debian-squeeze-chroot/usr/share/fonts/X11/Type1 X11/
cp -a /media/ext3fs/debian-squeeze-chroot/usr/share/fonts/type1 .


Now start Xserver (xterm or debian chroot) and the clients have the right fonts (still might be a few missing, but at least most of the important ones).

Perhaps there is a different plan to bring more fonts to the Xserver, but in the meanwhile adding the FontPath by editing xecutah.sh is working.

Last edited by alex80386; 10/22/2011 at 12:55 AM. Reason: moved some info.
alex80386 is offline   Reply With Quote
Old 10/22/2011, 12:54 AM   #482 (permalink)
Member
 
alex80386's Avatar
 
Posts: 127
Default Xserver and xfonts

Some things to consider if you want to use the procedure above to add xfonts to Xserver.

1. The fonts add about 18MB under /opt/share/fonts

2. If you need specific european or asian language fonts, then expect to install some additional font packages than the ones listed above.

3. I'm using /opt/share/fonts because I installed optware and there is plenty of space on the ext3fs volume. Perhaps using /opt isn't such a good idea if you don't have optware (I'm thinking most people using debian or ubuntu chroot also have optware).

4. Having said all that, there are many modern packages in debian or ubuntu that provide their own client side fonts, so some people might not need to add fonts to the Xserver at all.

Last edited by alex80386; 10/22/2011 at 01:02 AM.
alex80386 is offline   Reply With Quote
Old 10/22/2011, 04:59 PM   #483 (permalink)
Homebrew Developer
 
Posts: 351
Default

WOW!

Great work, and thank you very much for your detailed findings. Tackling this properly has long been on my TODO, and this is wonderful. Coincidentally a few days ago was working with ka6sox to get the default xterm using a more reasonable font/fontsize (perhaps tweaks-ified).

Anyway, now how to get this best to our good fellow webos users? .

I'm about to step out, but here are a few quick thoughts/proposed idea:

** Add a few well-known places to the server's fontpath statically. For now I'm thinking more or less exactly what you've done seems reasonable.

** Convert those debs (or whatever seems reasonable) to preware packages that let users chose what fonts to install. I'm not sure how to best do this, but I'm tempted to just wrap up all the fonts you've listed in a big "xserver-fonts" package and perhaps later add others as small additional packages.

Finally, I'm somewhat tempted to add this as a dependency of the xserver. 18MB is tiny on a 16GB touchpad compared to everything else, and having a reasonable working set of fonts seems like an important goal.

Thoughts welcome, and also I haven't thought about it too much but just wanted to keep things going.

Thanks!
__________________
Quake
thread
VisualBoyAdvance
thread App Cat
X11/XServer/Xterm
thread
SuperNES
thread App Cat


If you like my work, please consider donating or buying VBA!
dtzWill is offline   Reply With Quote
Old 10/22/2011, 05:26 PM   #484 (permalink)
Homebrew Developer
 
Posts: 351
Default

Small update, rwhitby and Puff point out we should probably install them as a normal package (so they live in /media/cryptofs like normal apps) and symlink them into /usr/share/fonts (where fonts normally live on linux systems, including webos).

Anyway hopefully some time in the near future I'll push forward on this, thanks again!
__________________
Quake
thread
VisualBoyAdvance
thread App Cat
X11/XServer/Xterm
thread
SuperNES
thread App Cat


If you like my work, please consider donating or buying VBA!
dtzWill is offline   Reply With Quote
Old 10/23/2011, 07:39 AM   #485 (permalink)
Member
 
alex80386's Avatar
 
Posts: 127
Default

Quote:
Originally Posted by dtzWill View Post
Small update, rwhitby and Puff point out we should probably install them as a normal package (so they live in /media/cryptofs like normal apps) and symlink them into /usr/share/fonts (where fonts normally live on linux systems, including webos).

Anyway hopefully some time in the near future I'll push forward on this, thanks again!
Some thoughts/observations...

1. Using the standard path /usr/share/fonts makes sense (then symbolic link to the real fonts), so I changed the xecutah.sh

XFONTS=/usr/share/fonts/X11
export XFP="-fp ${XFONTS}/misc/,${XFONTS}/Type1/,${XFONTS}/75dpi/,${XFONTS}/100dpi/"

${APP_DIR}/bin/Xsdl -retro -noreset $XFP $VKB ${DISPLAY} &> /tmp/xserver.log &

Then if people want to test different fonts, manually add link(s) under /usr/share/fonts
In this case with fonts installed under /opt/share/fonts

# mount -o remount,rw /
# cd /usr/share/fonts
# ln -s /opt/share/fonts/X11 X11
# ln -s /opt/share/fonts/type1 type1
# mount -o remount,ro /

Later on, we can have an xfonts package add the link for the fonts under /media/cryptofs/apps/....

2. There seems to be no harm in adding those font paths to the Xserver, even if the fonts don't exist yet. You just get an error in /tmp/xserver.log and we get those error messages already.

3. It seems tempting to simply unpack the fonts from the debian xfonts packages and install the files, but that doesn't work. When the xfonts packages get installed on debian, there are some additional files created during installation.

e.g. under /usr/share/fonts/X11/misc

* encodings.dir
* fonts.alias
* fonts.dir

These come from mkfontdir running during the xfonts installation.
mkfontdir(1) - Linux man page

So either package those files from another system, or provide (and run) mkfontdir during font installation.

4. The standard font for Xterm is small, but a reasonably small font can be a good thing when dealing with long paths. Perhaps make the default size 14 (same as rxvt) rather than 13 (current default).

5. The idea of eventually having Tweaks let the user change the font size for xterm is a good one.
alex80386 is offline   Reply With Quote
Old 10/23/2011, 09:36 PM   #486 (permalink)
Member
 
Posts: 33
Default

Not sure where to submit feature requests, but is there any way to make a keyboard that can be hidden? Like in the program JsTop on preware?
nomisunrider is offline   Reply With Quote
Old 10/29/2011, 06:01 AM   #487 (permalink)
Member
 
alex80386's Avatar
 
Posts: 127
Default Testing Standard fonts for X ... or how to get a bigger font for xterm

I've noticed that there is a new xfonts package in the alpha feeds so I thought I would test it and see if it lets us have a bigger font for xterm.

Step 1: Install the package: Standard fonts for X (version 1.0.0 at this time).

If you have custom xfonts installed as described in my earlier posts on the xserver and xfonts, then you might need to remove those first (or at least remove any links created under /usr/share/fonts).

Step 2: in Xserver v0.9.6 we need some changes to this file, similar to the changes in the earlier post. Edit file:

/media/cryptofs/apps/usr/palm/applications/org.webosinternals.xserver/xecutah.sh

Before changes.

Code:
if [ "$VKB" == "-vkb " ]; then
    export VKB="";
fi
after changes.

Code:
if [ "$VKB" == "-vkb " ]; then
    export VKB="";
fi

XFONTS=/usr/share/fonts/X11
export XFP="-fp ${XFONTS}/misc/,${XFONTS}/Type1/,${XFONTS}/75dpi/,${XFONTS}/100dpi/"
Note: we don't need all those font paths, but it allows us to add more fonts later.

Before changes.

Code:
${APP_DIR}/bin/Xsdl -retro -noreset $VKB ${DISPLAY} &> /tmp/xserver.log &
after changes.

Code:
${APP_DIR}/bin/Xsdl -retro -noreset $XFP $VKB ${DISPLAY} &> /tmp/xserver.log &

Step 3: in Xterm v0.9.7 we need some changes to this file, to define the new font.

/media/cryptofs/apps/usr/palm/applications/org.webosinternals.xterm

Before changes.

Code:
export PATH=${APP_DIR}/bin:${PATH}
after changes.

Code:
export PATH=${APP_DIR}/bin:${PATH}

export FN="-fn -*-*-medium-*-normal--14-*-*-*-*-*-*-*"
Before changes.

Code:
${APP_DIR}/bin/xterm -display ${DISPLAY} -maximize $FG $BG -xrm "*metaSendsEscape: true" -u8 -e "login -p -f root" &> /tmp/xterm.log &
after changes.

Code:
${APP_DIR}/bin/xterm -display ${DISPLAY} -maximize $FN $FG $BG -xrm "*metaSendsEscape: true" -u8 -e "login -p -f root" &> /tmp/xterm.log &
So after these changes we should have a size 14 font instead of a size 13... not a big difference, but a little more readable.

Perhaps I should mention, since this is an alpha package and non standard modifications to Xserver and Xterm packages, all the usual warnings apply.

In future I'd expect both the Xserver and Xterm packages will be updated and in the case of Xterm, rather than hardcoding the font, perhaps $FN could be provided from Tweaks, similar to how the fg and bg colours are implemented.

For people reading this, perhaps some of these things are implemented in the Xserver and Xterm packages soon after I'm posting this message and soon you don't need to change anything.

Xterm before and after screenshots attached.
Attached Images
File Type: png xserver_2011-05-10_203855.png (66.8 KB, 21 views) Email Attachment
File Type: png xserver_2011-29-10_232346.png (68.1 KB, 19 views) Email Attachment

Last edited by alex80386; 10/29/2011 at 06:29 AM. Reason: add attachments and update
alex80386 is offline   Reply With Quote
Old 11/01/2011, 12:31 AM   #488 (permalink)
Homebrew Developer
 
Posts: 351
Default

Quote:
Originally Posted by nomisunrider View Post
Not sure where to submit feature requests, but is there any way to make a keyboard that can be hidden? Like in the program JsTop on preware?
Take a look here: XServer - Issues - WebOS Internals Redmine .

I assume you mean a keyboard that can be hidden on-the-fly? If you want to just hide it between sessions, fire up Tweaks and change the setting there.
__________________
Quake
thread
VisualBoyAdvance
thread App Cat
X11/XServer/Xterm
thread
SuperNES
thread App Cat


If you like my work, please consider donating or buying VBA!
dtzWill is offline   Reply With Quote
Old 11/01/2011, 12:35 AM   #489 (permalink)
Homebrew Developer
 
Posts: 351
Default

Quote:
Originally Posted by alex80386 View Post
In future I'd expect both the Xserver and Xterm packages will be updated and in the case of Xterm, rather than hardcoding the font, perhaps $FN could be provided from Tweaks, similar to how the fg and bg colours are implemented.

For people reading this, perhaps some of these things are implemented in the Xserver and Xterm packages soon after I'm posting this message and soon you don't need to change anything.

Xterm before and after screenshots attached.
Thank you for the write-up, and yes what you expect/suggest is exactly where things are going.

No ETA on it hitting the feeds though, unfortunately .
__________________
Quake
thread
VisualBoyAdvance
thread App Cat
X11/XServer/Xterm
thread
SuperNES
thread App Cat


If you like my work, please consider donating or buying VBA!
dtzWill is offline   Reply With Quote
Old 11/01/2011, 05:38 AM   #490 (permalink)
Member
 
Posts: 64
Default

Quote:
Originally Posted by dtzWill View Post
Take a look here: XServer - Issues - WebOS Internals Redmine .

I assume you mean a keyboard that can be hidden on-the-fly? If you want to just hide it between sessions, fire up Tweaks and change the setting there.
This request came up earlier on the TigerVNC thread. I believe what nomisunrider was asking for was a keyboard that could be hidden or revealed on the fly, so for example he could use a full-screen X to show his VNC screen, and bring up the keyboard when he wants to type something, then hide it again.
Resizing the X screen every time may not need to be done for this - for example AndroidVNC on the other platform just brings up the soft keyboard overlaying the bottom of the screen on my Wildfire.
__________________
If you appreciate my work please consider donating!
Soruk is offline   Reply With Quote
Old 11/01/2011, 03:53 PM   #491 (permalink)
Member
 
Posts: 33
Default

Quote:
Originally Posted by Soruk View Post
This request came up earlier on the TigerVNC thread. I believe what nomisunrider was asking for was a keyboard that could be hidden or revealed on the fly, so for example he could use a full-screen X to show his VNC screen, and bring up the keyboard when he wants to type something, then hide it again.
Resizing the X screen every time may not need to be done for this - for example AndroidVNC on the other platform just brings up the soft keyboard overlaying the bottom of the screen on my Wildfire.
Correct. I do not see why it require a resize everytime, just an overlay. The keyboard is part of webos, not the X session.
nomisunrider is offline   Reply With Quote
Old 11/01/2011, 09:39 PM   #492 (permalink)
Homebrew Developer
 
Posts: 351
Default

Quote:
Originally Posted by nomisunrider View Post
Correct. I do not see why it require a resize everytime, just an overlay. The keyboard is part of webos, not the X session.
You are correct, implementing this is entirely trivial and does not require resizing anything.

The short version of the explanation why that isn't done yet is simply "I haven't had time yet--patches welcome".

That said, I believe someone is using this exact feature request as a project to get themselves up-to-date with WIDK and the xserver work, so just be patient please .

EDIT:
I feel like I should expalin what I mean by trivial-- I mean decide what input event(s) you want to toggle the keyboard, and call PDL_SetKeyboardState(0) or PDL_SetKeyboardState(1) at the right points in the appropriate event handlers and everything will work just dandy.

Source is http://git.webos-internals.org/x11/xserver
__________________
Quake
thread
VisualBoyAdvance
thread App Cat
X11/XServer/Xterm
thread
SuperNES
thread App Cat


If you like my work, please consider donating or buying VBA!

Last edited by dtzWill; 11/01/2011 at 09:42 PM. Reason: by trivial I mean trivial :)
dtzWill is offline   Reply With Quote
Old 01/03/2012, 12:27 PM   #493 (permalink)
Homebrew Developer
 
Posts: 351
Default

Xserver v0.9.7 in the alpha feeds!

Includes support for right-click (tap screen with second finger while holding down the first), and for toggling keyboard (three-finger tap, naturally touchpad-only).

Thanks to elpollodiablo for doing the work on this one!

Please let me know how this works for you!

One thing we're playing with are things like "where the click event is triggered for right-click--at the location of the first or second finger?", so feedback rather welcome. Should work on all devices except pixi (popular demand can fix this).

Enjoy!

As an aside, xserver is now on github: https://github.com/dtzWill/xserver_webos
__________________
Quake
thread
VisualBoyAdvance
thread App Cat
X11/XServer/Xterm
thread
SuperNES
thread App Cat


If you like my work, please consider donating or buying VBA!
dtzWill is offline   Reply With Quote
Liked by elpollodiablo1, qole, Soruk and 1 others like this.
Thanked by qole, Soruk, Willard
Old 01/03/2012, 02:01 PM   #494 (permalink)
Member
 
Posts: 27
Default

Regarding the position of the 'pointer' upon a right click, I can see it both ways.

I can see using the first touch as the pointer location if one needs to select an area, or a segment of text with that first touch.

On the other hand, I can see using the first touch as a generic 'shift/function touch' if a precise location needs to be selected as part of the 'right click'.
SeighWatt is offline   Reply With Quote
Old 01/03/2012, 02:15 PM   #495 (permalink)
Member
 
Posts: 64
Default

dtzWill, that's excellent news. I'll have to give it a go, but it does sound much less clumsy than my menu-based approach to swap the mouse keys in TigerVNC. (Though, I'll leave them in for now, and it'll still be needed for the middle-click.)

I still haven't got very far trying to massage TigerVNC and dwm into the webosinternals build mechanism since it's a bit different from the official SDK/PDK, so for now you'll still need to download TigerVNC from its thread.
__________________
If you appreciate my work please consider donating!

Last edited by Soruk; 01/03/2012 at 06:05 PM.
Soruk is offline   Reply With Quote
Old 01/04/2012, 06:44 PM   #496 (permalink)
Member
 
Willard's Avatar
 
Posts: 188
Default

This is great. I can now use chromium as my primary browser, with this update and the chromeTouch browser extension.

Edit: This update is the final piece that made android on the TP superfluous. Lots of good work being done here by webOSinternals.

Last edited by Willard; 01/04/2012 at 07:35 PM.
Willard is offline   Reply With Quote
Old 01/24/2012, 11:23 AM   #497 (permalink)
Member
 
Posts: 212
Default

are there any issues that need to be fixed on Xserver v0.9.7?

If not when should this be pushed to beta or public feeds?
__________________
Rocking out Franken Pre2 2.2.4 and TP 3.0.5

Published TP Apps:
Anagramarama HD
Published Phone Apps
Anagramarama
DDII Free
elpollodiablo1 is offline   Reply With Quote
Old 01/29/2012, 06:38 AM   #498 (permalink)
Member
 
Posts: 8
Default Can I has "fullscreen"?

Thanks to the great work being done here, I am <<this close>> to being able to ditch my laptop in favor of my Touchpad and a bluetooth case/keyboard, since I can run OpenOffice in a 1Gb Debian chroot.

However I am chasing my tail trying to figure out where to make edits to have the X window be "full screen" since I'll only be using this with my bluetooth keyboard, and won't need the space for the onscreen keyboard. I have read through this thread, and I'm close, but not seeing it.

Help?
Kotts is offline   Reply With Quote
Old 01/29/2012, 07:00 AM   #499 (permalink)
Developer
 
rwhitby's Avatar
 
Posts: 10,473
Default

Use Tweaks.

-- Rod
rwhitby is online now   Reply With Quote
Old 01/29/2012, 08:53 AM   #500 (permalink)
Member
 
Posts: 8
Default <facepalm>

In all the reading, I saw the discussion about Tweaks, but I was so fixated on looking for an X11-style config file or script that I missed the obvious.
Kotts is offline   Reply With Quote
Reply

 

Thread Tools
Display Modes



 


Content Relevant URLs by vBSEO 3.6.0