summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-03-30WindowServer+LibGUI: Plumb mouse/enter/leave events to applet windowsAndreas Kling
Since applet windows live in the applet area window, the AppletManager has to keep track of which applet is hovered and send the appropriate enter/leave events to the applet windows. This makes applet tooltips work again. :^)
2021-03-30WindowServer+Taskbar: Show applets in taskbar :^)Andreas Kling
WindowServer now collects applet windows into an "applet area" which is really just a window that a WM (window management) client can position via IPC. This is rather hackish, and I think we should come up with a better architecture eventually, but this brings back the missing applets since the global menu where they used to live is gone.
2021-03-30LibWeb: Create a new BFC when the overflow is neither visible nor clipTimothy Flynn
From MDN, a block overflow context should be created for "Block elements where overflow has a value other than visible and clip."
2021-03-30LibWeb: Compute position of relative blocks before placing themTimothy Flynn
Turns out compute_position should be invoked before placing the element in normal flow. Otherwise, the position isn't set on the first layout. The effect was that the block would "jump" into place on a secondary layout. This is a follow-up to commit: deda7c899525eeb989ab79d5d9e24d685569c84d
2021-03-30LibWeb+WebContent: Support displaying tooltips in OOPWVTimothy Flynn
2021-03-30LibWeb: Get the first DOM node with a 'title' attribute for tooltip areaTimothy Flynn
Rather than expecting the first parent to have a 'title' attribute, search all ancestors.
2021-03-30WindowServer: Install WindowServer headersAndreas Kling
This is a bit clunky since we really only need WindowType.h and don't really want to consider any other headers "public" but this is just to make the SDL port build again now that LibGUI includes WindowType.h from WindowServer. Long term we should probably figure out a way to only install "API" headers from libraries.
2021-03-30LibJS: Fix two issues with array (length > INT32_MAX)Andreas Kling
1. Allow Value(size_t) and use it for array length properties. If an array length can't fit in an Int32 value, we shouldn't go out of or way to force it into one. Instead, for values above INT32_MAX, we simply store them as Double values. 2. Switch to generic indexed property storage for large arrays. Previously we would always allocate array storage eagerly when the length property was set. This meant that "a.length = 0x80000000" would trivially DOS the engine on 32-bit since we don't have that much VM. We now switch to generic storage when changing the length moves us over the 4M entry mark. Fixes #5986.
2021-03-30EditingEngine: Don't jump to the beginning or end of a non-existant wordone-some
Previously, when jumping to the next word on the last column of a line, or when jumping to the previous word on the first column, it would crash. This checks if that is the case, and if so, will do nothing.
2021-03-30FontEditor+TextEditor+Playground: Refuse to load device filesIdan Horowitz
This prevents the undefined behaviour that would come up as a result of doing so. (For example: opening "infinite" devices like /dev/full will result in an infinite loop until exhaustion of memory)
2021-03-30LibCore: Add Core::File is_device() helpersIdan Horowitz
The helpers check if the file is a block device or a character device via stat and fstat.
2021-03-30Taskbar: Update ClockWidget to Calendar view changesthankyouverycool
And give it a nice comfy spot in its new home.
2021-03-30LibGUI+Calendar: Add new month and year views to Calendarthankyouverycool
And overhaul resize and paint events to fix layout edge cases in which Calendar wasn't filling its parent widget completely. Ensures month views always display prior month days for click navigation. Converts Calendar app layout to GML.
2021-03-30MenuApplets: Remove old clock/calendar appletthankyouverycool
Whatever the fate of MenuApplets, no need to maintain two clock-calendars for now.
2021-03-30LibGUI: Don't inflate icon text rects beyond available widththankyouverycool
Fixes wrapped text candidates not first eliding
2021-03-30Browser+LibWeb+WebContent: Add action to clear resource cacheTimothy Flynn
2021-03-29LibGUI+WindowServer: Keep canonical WindowType enum in WindowServerAndreas Kling
Having the same enum in two places was annoying. Let's just "using" the WindowServer::WindowType enum into the GUI namespace.
2021-03-29SystemServer: Call endgrent() after we're finished looking up groupsAndreas Kling
2021-03-29LibC: Implement utimes functionJelle Raaijmakers
2021-03-29LibElf+readelf: Parse ELFs with no program headers correctlyIdan Horowitz
This simply fixes a check which assumed the program header count was always non zero.
2021-03-29LibC: Mark atexit() entries as 'called' before calling themItamar
This guards as from recursing into an atexit callback if exit() is called from within it.
2021-03-29LibWeb: Compute position of relative block elementsTimothy Flynn
Section 10.3 "Calculating widths and margins" indicates that the 'left' and 'right' properties of relatively positioned elements should be set in accordance with the rules of section 9.4.3.
2021-03-29SystemServer: dynamically fetch device group IDsIdan Horowitz
Fixes a couple of FIXMEs that were complaining about the harcoded group IDs.
2021-03-29SystemServer: chown all available TTY devices to the tty groupIdan Horowitz
Since we have 6 TTYs available 2 of the 6 were not being chowned and as such they were not available to the tty group.
2021-03-29LibGUI: Add transient option to show dotfiles in FilePickerTimothy Flynn
This is particularly useful when wanting to open files in ~/.config from the Text Editor. The option is currently not persistent, but could be hooked into File Manager's configuration.
2021-03-29TextEditor: Adjust AutoCompleteBox's position to the scroll heightItamar
2021-03-29Utilites: Add ddg0mb4
This implementation of dd supports reading/writing/skipping/seeking in terms of blocks. You can set the size of the block as well.
2021-03-29Everywhere: Change font properties to be described in GMLEdgar Araújo
2021-03-29LibGUI: Enable the use of font properties through GMLEdgar Araújo
You can now specify the font, font_size, font_weight and font_type (fixed_width/normal) through GML
2021-03-29Everywhere: Remove empty {} from GML objectsEdgar Araújo
2021-03-29Playground: Autocomplete after empty {}Edgar Araújo
Enable the oportunity to show name autocompletion after an empty class, which does not have the redundant empty {}.
2021-03-29Playground: Move AutocompleteProvider to a separate fileEdgar Araújo
2021-03-29LibGUI: Remove the necessity to have empty {} on GML objectsEdgar Araújo
This simplifies GML syntax when the object doesn't have any childs or properties
2021-03-29LibGUI: Fix IconView selection with FlowDirection::TopToBottomTom
While iterating the items contained by the rubberband we need to skip the correct number of items either vertically or horizontally, depending on which direction the items flow. Fixes #5993
2021-03-28LibCoreDump+CrashDaemon: Compress coredumpsIdan Horowitz
Most coredumps contain large amounts of consecutive null bytes and as such are a prime candidate for compression. This commit makes CrashDaemon compress files once the kernel finishes emitting them, as well as adds the functionality needed in LibCoreDump to then parse them.
2021-03-28WindowServer: Add menu item fade-out animation upon activationTom
2021-03-28WindowManager: Allow disabling window hit testing altogetherTom
This allows us to disable hit testing for transparent windows that don't use alpha channels.
2021-03-28LibCore: Add Timer::create_repeating convenience methodTom
2021-03-28LibGfx: Use zlib instead of just deflate when loading PNGsLuke
PNGs use deflate with zlib, however we were just skipping the zlib bytes and then piping it into deflate decompressor. Since we have a zlib decompressor, lets use that instead. This has the added benefit of extra error checking.
2021-03-28LibJS: Fix m_allocations_since_last_gc initialization valueLinus Groh
2021-03-28LibC: Implement asprintf() and vasprintf()Andreas Kling
These simply use StringBuilder::appendvf() internally which is not optimal in terms of heap allocations, but simple enough and I don't think they are performance sensitive functions anyway.
2021-03-28Kernel+LibC: Implement sys$ioctl() FIONBIOAndreas Kling
This is another (older) way of making a file descriptor non-blocking.
2021-03-28WindowServer: Add ability to show/hide window menubarsAndreas Kling
This patch adds a toggle item to the window menu that controls window menubar visibility. This is available in all windows with a menu.
2021-03-28Spreadsheet: Ignore extra empty lines after the rowsAnotherTest
We now ignore the last CRLF in e.g. ```csv aaa,bbb,ccc CRLF zzz,yyy,xxx CRLF ```
2021-03-28Spreadsheet: Make the CSV reader more lenientAnotherTest
This adds an option "Lenient" that makes the reader conform to what appears to be the norm in spreadsheet-land: - Treat missing values as empty ones - Update previously read rows if another row with more columns are seen afterwards
2021-03-28Spreadsheet: Show the error (if any) in csv import dialog's previewAnotherTest
...and don't try to read from a CSV that has errors. Fixes #5942.
2021-03-28LibGUI: Register GUI::StackWidget with GMLAnotherTest
2021-03-28WindowServer: Make Window::event() protectedAndreas Kling
2021-03-28LibGUI: Make GUI::Widget::event() protectedAndreas Kling
2021-03-28LibCore: Make Core::Object::event() protectedAndreas Kling