1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
@c This is part of the Emacs manual.
@c Copyright (C) 2021--2022 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Haiku
@appendix Emacs and Haiku
@cindex Haiku
Haiku is a Unix-like operating system that originated as a
re-implementation of the operating system BeOS.
This section describes the peculiarities of using Emacs built with
the Application Kit, the windowing system native to Haiku. The
oddities described here do not apply to using Emacs on Haiku built
without windowing support, or built with X11.
@menu
* Haiku Basics:: Basic Emacs usage and installation under Haiku.
* Haiku Fonts:: The various options for displaying fonts on Haiku.
@end menu
@node Haiku Basics
@section Installation and usage peculiarities under Haiku
@cindex haiku application
@cindex haiku installation
Emacs installs two separate executables under Haiku; it is up to the
user to decide which one suits him best: A regular executable, with
the lowercase name @code{emacs}, and a binary containing
Haiku-specific application metadata, with the name @code{Emacs}.
@cindex launching Emacs from the tracker
@cindex tty Emacs in haiku
If you are launching Emacs from the Tracker, or want to make the
Tracker open files using Emacs, you should use the binary named
@code{Emacs}; if you are going to use Emacs in the terminal, or wish
to launch separate instances of Emacs, or do not care for the
aforementioned system integration features, use the binary named
@code{emacs} instead.
@cindex modifier keys and system keymap (Haiku)
@cindex haiku keymap
On Haiku, unusual modifier keys such as the Hyper key are
unsupported. By default, the super key corresponds with the option
key defined by the operating system, the meta key with the command
key, the control key with the system control key, and the shift key
with the system shift key. On a standard PC keyboard, Haiku should
map these keys to positions familiar to those using a GNU system, but
this may require some adjustment to your system's configuration to
work.
It is impossible to type accented characters using the system super
key map.
You can customize the correspondence between modifier keys known to
the system, and those known to Emacs. The variables that allow for
that are described below.
@cindex modifier key customization (Haiku)
@table @code
@vindex haiku-meta-keysym
@item haiku-meta-keysym
The system modifier key that will be treated as the Meta key by Emacs.
It defaults to @code{command}.
@vindex haiku-control-keysym
@item haiku-control-keysym
The system modifier key that will be treated as the Control key by
Emacs. It defaults to @code{control}.
@vindex haiku-super-keysym
@item haiku-super-keysym
The system modifier key that will be treated as the Super key by
Emacs. It defaults to @code{option}.
@vindex haiku-shift-keysym
@item haiku-shift-keysym
The system modifier key that will be treated as the Shift key by
Emacs. It defaults to @code{shift}.
@end table
The value of each variable can be one of the symbols @code{command},
@code{control}, @code{option}, @code{shift}, or @code{nil}.
@code{nil} or any other value will cause the default value to be used
instead.
@cindex tooltips (haiku)
@cindex haiku tooltips
@vindex haiku-use-system-tooltips
On Haiku, Emacs defaults to using the system tooltip mechanism.
This usually leads to more responsive tooltips, but the tooltips will
not be able to display text properties or faces. If you need those
features, customize the variable @code{haiku-use-system-tooltips} to
the nil value, and Emacs will use its own implementation of tooltips.
System tooltips cannot display above the menu bar, so help text
in the menu bar will display in the echo area instead when they are
enabled.
@cindex X resources on Haiku
Unlike the X window system, Haiku does not have a system-wide
resource database. Since many important options are specified via
X resources (@pxref{X Resources}), an emulation is provided: upon
startup, Emacs will load a file named @file{GNU Emacs} inside the user
configuration directory (normally @file{/boot/home/config/settings}),
which should be a flattened system message where keys and values are
both strings, and correspond to attributes and their values
respectively.
You can create such a file with the @command{xmlbmessage} tool.
@subsection What to do when Emacs crashes
@cindex crashes, Haiku
@cindex haiku debugger
@vindex haiku-debug-on-fatal-error
If the variable @code{haiku-debug-on-fatal-error} is non-nil, Emacs
will launch the system debugger when a fatal signal is received. It
defaults to @code{t}. If GDB cannot be used on your system, please
attach the report generated by the system debugger when reporting a
bug.
@node Haiku Fonts
@section Font and font backend selection on Haiku
@cindex font backend selection (Haiku)
Emacs, when built with Haiku windowing support, can be built with
several different font backends. You can specify font backends by
specifying @kbd{-xrm Emacs.fontBackend:BACKEND} on the command line
used to invoke Emacs, where @kbd{BACKEND} is one of the backends
specified below, or on a per-frame basis by changing the
@code{font-backend} frame parameter.
Two of these backends, @code{ftcr} and @code{ftcrhb} are identical
to their counterparts on the X Window System. There is also a
Haiku-specific backend named @code{haiku}, that uses the App Server to
draw fonts, but does not at present support display of color font and
emoji.
|