Use launch daemon to autostart Launchbox if enabled in settings.
Change-Id: Id0aaf454cfbc0cc42db2dbb54d6788c79dae6949
Reviewed-on: https://review.haiku-os.org/c/917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Adds the OpenDocument file types to the mime database
includes regular files and templates.
* Adds icons to mime_db and artwork/icons
Change-Id: I55c7f79f53e09d5976e41c4d5a5292fc6be906d0
Reviewed-on: https://review.haiku-os.org/c/900
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
This is the correct solution to #11419; I missed in my original commit
that $(NAME) will already be escaped, and adding quotes double-escaped
it erroneously.
Reverts hrev52738, as discussed with waddlesplash on IRC.
Re-opens #11419 "makefile_engine's install function fails on paths with blanks"
Turns out this change results in escaped filenames, e.g. "Open Origin Package"
becomes "Open\ Origin\ Package", see
https://github.com/haikuports/haikuports/pull/3580
* Adds licence information for the NetBSD contributions
* ftp - 4 clause BSD (retained in ftp.c)
* tput - Berkeley
(http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.bin/tput/tput.c?rev=1.26)
* Berkeley licence text added to licences
* xfree86.org url added
These were previously marked TODOs
Change-Id: I01bf0bb6055b3b45ca80c6cddabdb093cb043408
Reviewed-on: https://review.haiku-os.org/c/887
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
These data files are used in the generation of build targets,
so moving them to src/data alongside the package_infos & etc.
makes more sense.
They don't seem to be activated properly though (I added some tracing
to try and figure out why they aren't used but haven't gotten to the
bottom of that yet.)
Technically the profile is supposed to be sourced, but it seems that
some scenarios / applications do not do this and instead run it.
Before the recent changes to PS1, it was also exported, and now
it is again. Should fix entering HaikuPorter chroots under the new profile.
Also renamed "ARCH" to "_ARCH" to better accomodate those
who are sourcing this file, in case they want to pass a variable
named ARCH through.
* Version font is https://fonts.google.com/specimen/Oswald
* We're no longer alpha, lets refine our logo a bit :-)
Change-Id: Ic7297944252e28281a928112ddf718b8ad5dbd62
* Unlink/Symlink not needed as we now use a package.
* Use correct URLs to download headers.
Fixes#14412.
Change-Id: I76dbca3d48d0b2933a27bea666551ff86d404a93
Reviewed-on: https://review.haiku-os.org/493
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
As expected there was a lot of bikeshedding.
Just change the color of the path, green on success, red on failure.
Constraints taken into account:
- Keep the > for now
- Prompt should be as compact as possible for those of us using 80
column terminals.
- Prompt should not change size between success and error cases
Not taken into account:
- The feature should be accessible to colorblind people (we could
replace the > with another char but we couldn't find something that
looks suitable)
An example of the new prompt line format is:
~/Desktop/haiku :) $
Or if the last command exited in failure:
~/Desktop/haiku :( $
The smiley-face will be either dark green or red, also depending on
the command status.
I realize this could be a tad controversial, especially for those used
to the old prompt, but it seems to be a pretty useful feature to me
(and of course kallisti5 came up with it.) But if the bikeshed turns
out to be too large, we can revert it and deal with it after the beta.
As for $ vs > -- BeOS R5 used $, most modern Linux uses $, and having >
come after a space looks much stranger.
These changes were made to etc/profile by PulkoMandy last year, but he missed
making the change in SetupEnvironment. etc/profile calls SetupEnvironment,
so we can consolidate all this there.
Also clean up some syntax.
The lowest model number supported by this driver is "3160", but that's just
Intel's insanity: the 7260 was released the quarter before it. So following
our naming convention strictly, "7260" is the correct name for this driver.
The firmware situation for this one is also a little different. Unlike past
instances where Intel has released mostly nonsubstantial firmware updates,
allowing us to just copy a recent-ish version from the iwlwifi archives,
the firmware is more closely tied to the driver in this series. As a result,
some of this firmware is not even used by Linux yet (they're a few versions
behind it seems), so the firmware packages included here come from FreeBSD.
One major hardware feature - RX of multiple frames at a time - is disabled
in this commit, as it depends on mbuf reference-counting, according to the
FreeBSD developers I asked, which we do not implement yet. I'll hopefully
get to looking at that in the next few weeks.
And with that, I finally have WiFi on my primary laptop, my original reason
for setting out on this quest last year. This commit was pushed through it,
even :)
* Display of the user-ratings listing improved
* When a user-rating is created / edited, the pkg is updated
* Creation date of the user-rating is unpacked shown
* Ability to create a user-rating with a comment, but no numerical rating
* Stars display show grey if no numerical rating present
* Improvements to error reporting when problem arise
* Parsing of the 'revision' field of the version working
* Removed debug logging for the text engine
* Other minor tweaks
Change-Id: I99f881ab1426641ef4177eec2d3bcacc7cb74e95
Since hrev51075, locale -m changed meaning to the one expected by POSIX
(it now lists character maps, instead of giving the current language).
Since the short options may change again (locale -c is still not doing
what POSIX requires), use long options instead. This is more readable
and POSIX doesn't specify anything there so we can name them however we
want.
Fixes date parsing in Python which relies on these variables to detect
the current locale.
It is implemented using websockets and canvas darwing. It directly
speaks the remote desktop protocol. A websocket proxy that translates
the TCP connection into a usable form is needed. Websockify works for
this out of the box directly under Haiku.
Note that not all drawing modes are implemented, and most of them don't
have a good match on the canvas side. Fonts are also not properly
supported yet. A sans serif font will be used on the client for
everything and the metrics between the client and server will diverge
and cause drawing artifacts.
Usage:
* Run an application with a target screen to create the desktop:
TARGET_SCREEN=5001 Terminal
* Use a websocket proxy to expose the port via websockets:
websockify.py 5000 localhost:5001
* Open HaikuRemoteDesktop.html in a browser and connect.
To get the full desktop experience you may want to run Tracker and
Deskbar inside the virtual desktop. As they are both single launch
and controlled by the launch_daemon, you have to stop them via:
launch_roster stop x-vnd.be-trak
launch_roster stop x-vnd.be-tskb
And then start them manually from within the virtual desktop:
/system/Tracker &
/system/Deskbar &
We bundle bitstream charter as a default font to use when nothing else
is available. We also used to bundle a Courier font, but it does not
work properly.
- Fix the license for Bitstream Charter, to include just the license and
no extra text.
- Add said license to AboutSystem
- Remove the Courier font from the package and from the source tree.
Fixes#11696.
It was licensed with a "no commercial usage allowed" license, which if
we were using it would be a gray area at best. We weren't using it at all,
and AGG seems to have disabled building it by default, so just remove it
from the tree entirely.
Briefly discussed on IRC.
These are made from the sticker "haiku-sticker-3.5x2".
Quick preview at http://img.ctrlv.in/img/17/02/27/58b425e23a6fb.png
A "Haiku" text layer and a 1-pixel frame are on separate layers,
that are set invisible. Not sure if we should always show the "Haiku".
Looks better without in my opinion, but depending on where it'll be
used, showing the text may be desired...
When used for small logos, like 64px, simple scaling might not cut
it, and the yellow and orange "hills" need to be made wider.
A recreation of the sticker designed by Jorge G. Mare in 2010.
Copyright 2010 Haiku Inc. Released under a CreativeCommons Attribution, Noncommercial, Share Alike license.Designed by Jorge G. Mare (koki@haikuzone.net)
As closest approximation to the font, I used FuturaExtended.
We should come up with a better motto than "Inspired by the BeOS".
One layer holds the reverse side with the QR code.
99% acurate recreation of the icons used in the Deskbar for hidden and
visible windows. Only the yellow tab is now a gradient. Should be invisible
at the relative sizes used in Deskbar.
I added 5 notification icons. They are flat icons that appear a bit bland at
larger sizes, but are nice when smaller like in the Deskbar or in lists.
Here's a PNG of them: https://lut.im/EtRvHPsMNC/T5wXFapUOkej68B9.png
Notify_Notice - your normal info
Notify_Achtung - slightly more interesting than a notice
Notify_Caution - 1st level of escalation, "Odd..."
Notify_Warning - 2nd level of escalation, "Something's not right at all..."
Notify_Danger - 3rd level of escalation, "I smell smoke..."
Also includes changes to HaikuDepot to change wording and add the menu item
to open the Repositories preflet.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Closes#13147.
* Planning on having a notification box when updates
available.
* Clicking the notification box will pop up the
SoftwareUpdater with a simple "Apply Updates" button
* Currently users need to know to 'pkgman update'
ThemeManager has an UTF-8 copyright symbol in its rdef file.
The chroot set up by haikuporter doesn't export anything that would
hint grep to accept UTF-8 as text, so it freaks out...
So we force it to accept anything as text.
These are not perfect, but better than using the default app icon. Feel
free to improve.
- DNS resolver: phonebook icon
- App-server: hand + app icon
- Keystore: key lock
- Launch daemon: croissant (to get the day started)
- Net server: hand + earth
- Package daemon: hand + package
- Power daemon: CF lightbulb
The only file in here was Deskbar.h, which just included the "real"
Deskbar.h. Considering nothing in-tree cares about this, and only
a small number of applications at HaikuArchives do, and that Haiku already
broke BeOS source compatibility in lots of other ways, let's just remove
this deprecated cruft.
We aren't really using Bullet itself; there are only two classes
(Quaternion and Vector3) which are from Bullet, and even they were
heavily modified. Furthermore, the Bullet license is really just the Zlib
license, which the Bullet source repository confirms (and you can see
by looking at its text.) It does not require attribution in documentation,
but only in the source code, and we aren't even using a substantial part
of it.
... as we obtained permission from Mark Kilgard to do so (see commit
c3eddfc0682b99f28ddbe33a14dadc40dc5b5f71.) So update AboutSystem and
the licenses directory to reflect that.
As suggested by Christopher Sean Morrison:
"Curiously, the two svg files lack styling / namespace declarations so
they won’t render in a browser. Adding an xml namespace to their <svg>
opening tag lets them render correctly: xmlns="http://www.w3.org/2000/svg"
Thanks!
* The mail_daemon could have been launched too early, which caused it
not to be able to add its Deskbar icon. We don't really want a
dependency to the Deskbar, though, which is why we only run the
mail_daemon on the same event (which makes the Deskbar available
at that point).
* Ideally, the mail_daemon should be smart enough to install its Deskbar
icon once the Deskbar is available, though.
* Similar issue for the first login scripts. Here, we have a real
dependency to the Deskbar which makes the script launch once the
Deskbar is available.
* This finally fixes#12454.
* The same mechanism (and the same PostInstallScript) is used for this.
* If a file first_login exists in ~/config/settings/boot, the first-login
scripts are launched, and the file removed.
* This fixes adding the deskbar tray icons even when there is no Deskbar
running yet (for example on first boot when the FirstBootPrompt
starts), or, IOW bug #12275.
* Seems to work fine, although it should probably also be triggered when
there are still jobs in the queue -- someone more knowledgeable might
want to chime in here, please :-)
* If this turns out to be problematic, we can just drop the "on_demand"
job config again.
- Rather than depending just on mount_server's launch, instead use
a condition that waits for the volumes mounted event. Had missed
the existence of this one previously.
- Adjust launch configuration such that media_server requires mount_server.
Otherwise, if the user has specified sound files for any events that are
on non-boot disks, these won't be found/loaded properly during the boot
process.
* Now inherits from BServer, and gets its message port from the
launch_daemon.
* It registers an event "initial_volumes_mounted" that allows other
services to be started afterwards.
* This is now used in the boot launch files, and makes the scripting
based previous solution superfluous which has been removed with this
commit, too.
* This implements the last needed feature in order to reproduce the
complete former boot process using the launch_daemon.
* Scripts from targets are evaluated once on first target launch,
scripts from jobs are evaluated on each start.
* The "desktop" target now sources SetupEnvironment as usual.
* Allows to conditionally (or unconditionally) launch targets.
* Including tests for the settings parser.
* FirstBootPrompt is now launched when deemed necessary (as in
the Bootscript).
* You can now put jobs/services into a target.
* Instead of having Login started as part of the normal boot process,
it's now in the "login" target.
* The app_server now launches the login target when a login becomes
available (ie. during startup, but that could be improved later on).
* Instead of launching Tracker/Deskbar directly, we now launch the
Login application.
* This will now start a new session for the selected user (the password
is currently ignored).
* When a user session is started, the launch_daemon forks, and the
child then restarts the LaunchDaemon application in user mode.
* It then registers itself with its parent, in order to resolve user
dependent services.
* Added a user launch file that will cause Tracker, and Deskbar to
start in the new session.
* get_roster_port_name() is no longer needed.
* This also removes the app_server restart code from the debug
server -- this will be done by the launch_daemon in the future.
* Dropped "create_port" -- this is now the default for services.
* Additionally (or alternatively, if you use the "legacy" mode), you can
now create named ports, and specify their capacity.
* Added convenience methods to BLaunchRoster that automatically use the
signature of the current be_app.
* This is actually working already, although we cannot reproduce all
the features of the former Bootscript yet. This is without any
dependency support in launch_daemon.
* All shell activity like cleaning out /tmp, setting up the environment,
setting the time, etc. is not yet working.
* This will be heavily inspired by Apple's launchd, as well as
systemd -- for now it really doesn't do a whole lot, though.
* What works so far: the configuration files are read, parsed, and
the jobs created.
* The jobs are even initialized, and their message ports created.
* BApplication now retrieves a previously created port from the
launch_daemon for use with BServer.
* Only the registrar actually uses this for now.
These files are required for netresolv functionality, and there is no
real use in modifying them as settings files. Restore the previous
behavior, the files are stored in data and part of the Haiku package.
This means there is no need for a fresh install from image to get the
files anymore.
Fixes#12156.
libbind development was transferred to the NetBSD project at
http://wiki.netbsd.org/individual-software-releases/netresolv/
There isn't an official release yet, but they provide a set of patches
against the latest libbind release.
* Remove all files we don't use
* Merge the changes to the remaining files
* Add some new files we need
* Move getifaddrs implementation to libnetwork (instead of libbnetapi)
so it can be used by netresolv.
Fixes#8293 : netresolv uses getifaddrs to determine if there is a local
IPv6 address. If there is not, it will not return AAAA records.
* This also updates /etc/profile to detect whether our
parent process is a shell, and changes the banner
message accordingly.
* Also, pipe errors to /dev/null, in case grep is not
installed; this allows us to not require grep as a
dependency, and let the banner message do the right
thing.