1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 18:10:56 +09:00
Commit graph

6810 commits

Author SHA1 Message Date
Andreas Kling
f4fa758959 LibGUI: Add a Widget::did_layout() that gets called after layout
This will allow widgets to implement post-layout behaviors.
2020-02-11 11:53:38 +01:00
Andreas Kling
7aa62665a3 LibGUI: Factor out Splitter hit testing into a separate function 2020-02-11 11:53:38 +01:00
Shannon Booth
01cefa83aa WindowServer: Ensure on a menu key press invalid items are not hovered
Whenever a new menu item is hovered through a up or down key press, we
should always end up hovering a valid item.
2020-02-11 11:00:09 +01:00
Shannon Booth
7b6d450b6a LibGfx: Assert that an empty bitmap is not created 2020-02-11 11:00:09 +01:00
Shannon Booth
cef3988e30 WindowServer: Assert that a window is not being set as empty 2020-02-11 11:00:09 +01:00
Shannon Booth
96bfbfca9b WindowServer: Remove unimplemented header function 2020-02-11 11:00:09 +01:00
Shannon Booth
97508844dc WindowServer: Use early return to reduce nesting 2020-02-11 11:00:09 +01:00
Andreas Kling
14f9a29502 Terminal: Set up a nice $PROMPT for the shell :^) 2020-02-10 21:53:04 +01:00
Andreas Kling
8262c1e662 Shell: Build prompt based on the PROMPT environment variable if present 2020-02-10 21:52:58 +01:00
Andreas Kling
1828d9eadd Kernel: Remove some commented-out code in Scheduler::yield() 2020-02-10 20:16:50 +01:00
Andreas Kling
7cf33a8ccb Kernel: Remove outdated FIXME from Scheduler 2020-02-10 20:15:53 +01:00
Andreas Kling
27f0102bbe Kernel: Add getter and setter for the X86 CR3 register
This gets rid of a bunch of inline assembly.
2020-02-10 20:00:32 +01:00
Andreas Kling
7323d085dd LibGUI: Single-line GUI::TextEditor should not have "go to line" action 2020-02-10 19:49:49 +01:00
Andreas Kling
580a94bc44 Kernel+LibC: Merge sys$stat() and sys$lstat()
There is now only one sys$stat() instead of two separate syscalls.
2020-02-10 19:49:49 +01:00
ignas-sa
b67035c3ac
Calculator: Accept more keyboard input (#1207)
Allow user to clear/remove last numeral from input (Esc/Backspace
respectively) and type the decimal point.
2020-02-10 19:48:52 +01:00
asliturk
077ef556a7 WindowServer: Move applet code from MenuManager to AppletManager.
Move applet logic to the own class. Remove applet code from MenuManager.
With new AppletManager applet order is configurable via WindowManager.ini file.
2020-02-10 18:33:28 +01:00
=
e5e162fe5a Audio.MenuApplet: Add window title. 2020-02-10 18:33:28 +01:00
=
aadcc9c34e CPUGraph.MenuApplet: Add window title. 2020-02-10 18:33:28 +01:00
=
afb37b66cc Clock.MenuApplet: Add window title. 2020-02-10 18:33:28 +01:00
=
fcee5075e9 UserName.MenuApplet: Add window title. 2020-02-10 18:33:28 +01:00
Andreas Kling
3713d31750 LibCore: TCP and UDP servers should parent Notifiers to themselves
This makes things look a little more neat in Inspector. :^)
2020-02-10 14:15:56 +01:00
William McPherson
aa149b9330 LibAudio/Piano: Replace floats with doubles
We should default to double-precision so that clients can make the
choice to use float or double.
2020-02-10 14:04:27 +01:00
William McPherson
d55d2b2794 LibAudio/aplay: Handle WAV header errors properly
We shouldn't just ASSERT() if the header parse fails. This was crashing
Piano completely.
2020-02-10 14:04:27 +01:00
William McPherson
4ad96df0d4 Piano: Draw stereo waves
Draw two waves in different colors.
2020-02-10 14:04:27 +01:00
William McPherson
93903c8064 Piano: Try to be more stereo-oriented 2020-02-10 14:04:27 +01:00
William McPherson
255edcb525 Piano: Add nice scale factor to WaveWidget 2020-02-10 14:04:27 +01:00
William McPherson
2a66878148 Piano: Ensure WaveWidget paints in-bounds
Letting GUI::Frame::paint_event() cover up your mistakes is tacky :P
2020-02-10 14:04:27 +01:00
William McPherson
60fdc6c9ab Piano: Put reset() with other setters 2020-02-10 14:04:27 +01:00
William McPherson
9997b0dbf5 Piano: Add sampler
This commit adds basic support for importing, viewing and playing WAV
samples at different pitches.

Naming issues:
- We are using the Sample struct from Music.h, but also the Sample
  struct from LibAudio (Audio::Sample). This is a little confusing.

set_recorded_sample() finds the peak sample and then divides all the
samples by that peak to get a guaranteed min/max of -1/1. This is nice
because our other waves are also bound between these values and we can
just do the same stuff. This is why we're using Audio::Sample, because
it uses floats, whereas Music.h's Sample uses i16s. It's a little
annoying that we have to use a mixture of floats and doubles though.

For playback at lower frequencies, we're calculating in-between samples,
rather than just playing samples multiple times. Basically, you get the
current sample and add the difference between the current sample and the
next sample multiplied by the distance from the current sample. This is
like drawing the hypotenuse of a right-angled triangle.
2020-02-10 14:04:27 +01:00
Jesse Buhagiar
591870c7b4 Ports: Disable JACK for SDL2 in configopts
This is causing build errors for myself and a few other people.
This config option disables the SDL2 port from trying to compile
with the JACK audio server (which we don't need).
2020-02-10 13:10:51 +01:00
Andreas Kling
ccfee3e573 Kernel: Remove more <LibBareMetal/Output/kstdio.h> includes 2020-02-10 12:07:48 +01:00
Andreas Kling
6cbd72f54f AK: Remove bitrotted Traits::dump() mechanism
This was only used by HashTable::dump() which I used when doing the
first HashTable implementation. Removing this allows us to also remove
most includes of <AK/kstdio.h>.
2020-02-10 11:55:34 +01:00
William McPherson
c8eaae3eaf Userland: Fix segfault in chown
chown takes 2 arguments, not 1.
2020-02-10 11:11:29 +01:00
Shannon Booth
084e67f267 Meta: Integrate Shellcheck into Travis
lint-shell-scripts searches over the repository looking for shell
scripts. On those found, shellcheck is run against them. If any linting
fails print those warnings and exit with a non-zero exit code.

Run this script automatically in Travis.
2020-02-10 10:46:25 +01:00
Shannon Booth
fe668db999 Meta: Fix shellcheck warnings in various scripts
Warnings fixed:
 * SC2086: Double quote to prevent globbing and word splitting.
 * SC2006: Use $(...) notation instead of legacy backticked `...`
 * SC2039: In POSIX sh, echo flags are undefined
 * SC2209: Use var=$(command) to assign output (or quote to assign string)
 * SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails
 * SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
 * SC2034: i appears unused. Verify use (or export if used externally)
 * SC2046: Quote this to prevent word splitting.
 * SC2236: Use -z instead of ! -n.

There are still a lot of warnings in Kernel/run about:
 - SC2086: Double quote to prevent globbing and word splitting.

However, splitting on space is intentional in this case, and not trivial to
change. Therefore ignore the warning for now - but we should fix this in
the future.
2020-02-10 10:46:25 +01:00
joshua stein
e9be8669d2 Build: clean .d files based on SUFFIXED_OBJS and EXTRA_OBJS
Fixes #1198
2020-02-10 10:18:30 +01:00
Liav A
99ea80695e Kernel: Use VirtualAddress & PhysicalAddress classes from LibBareMetal 2020-02-09 19:38:17 +01:00
Liav A
7c4dd0c8cf LibELF: Use VirtualAddress class from LibBareMetal 2020-02-09 19:38:17 +01:00
Liav A
de3637d85f LibBareMetal: Add Memory definitions
Add classes of VirtualAddress & PhysicalAddress.
2020-02-09 19:38:17 +01:00
Liav A
2a699cec98 LibC: Apply a change for the Bootstrapper environment 2020-02-09 19:38:17 +01:00
Liav A
1266c9ab88 Build Environment: Add a definition for the Bootstrapper environment 2020-02-09 19:38:17 +01:00
Liav A
8bdb08c354 AK: Apply changes for the Bootstrapper environment 2020-02-09 19:38:17 +01:00
Liav A
88cf46dc98 Userland: Use IO helpers from LibBareMetal 2020-02-09 19:38:17 +01:00
Liav A
e559af2008 Kernel: Apply changes to use LibBareMetal definitions 2020-02-09 19:38:17 +01:00
Liav A
7c507c27bf LibBareMetal: Creating a new library for freestanding environments 2020-02-09 19:38:17 +01:00
Andreas Kling
c45a5ff840 WebServer: Add missing space to HTTP error responses
Fixes #1200.
2020-02-09 17:05:29 +01:00
Andreas Kling
db2ede9427 Net: Short-circuit routing to the IPv4 address of a local adapter
This makes it possible to open http://localhost:8000/ in Browser. :^)
2020-02-09 14:15:55 +01:00
Andreas Kling
80703ef7d9 WebServer: Send the HTTP response headers in a single packet
This makes it easier to observe the protocol in packet logs.
2020-02-09 14:15:55 +01:00
Andreas Kling
efb694ecad WebServer: Tighten things up with pledge() and unveil() 2020-02-09 14:15:55 +01:00
Andreas Kling
6c752c15a2 WebServer: Implement a very basic HTTP server :^)
This server listens on port 8000 and serves HTML files from /www.
It's very simple and quite naive, but I think we can start here and
build our way to something pretty neat.

Work towards #792.
2020-02-09 14:15:55 +01:00