Commit graph

19964 commits

Author SHA1 Message Date
Andreas Kling 5497b7a718 WindowServer: Tweak spacing above maximized windows
Nudge maximized windows 1px upwards. This prevents the outer window
border from showing up above the title bar.
2021-05-09 21:48:38 +02:00
Andreas Kling 5aa9f128fc WindowServer: Simplify the way we update items in the window menu
Instead of trying to update only the little bit that changes, let's
have a function that updates all the window menu items in one go.

It's just a couple of string and boolean assignment, and the real
cost is performing the subsequent menu redraw, which remains the same.
2021-05-09 21:48:38 +02:00
Gunnar Beutner 62b76a7c95 Ports: Remove obsolete patches for openttd 2021-05-09 21:16:11 +02:00
Gunnar Beutner 76160ba3be Ports: Remove IPv6 patches for cmake 2021-05-09 21:16:11 +02:00
Gunnar Beutner 2a10257f33 Ports: Remove obsolete patches for stress-ng 2021-05-09 21:16:11 +02:00
Gunnar Beutner e4339be13b LibC: Add definitions/stubs for IPv6 functionality
This lets us build some of the ports without patching out any of their
IPv6 stuff.
2021-05-09 21:16:11 +02:00
Itamar 1bd6705636 LibCpp: Support Lexing escaped newlines 2021-05-09 20:58:27 +02:00
Itamar 5c19a48b95 CppLanguageServer: Cache declarations from headers in every document
Previously, to get the globally available declarations in a document
(including declarations from headers), we would have to recursively
walk the #include tree and get the declarations of each included
document.

To improve upon this, we now store a HashTable of globally available
declaration from included header files in each document, and populate
it when we first process the document.

Before this, invoking simple autocomplete actions in code documents
that had a very large #include tree (e.g when <LibGUI/Widget.h> was
included) hang the CppLanguageServer process and used 100% CPU until
the process ran out of memory.

Now, the autocomplete request in that situation returns immediately :^)
2021-05-09 20:58:27 +02:00
Itamar c85775d9f5 CppLanguageServer: Call Parser::parse() inside create_document_data() 2021-05-09 20:58:27 +02:00
Itamar 5c42dc854d LibCpp: Rename m_definitions=>m_preprocessor_definitions 2021-05-09 20:58:27 +02:00
Itamar de9be7cd70 LanguageServers: Fix incorrect use of adopt_ref in FileDB::get()
This fixes a bug introduced in c13d763 that caused the LanguageServer
process to crash whenever a file was edited in HackStudio.
2021-05-09 20:58:27 +02:00
Adam Hodgen dc9995a5ba LibWeb: Add tests for HTMLTableElement attributes
These tests aim to exercise all attributes on <html> elements, including
all edge cases.
2021-05-09 18:38:34 +02:00
Adam Hodgen 737f6e97b2 LibWeb: Fix nodeName attribute in tests
Commit 19731fc14c (#6864) made all nodeName attributes on HTML elements
uppercased. This change fixes that in all HTML & DOM tests.
2021-05-09 18:38:34 +02:00
Adam Hodgen 37685b0181 LibWeb: Implement HTMLTableElement tbody attributes
* tBodies - returns a HTMLCollection of all tbody elements
* createTBody - If necessary, creates a new tbody element
  and add it to the table after the last tbody element
2021-05-09 18:38:34 +02:00
Adam Hodgen d2e3e98b6b LibWeb: Implement HTMLTableElement tfoot attributes
* tFoot - Getter for the tfoot element
  The setter is not currently implemented
* createTFoot - If necessary, creates a new tfoot element
  and add it to the table after any tbody elements
* deleteTFoot - If a tfoot element exists in the table, delete it
2021-05-09 18:38:34 +02:00
Adam Hodgen b3f7ea9914 LibWeb: Implement HTMLTableElement thead attributes
* tHead - Getter for the thead element
  The setter is not currently implemented
* createTHead - If necessary, creates a new thead element
  and add it to the table after any caption or colgroup elements,
  but before anything else
* deleteTHead - If a thead element exists in the table, delete it
2021-05-09 18:38:34 +02:00
Adam Hodgen 0fa0367a39 LibWeb: Implement HTMLTableElement caption attributes
* caption - Getter and setter for the caption element
* createCaption - If necessary, creates a new caption element
  and add it to the table
* deleteCaption - If a caption element exists in the table, delete it
2021-05-09 18:38:34 +02:00
Adam Hodgen 887fa18e32 LibWeb: Implement HTMLTableElement row attributes
rows returns a HTMLCollection of all the tr elements contained within
the table.
We leave the SameObject attribute off the attribute in the IDL as we
cannot currently return the same HTMLCollection every time (see the
FIXME on DOM::Document::applets)

The WrapperGenerator currently does not correctly handle the default
value for the type long on insertRow. Currently not specifying the
index will insert a row at index 0.
2021-05-09 18:38:34 +02:00
Gunnar Beutner 2d600a8675 Ports: Add port for libopenal 2021-05-09 17:26:50 +01:00
Gunnar Beutner 8603041ed8 Ports: Add missing .so extension for ffmpeg library SONAMEs 2021-05-09 17:26:50 +01:00
Linus Groh 80a742b1b3 Ports: Remove obsolete patch for dropbear 2021-05-09 17:25:41 +01:00
Gunnar Beutner 52861226c3 Ports: Remove obsolete patches for stress-ng 2021-05-09 17:21:38 +01:00
Gunnar Beutner 93431b861a LibC: Add definition for the rlim_t type
The missing type caused the binutils and dash ports to fail to build.
2021-05-09 17:21:38 +01:00
Linus Groh 25cf59f2f6 Ports: Add note about Python webbrowser patch upstreaming 2021-05-09 17:15:15 +01:00
Linus Groh 2cbe510e89 Ports: Remove obsolete rlimit patch for Python
Stubs for getrlimit()/setrlimit() have been added in 1c3c072.
2021-05-09 17:11:02 +01:00
Mathieu Gaillard cf93512abe Demos: Implement basic Lambertian lighting for the GLTeapot
The teapot now looks more realistic
2021-05-09 16:14:15 +01:00
Mathieu Gaillard 7426c2fe45 Demos: Add indexed meshes in GLTeapot Demos
Improved the basic Wavefront OBJ loader to index vertices.
Uses less memory for the same mesh.
2021-05-09 16:14:15 +01:00
Egor Ananyin 782dc348fd LibGfx: Fix clipping in fill_ellipse
fill_ellipse used to clip the bounding box, so instead of drawing a
part of an ellipse it drew a smaller ellipse. This commit fixes this
behaviour.
2021-05-09 16:14:01 +01:00
Linus Groh 5eb062d8d3 Documentation: Update sync-local.sh keyboard layout example 2021-05-09 15:31:52 +01:00
Stephan Unverwerth e4db18e644 Demos: GLTeapot: Enable depth testing in demo 2021-05-09 15:58:35 +02:00
Stephan Unverwerth e8f66f821c LibGL: Add depth tests and writes to SoftwareRasterizer
Tests against and writes to the depth buffer when GL_DEPTH_TEST is
enabled via glEnable(). Currently fragment z is always compared against
existing depth with GL_LESS.
2021-05-09 15:58:35 +02:00
Stephan Unverwerth 608f81e6c2 LibGL: Add depth buffer class 2021-05-09 15:58:35 +02:00
Stephan Unverwerth a8fc4be47a LibGL: Add supporting code for depth buffer
This adds glClearDepth() and new caps for enabling and disabling
the depth buffer with glEnable() and glDisable()
2021-05-09 15:58:35 +02:00
Ömer Kurttekin d922c2f5f3
Userland: Preserve keyboard mapping preference on reboot (#6955) 2021-05-09 15:56:03 +02:00
Erlend 4c43fc0515
AnalogClock: New analog clock application (#6760) 2021-05-09 15:51:36 +02:00
Andreas Kling c53e937014 WindowServer: Constrain popup menu Y position within screen rect
This fixes an issue where large popup menus would open upwards despite
there not being enough space for that.
2021-05-09 15:47:21 +02:00
Andreas Kling 4c6e3d0c59 WindowServer: Fix a handful of clang-tidy warnings in the menu code
Some avoidable signed/unsigned mismatch, String move construction,
and functions that can be static constexpr.
2021-05-09 15:47:21 +02:00
faxe1008 cbb06d7014
tac: Support concatenating multiple files (#6970) 2021-05-09 15:47:16 +02:00
Eric Butler 5d14636b95 WindowServer: Open window menu on Alt+Space
Adds a keyboard shortcut Alt+Space that opens the window menu.
2021-05-09 15:38:32 +02:00
Eric Butler 967cd6afd2 WindowServer: Select last menu item when up key pressed if no selection
When a menu is first opened and has no selected item, pressing the "up"
key now selects the last menu item instead of the first.
2021-05-09 15:38:32 +02:00
Gunnar Beutner dae2a59c77 LibC: Add declarations for various C11 math functions 2021-05-09 15:35:01 +02:00
Gunnar Beutner b223233b15 Toolchain+Ports: Skip link tests for libstdc++v3
This makes stdlib.h and stdio.h functions available in the std
namespace for C++.

libstdc++v3's link tests can fail if you don't have an up-to-date
build directory, for example:

1. Have libc with missing _Exit symbol because you haven't done
   a build since that was added.

2. Run toolchain rebuild. libstdc++v3's configure script will
   realize that it can do link tests in general but will fail
   later on when it tries to link a program that tests for _Exit.

Even though this is a toolchain patch this does not necessarily
require rebuilding the toolchain right away. This is only required
once we start using any of these new members in the std namespace,
e.g. for ports.
2021-05-09 15:35:01 +02:00
Gunnar Beutner 9ffc2fe840 LibC: Implement the _Exit function
libstdc++v3 checks whether this function is available and makes
certain functions available in the std namespace if so.
2021-05-09 15:35:01 +02:00
Gunnar Beutner 4c6a91d0c0 LibC: Implement vscanf
libstdc++v3 checks whether vscanf is available and only then makes C99
stdio functions available in the std namespace.
2021-05-09 15:35:01 +02:00
Gunnar Beutner e6747fefa7 Toolchain+LibM: Make C++ standard library math functions available
With this fixed we get libstdc++v3's aliases for C99 math functions
in the std namespace. Unfortunately for this to work the toolchain
needs to be rebuilt.

The good news are that this by itself does not require a toolchain
rebuild just yet.
2021-05-09 15:35:01 +02:00
Eric Butler bf31b0da7d Documentation: Suggest using genext2fs on macos
This is a nice alternative to dealing with fuse, and a step forward
towards not requiring root.
2021-05-09 15:34:12 +02:00
Eric Butler 1a48609c6b Meta: Always try genext2fs as fallback to build disk image
If mounting disk image fails (e.g. fuse is not available on macos),
always try using genext2fs before giving up.
2021-05-09 15:34:12 +02:00
Gunnar Beutner e0fe38ea25 CatDog: Help the user debug their programs
This adds helpful speech bubbles to CatDog. CatDog just wants to
help, that's all.
2021-05-09 15:21:23 +02:00
Gunnar Beutner da5923bc54 CatDog: Rename root_widget to catdog_widget 2021-05-09 15:21:23 +02:00
Gunnar Beutner e229914a74 CatDog: Move the main widget into its own file 2021-05-09 15:21:23 +02:00