Commit Graph
67881 Commits
Author SHA1 Message Date
scphandAugustin Cavalier f8e01ad15c app_server: Render cursors from vector icons based on the font size.
* 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]>
2025-06-26 01:19:41 +00:00
Jérôme Duval f2a0f2a3e0 udp: implement shutdown()
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]>
2025-06-25 13:24:25 +00:00
Augustin Cavalier 8e86be8509 libbe_build: Synchronize BBitmap implementation with the main one.
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]>
2025-06-24 22:47:45 +00:00
Augustin Cavalier 1ad882a7ec BToolBar: Use MENU_BACKGROUND color, and leave buttons with default.
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.
2025-06-24 14:48:30 -04:00
Niklas Poslovski 92261f367f Printers: Make icons scale for HiDPI
Fixes #17985

Change-Id: I867bb9c95f6421bf056845a2686789341c8aa7d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9376
Reviewed-by: waddlesplash <[email protected]>
2025-06-24 18:41:40 +00:00
Jérôme Duval 3aaa4c9d96 udp: a second bind on broadcast address should error with EADDRNOTAVAIL
Testcase: https://gitlab.com/sortix/os-test/-/blob/master/udp/bind-conflict-loopback-broadcast.c

Change-Id: I37c6d05910c3d9573610207b650f1957bccd1e47
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9390
Reviewed-by: waddlesplash <[email protected]>
2025-06-24 17:33:06 +00:00
Jérôme Duval 090519cfe5 network/stack: socket_accept: return B_NOT_SUPPORTED for non-stream sockets
Testcase: https://gitlab.com/sortix/os-test/-/blob/master/udp/accept.c

Change-Id: I9020292facb47339ede31a8d1c49d197e40d6ca9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9389
Reviewed-by: waddlesplash <[email protected]>
2025-06-24 17:33:06 +00:00
PawanYr 1e4ba4883f App Server: Don't set workspace in Desktop::MoveWindowBy
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]>
2025-06-23 19:58:39 +00:00
nipos 349b6d2d2a Expander: Improve HiDPI scaling and avoid cutting off the window
Fixes #17905

Change-Id: Ia6790a2ebe5e6cdfdc88365f39c46ad9412541ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9388
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-06-23 19:52:23 +00:00
Augustin Cavalier 5cfaa09f1f iprowifi3945: Replace with the OpenBSD driver.
According to the comments on #19588, this seems to be more reliable than
the driver variants from FreeBSD or elsewhere.

Change-Id: Icdc24683de3f588f51c4c08529aa6cab3a09c7fd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9311
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-23 19:50:07 +00:00
Augustin CavalierandPascal Abresch 91bed92e07 Interface: Rework and use B_CONTROL_BACKGROUND_COLOR for controls.
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]>
2025-06-23 19:46:26 +00:00
Autocomitter 2a349a0a41 Update translations from Pootle 2025-06-21 08:08:21 +00:00
Jérôme Duval 3ef89f758f network/stack: socket() can error with EPROTOTYPE/EPROTONOSUPPORT
as POSIX requires.

Change-Id: Iee15bd3db6283a52ac5bc68be99752f36e12f1ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9384
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-06-20 22:26:35 +00:00
Jérôme Duval 0b97e6ab9a tcp: don't notify EPIPE/ENOTCONN when no connect or listen happened
Change-Id: I18bf8ceee7963729c5037e39fc1c23f243eba0bb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9380
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-06-20 11:55:44 +00:00
Jim906 45037be110 nfs4: zero out possible garbage values
* 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]>
2025-06-20 09:06:43 +00:00
Jérôme Duval 0847894277 tests/storage: reorder tests
Change-Id: Ic57c14c8124778b01357ef1afe6c7de7ad7aca8c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9383
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-06-19 15:51:33 +00:00
Augustin Cavalier 01240fc9dc DebugAnalyzer: Fix build after changes to BObjectList API. 2025-06-18 16:43:24 -04:00
Augustin Cavalier 1d810c307f tests/kernel: Add floating-point exceptions test.
Tests #18624 and related issues.
2025-06-18 16:22:21 -04:00
Jérôme Duval 914d5aea44 kernel/events: event_queue shouldn't be kept after fork()
_user_event_queue_wait(): when no timeout is passed, it means infinite timeout

Change-Id: Ic064551251413da8f4788f91d92c13c40201548a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9379
Reviewed-by: waddlesplash <[email protected]>
2025-06-18 17:06:19 +00:00
Augustin Cavalier 265302aefe BStatusBar: Fix handling of B_COLORS_UPDATED.
It didn't check if the message actually contained the status bar
color, and if it didn't, we'd wind up with a black color instead.
2025-06-17 20:51:30 -04:00
Augustin Cavalier 8de71284ed HaikuControlLook: De-convolute edge color computation.
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]>
2025-06-17 23:00:59 +00:00
Jérôme Duval 0b9af29d07 kernel/socket: shutdown() now checks argument how
Change-Id: I1d3c7b1e07588f712da094c1872cb63635e4eeee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9378
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-17 22:33:08 +00:00
Oscar Lesta e19042c642 pkgman: add an option to not refresh the repo caches on install.
Fixes #13161

Change-Id: I69b307cf8497d411d83f7065b9356159740f7d2b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9337
Reviewed-by: Adrien Destugues <[email protected]>
2025-06-16 19:44:36 +00:00
Michael Brumbelow a2027cd5dd Cleaned up unused variables in glibc fileops code.
Change-Id: Ia97c900bac58e5da542f1ca4c8501a2ffb2e7008
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5674
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-06-16 19:23:25 +00:00
Humdinger 7d07c4bc73 Added Norwegian translation credits to AboutSystem
* Uncomment the Norwegian credits
* Added Johan Wagenheim to translation credits

Change-Id: I0016161fd8608da6bec9ed400b845deba64ed512
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9342
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2025-06-14 14:03:07 +00:00
Autocomitter 66af8458a3 Update translations from Pootle 2025-06-14 08:14:14 +00:00
Augustin Cavalier e6fc1b2484 openbsd_network: Add a method needed by the OpenBSD variant of the "wpi" driver.
Change-Id: I4385e8e527b6310b1002f0dc60b7a21e0c58e2f1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9310
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-11 11:03:20 +00:00
Pascal Abresch f5049f8367 configure: use command -v instead of which
command -v is specified by posix, which is not

Change-Id: I2716ab2a0577882da952d94bf2a499b06b14f22a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9327
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-06-11 10:56:20 +00:00
Máximo Castañeda 86caaf1c50 UserBootscript: avoid opening nonexistent files
Fixes: #19612
Change-Id: I6fe210e087adbd094cbfb5625d54fbe958f72473
2025-06-11 12:48:09 +02:00
PulkoMandy 26bedc8f4e sparc: move kernel to a lower address
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]>
2025-06-11 06:40:13 +00:00
Jérôme Duval 5ac839cb94 kernel/fs: vnode_path_to_vnode(): check directory on trailing slash
fix #14352

Change-Id: I2fb7f0f455f46f0b5b2fe0eb487896f41b33a44b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9335
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-10 16:00:13 +00:00
Jérôme Duval 23f923bcaf libbsd: add closefrom() and close_range()
Change-Id: I9c88948d6c4d5a32e3aa06cd696e2ce24c2d298f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9334
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-09 16:26:13 +00:00
Jérôme Duval 396ebbc16f POSIX-2024: support for MSG_CMSG_CLOEXEC and MSG_CMSG_CLOFORK
Change-Id: I55551860fb7dac5d0c11a6d4201502fff9ab2d13
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9332
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-09 16:26:13 +00:00
Jérôme Duval 904fd2abf0 POSIX-2024: support for O_CLOFORK, SO_CLOFORK
Change-Id: I4f3a961947eefdeafd5a249499899cc92d67c2d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9330
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-06-09 16:26:13 +00:00
Humdinger ba28b6f5f7 Mail: Avoid duplicate Person items
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]>
2025-06-09 16:25:12 +00:00
Humdinger 1ebc7b923c Mail: Avoid showing contacts' empty addresses
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]>
2025-06-07 13:19:05 +00:00
Autocomitter 6d052afc3f Update translations from Pootle 2025-06-07 08:13:17 +00:00
Jérôme Duval 7b2b77d482 kernel/x86: fix syscall parameters calling user_debug_post_syscall()
regression introduced in hrev58093

Change-Id: Ic1a508485c64964b0e2aab85db0989e3a707c958
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9325
Reviewed-by: waddlesplash <[email protected]>
2025-06-03 19:37:39 +00:00
John Scipione bcea01a853 Tracker: Fix Select shortcut again Fixes #19596
Change-Id: I0652ee11bb66e9b0ce9eaef8f9d7dc4f6975641e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9320
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-06-01 03:09:31 +00:00
Humdinger e5a6a906f8 Tracker: Fix "Select" shortcut
* Quick sentense-casing fix to AboutWindow.

* Probably some copy&paste mishap.
  Fixes #19596

Change-Id: Ic7193cceaa9ad3da771c2d8e950a52234f0e7b64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9317
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-05-31 20:58:02 +00:00
Humdinger 66032c9f31 install-wifi-firmwares.sh: Fix download URL
Change-Id: I5a8eba3f3b0d4d0071e011959d5d1aedc9db24e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9318
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-05-31 20:57:45 +00:00
Autocomitter eb5f74847e Update translations from Pootle 2025-05-31 08:18:58 +00:00
Augustin Cavalier 183a60a7bc ICULocaleBackend: Validate that the created locale really exists.
Locale::createCanonical will happily accept all kinds of strings
that don't actually indicate valid locales, but down the line
ICU will behave strangely or even crash with these in certain methods.

So, use getISO3Language(), which will return nothing if the language
is unknown to ICU, to validate that the locale exists, or bail if
it doesn't.

Fixes #19576.
2025-05-29 17:10:47 -04:00
Humdinger 6ef33c54e0 TextSearch: Add "Clear history" menu item
Sometimes it's good to go back to a clean slate…

Change-Id: I6252b42c948b1fa9cbe786104a191fb0d4e629c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9306
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-05-29 18:22:56 +00:00
Humdinger 2d11570065 Mail: Fix "Close and set to…" for multiple mails
Before, when you got multiple emails open, doing e.g. a "Close and
leave as New" (SHIFT + ALT + W) would correctly leave the active email
with status "New", but the other open Mail windows were closed as well
and got the status "Read"!

Now we only close the current Mail window, not the whole app and with
it all open email windows.

The currently somewhat hidden command "SHIFT + ALT + Q" now issues
a message to all open Mail windows to close and keep their mails' status,
i.e. the same as invoking SHIFT + ALT + W in all open email windows.

Change-Id: I0402a1e39ce58b53eca2c3bfe8f8becd5529c566
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9305
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-05-29 16:40:53 +00:00
Humdinger 67aa257da8 TextSearch: Add keyboard navigation to history
Move back and forth in the search history with CursorUp/Down.

Entering a search text will reset the current history index
(fCurrentHistoryIndex = -1), and you'll be back to the first
history item next time you CursorUp.

Change-Id: Id45a47756b4732ae6e22e5373c4db5249c8df198
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9303
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-05-29 16:40:14 +00:00
Humdinger 3b75482ee0 Tracker: Fix missing translation
Fixes #19593

Change-Id: I98123abb512ded028c2381511a17f3fcdfde9ef3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9313
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-05-29 15:37:22 +00:00
Augustin Cavalier 90f095da8d ramfs: Handle renames replacing existing files properly.
Previously, Entry::Link() behaved incorrectly in this case:
it would unlink the old Node before linking the new one.
But there's only one DoublyLinkedListLink inside Entry
for the Node to use, so this would clobber the lists
and thus produce KDLs.

Instead, make Link fail if there's already a node, and
thus force the caller to Unlink first. For now, just use
a "naive" implementation of this in the one case in
rename(); in the future we could make it more robust if
necessary.

Fixes the other KDL in #19583.
2025-05-28 16:13:57 -04:00
Augustin Cavalier 41b15d5fe4 ramfs: Check for errors when increasing file sizes.
Fixes the first KDL in #19583.
2025-05-28 16:10:01 -04:00
Jérôme Duval 4bb864d0a6 ext2: enable the checksum_seed feature
Change-Id: I5a34ae9247220f3c40441623bef2b3806b56d934
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9312
Reviewed-by: Jérôme Duval <[email protected]>
2025-05-28 15:19:17 +00:00