Remove shared message handling from ColorListView,
you are expected to implement this yourself and these
message constants were not actually being used by
the message target.
Do color drop handling in Appearance and Terminal.
Handle all color drops in WasDropped().
Allow current selection to remain, only update color.
TODO Changing selection on external drops should be
fixed in BListView. Work-around in BColorListView.
Fixes#19562
Change-Id: Ic99bbb1288fd736778eac831d38e453122815abc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9296
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Adjust tray icons and clock to fit accordingly. Leaf menu height is
reduced by 1 in vertical mode to match.
This makes the overlap of maximized windows and Deskbar less noticeable,
especially in horizontal mini-mode.
Fixes#16231
Change-Id: I622d008ee093e018ebcb46e3c45647577f46184f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8833
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
To allow consumers to cause the "don't fragment" bit to be set in
all IPv4 packet headers.
There is no standard way of doing this, and different OSes expose
this option in different ways. Linux has "IP_MTU_DISCOVER", but it
takes an enum, not a boolean. NetBSD and OpenBSD appear to have
no socket option, instead they have "IP_MTUDISC", an option for
the "ip_output()" kernel-level network stack method.
"IP_DONTFRAG" sockopt originates on FreeBSD, and it seems macOS now
also supports it in version 11+. Windows has "IP_DONTFRAGMENT",
which, at a glance, appears to do the same thing. So this looks
like the one that makes the most sense to adopt.
This doesn't add any code to process MTU changes yet, though.
Change-Id: I492d22dbd0ee5f4ab35c600396ad3d3ec9f4f200
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9401
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Using the new net_error_data parameter to error_received.
Move the "update routing table" TODO into the IPv4 module,
since the ICMP module doesn't deal with the routing table
at all, while the IPv4 module already does.
Also add a missing endian swap in ICMP error_reply.
Change-Id: I1135eaa442f515d656143c76ab130be19cdcbaf2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9400
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Same structure as used for error_reply, to contain information
(like path MTU or redirect gateway) from the original error packet,
so that upper layers don't have to re-parse it.
Nothing uses or passes it around at present, but it will be used
in the next commits.
Change-Id: I38a3dec5506bdcb77a7850294082db7be74dd80f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9399
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
* POSIX also specifies in6 availability in in.h, not just RFCs.
* Drop IPPORT_USERRESERVED. It's in RFC 1700, but FreeBSD and musl
do not define it, and OpenBSD and NetBSD disagree on its value
(the RFC says 5000, while OpenBSD used this "49151" starting
in 1998.)
* Organize the remainder with clear indications of what RFC defined them
(if indeed they were specified in an RFC.)
* Drop "helpful macros"; they're guarded by _KERNEL on OpenBSD.
Change-Id: Ia20be56398130ee22d70b38ee25a3f609b567c3b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9398
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
IP_HDRINCL isn't POSIX. The FreeBSD manual page for it doesn't specify,
but the Linux manual page indicates it will compute the checksum.
traceroute seems to depend on it doing so.
Significantly improves the situation in #3210.
* Have bread() output a NULL *bpp when returning an error (consistent
with FreeBSD).
* Enable brelse() to handle a NULL argument (consistent with FreeBSD).
* Ensure that when getblkx() returns an error, no clean-up remains to
be done by bread() or getblk().
* Let allocate_data() set buf::b_owned, and set it only if successful
in allocating, so the flag won't be misleading to put_buf() after a
failure.
* Revise vput() to avoid situations when, after an error, it might
call put_vnode() before the node is published to the VFS.
Change-Id: I42cc1684fe5b68333284b149e72a794c93ac71ff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9393
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
UdpDomainSupport::ConnectEndpoint() uses SetToEmpty() to unconnect when used
with AF_UNSPEC.
checked against the output of the test sortix/os-test/udp/connect-unconnect-getpeername
Change-Id: Iccfa46399a0e14057459966a2f406469566bcbac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9396
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
should return EDESTADDRREQ for UDP
checked against the output of the test sortix/os-test/udp/sendto-null
Change-Id: I3bc61e0cc9d75319d61f0395f1ae45d28171bfef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9395
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
checked against the output of the test sortix/os-test/udp/connect-send-error-send
* icmp: add more error codes
Change-Id: I7b1695d37cf5eae8cd09132047404b990f8791dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9394
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
* Cursor bitmaps are now generated at runtime from vectors
embedded in CursorData.cpp (replacing the old bitmaps).
There is still a fallback bitmap pointer in case generation fails.
All cursors should scale correctly, and hotspots are accounted for.
* The Pointer vector in data/artwork/cursors was very slightly tweaked
to look better at larger sizes - the white edge at the bottom was made
rounder.
* The new dynamically-generated cursor looks close to the old one,
unless you're zoomed in and comparing them pixel-by-pixel.
* The cursor shadow is generated with a gaussian blur to create a
similar look to the old shadow, which was created in an image editor.
Fixes#13171.
Co-authored-by: Augustin Cavalier <[email protected]>
Change-Id: Ifa881619354a42bc60d2b5c1d0443e8addf6e0f5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5200
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
instead of returning B_NOT_SUPPORTED.
* this fixes a few tests of sortix/os-test/udp.
Change-Id: I961e71cc419ce7ab38419749a42df8737e272c83
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9392
Reviewed-by: waddlesplash <[email protected]>
BView-related code removed or disabled, of course, but this now uses
the ColorConversions class, and adds some more ImportBits APIs from that.
Change-Id: I805cef159bac52173ef16030eae69e83db6f061b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9391
Reviewed-by: waddlesplash <[email protected]>
Toolbars go with menu bars, and so to blend in better with them,
should use the same colors. (Under the default color schemes,
the menu bar and panel colors are the same, so this makes no
visible difference there.)
Added a TODO for button colors as we may want to do something different
for that, it also makes no difference with the default scheme, but
for non-default schemes may matter.
Improves #19629.
This fixes a bug that's been annoying me - when I use Workspaces to
move a terminal that's scrolling/moving on another workspace, the
terminal begins drawing into the current workspace; this also happens with
some other apps, like Qemu. I tracked this down to Desktop::MoveWindowBy,
where we update an invisible window's current workspace to the one it's
being moved on. Trouble is, the current workspace is set to -1 for windows
on another workspace, and IsVisible just returns whether the current
workspace is >=0, so doing this causes IsVisible to return true when it
shouldn't.
This patch replaces that call with one that sets a separate
invisible workspace member variable, which preserves all window moving
functionality without improperly setting a window as visible. It also fixes a
minor graphical glitch when moving off-workspace tiled windows.
Fixes#6722
Change-Id: I2c4f04602caed85bf08391d0ea99e4dc74c1e1d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9256
Reviewed-by: waddlesplash <[email protected]>
Presently, the control color is heavily tinted almost everywere
it's used, making it difficult to set from Appearance preferences,
and making the default theme not look so good in "dark mode."
After this patch, the defaults are changed to something much closer
to the actual final color used in buttons and scrollbars, and the tints
thus heavily reduced as a result.
B_CONTROL_BACKGROUND_COLOR wasn't present on BeOS, so it should
be safe to change its default. Some logic is added to app_server to
automatically migrate to the new color if the old default is present.
(This is based on nephele's initial patch, but significantly reworked
so that existing installs are upgraded as seamlessly as possible,
with few or very minor visual differences.)
Co-authored-by: Pascal Abresch <[email protected]>
Change-Id: Ida9fbaa61df9aeb89a9daf59cd9901a34737d5f9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8878
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
* When a file hole is created, zero the start of the page where the
hole ends.
In my test setup at least, the server takes care of zeroing any full
pages in the hole created when a write begins at a position after the
existing EOF. Since the file cache page where the write starts will be
written back to the server, we just need to partially zero that page.
This change allows the driver to pass the 'holey file' test in the
nfs connectathon test suite.
Change-Id: I5a0d52af5cce4fb9e2d9f928f45fd0adcfa23627
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9381
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Previously it used "contrast" and "brightness" values that were
computed in strange ways. Now it behaves more like the other
color computation functions and deals with the "flags" directly.
Comparing many controls, colors on button frames in all states appear
to be the same (or nearly the same, within 1-2 RGB values) before
and after this change.
Change-Id: Ia6d696c29fc76c73c88cc97af97ea45e1ff089ff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9321
Reviewed-by: waddlesplash <[email protected]>
The openboot mmu code does not like addresses above 4GB, so load the
kernel to a lower address. It doesn't really matter anyway, because on
sparc the kernel normally lives in a separate address space and uses
special instructions to access userland memory.
See #19597 for details, further changes will be needed here.
Change-Id: Iac6901f275667efef5e64d059daf4c96032a7baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3573
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Duplicates can arise if e.g. you have backup of your contacts mounted.
Or, imagine someone packages a Person file with their software as it
was common back in the BeOS days. If you have several software packages
from that dev, you'll see copies of that Person file from each package.
If a contact has the same name, we compare all email addresses. If they
differ, a new item is created. That way, Person files with more than
one email attribute ("META:email{n}" with n >= 2), as used by other apps
like Peeps!, get an item per address.
When checking for email addresses in AddPersonAddresses(), don't quit
looking through the attributes when encountering an empty one via "break".
Do "continue" with the next "META:email{n}" attribute, as it's possible
META:email2 is empty, but META:email3 has an address.
Change-Id: I644cfa2d8349b5022ffde37344c55a54577b12f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9331
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Other contacts apps like Peeps! allow for more than one email
addresses, using the attributes META:email{n} with n >=2.
Only, not all contacts having those additional attributes have
them actually filled.
This results duplicate entries in e.g. the To-field pop-up with
no email address attached.
We now only add an item if its email address isn't empty for those
additional email attributes as well.
Change-Id: Icb1750fe8e2b10280bc01b3181b444f01096e021
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9329
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>