Andreas Kling
3a62029dee
Base: Add special icons for the home directory
...
It's filetype-folder but with little houses on them. :^)
2020-07-19 21:36:54 +02:00
Andreas Kling
9710c9742c
LibGUI+FileManager: Add setting for showing/hiding dotfiles
...
GUI::FileSystemModel can now be told to display (or not display) files
whose name start with a dot (other than . and ..)
2020-07-19 21:15:00 +02:00
Andreas Kling
ad57a2f18b
FileManager: Use new TextBox::DisplayOnly mode in the properties dialog
...
Use this instead of disabling the name TextBox. This looks a little bit
nicer than the grayed-out appearance. :^)
2020-07-19 21:15:00 +02:00
Peter Elliott
b44a7f68cd
Userland: add mkfifo(1)
2020-07-19 11:46:37 +02:00
Peter Elliott
82ba7d546a
LibC: add mkfifo(3)
2020-07-19 11:46:37 +02:00
Peter Elliott
b9619989dd
Userland: mknod: Don't use major/minor when creating a pipe
2020-07-19 11:46:37 +02:00
Peter Elliott
d01eba6fa3
Kernel: Implement FIFOs/named pipes
2020-07-19 11:46:37 +02:00
Brian Gianforcaro
76e34968fa
Demos: Setup window icon for Mouse demo
...
The icon was set in the launcher, and the About dialog, but was
missing form the actual window.
2020-07-19 11:18:27 +02:00
Andreas Kling
a49c794725
UserspaceEmulator: Add the get_dir_entries() syscall + an ioctl() stub
2020-07-18 17:57:40 +02:00
Andreas Kling
e4b068aec5
UserspaceEmulator: Fix buggy IDIV instructions
...
These were not doing mashing together the signed double-size results
correctly and lost bits in the signed/unsigned casting process.
2020-07-18 17:57:40 +02:00
Andreas Kling
9e6d002660
UserspaceEmulator: Fix buggy IMUL instructions
...
These were not recording the higher part of the result correctly.
Since the flags are much less complicated than the inline assembly
here, just implement IMUL in C++ instead.
2020-07-18 17:57:40 +02:00
Andreas Kling
70cb4491d7
AK: Use "signed char" as the opposite of "unsigned char"
...
I totally forgot about the C++ basics here. There are three distinct
types: "char", "signed char" and "unsigned char". Whether "char" is
signed or unsigned is implementation specific.
2020-07-18 17:57:40 +02:00
Andreas Kling
02882d5345
UserspaceEmulator: Add single-operand MUL and DIV instructions
...
These are the unsigned variants. Signed variants sold separately.
2020-07-18 17:57:40 +02:00
Andreas Kling
30d512144e
UserspaceEmulator: Implement the BSF and BSF instructions
...
BSF maps nicely to __builtin_ctz(), but for BSR we have to bust out
some inline assembly to get exactly what we want.
2020-07-18 17:57:40 +02:00
thankyouverycool
a4b2d6cf1e
LibGUI: Set parent icon, margins and disable resize for InputBox
...
Gives a more compact, uniform appearance to input boxes.
2020-07-18 16:27:57 +02:00
thankyouverycool
d976b31ef6
LibGUI: Paint slider knob as indented when disabled
...
Better visual feedback when sliders won't budge.
2020-07-18 16:27:57 +02:00
thankyouverycool
19e883e45a
WidgetGallery: Add more widgets
...
Adds combo and input boxes + more variation for existing widgets.
2020-07-18 16:27:57 +02:00
Nico Weber
b5565b478f
System Monitor: Sort Address column in memory map numerically
2020-07-18 15:52:08 +02:00
Nico Weber
a98d960ad4
Taskbar: Use Name from .af file as tooltip
...
With this, System Monitor has "System Monitor" instead of
"SystemMonitor" as tooltip, matching the app's title bar
and menu bar title.
Same for File Manager and Text Editor.
2020-07-18 15:51:46 +02:00
Nico Weber
629410b3d6
TextEditor: Auto-select C++ syntax highlighting for more extensions
2020-07-18 15:19:58 +02:00
Andreas Kling
82c38f6fdf
WindowServer: Decide on a window title before measuring its width
...
If we add "(Not responding)" to the title of an unresponsive window,
the title rect needs to be wider or we'll have text-on-stripes.
Thanks to @SharpOB for reporting this bug!
2020-07-18 01:50:24 +02:00
Andreas Kling
becbf36711
UserspaceEmulator: Fix XCHG_AX_reg16 overwriting entire EAX
...
This instruction should only write to the lower 16 bits (AX)
2020-07-18 00:25:02 +02:00
Andreas Kling
8959f9950a
UserspaceEmulator: Simplify the STOSB/STOSW/STOSD instructions
2020-07-18 00:25:02 +02:00
Andreas Kling
79290696cf
UserspaceEmulator: Simplify MOVSB/MOVSW/MOVSD instructions
...
Use the new loop instruction helpers.
2020-07-18 00:25:02 +02:00
Andreas Kling
f70f530722
UserspaceEmulator: Implement the SCASB/SCASW/SCASD instructions
2020-07-18 00:25:02 +02:00
Andreas Kling
41bbedc41d
UserspaceEmulator: Implement the LODSB/LODSW/LODSD instructions
...
Look how nice they look with the new loop instruction helpers. :^)
2020-07-18 00:25:02 +02:00
Andreas Kling
c3441719ea
UserspaceEmulator: Implement the JCXZ instruction
2020-07-18 00:25:02 +02:00
Andreas Kling
d321dc0a74
UserspaceEmulator: Fix too-wide accumulator used in 8/16 bit CMPXCHG
2020-07-18 00:25:02 +02:00
Andreas Kling
8ec8ec8b1c
Kernel: Remove special-casing of sys$gettid() in syscall entry
...
We had a fast-path for the gettid syscall that was useful before
we started caching the thread ID in LibC. Just get rid of it. :^)
2020-07-18 00:25:02 +02:00
Andreas Kling
485d1faf09
UserspaceEmulator: Add helpers for making loop instructions generic
...
Use them to implement CMPSB/CMPSW/CMPSD.
2020-07-18 00:25:02 +02:00
Andreas Kling
28b6ba56aa
UserspaceEmulator: Add the LOOP/LOOPZ/LOOPNZ instructions
2020-07-18 00:25:02 +02:00
Andreas Kling
af7a1eca0b
UserspaceEmulator: Implement the XLAT instruction :^)
2020-07-18 00:25:02 +02:00
Andreas Kling
86a7820ad7
UserspaceEmulator: Add 16-bit PUSH/POP instructions
2020-07-18 00:25:02 +02:00
Andreas Kling
75500b449c
UserspaceEmulator: Fix every line in backtraces showing EIP
...
Oops, we're supposed to show the return address for each frame, not the
current EIP every time. :^)
2020-07-18 00:25:02 +02:00
Andreas Kling
d153fbf44e
UserspaceEmulator: Implement the BT/BTS/BTR/BTC instruction set
2020-07-18 00:25:02 +02:00
Andreas Kling
06669f3f0f
UserspaceEmulator: Implement IMUL_RM8 and IMUL_RM32
...
These are both a little tricky since they produce a result wider than
the inputs.
2020-07-18 00:25:02 +02:00
Nullspeak
51b2b0d5e5
WindowServer: New title bar vars for themes
...
The theming system can now control title bar height, title button
size, title stripe color and the title text shadow color.
The implemented theme metrics system could be later extended to LibGUI
to allow themes to change widget padding, border width, etc.
2020-07-17 23:19:08 +02:00
AnotherTest
8e364b9780
Shell: Mark ForLoop as would_execute
...
This fixes #2825 .
2020-07-17 23:18:15 +02:00
Florian Angermeier
c969b8390d
Kernel: Make all 6 VirtualConsoles available via shortcut
...
Add all 6 shortcuts even if the switch between VirtualConsoles is
currently not available in the graphical console.
Also make the case statement more compact.
2020-07-17 00:36:50 +02:00
Florian Angermeier
d8fa8c5f82
Kernel: Ensure there are all VirtualConsoles properly initialized
...
It is possible to switch to VirtualConsoles 1 to 4 via the shortcut
ALT + [1-4]. Therefor the array of VirtualConsoles should be guaranteed
to be initialized.
Also add an constant for the maximum number of VirtualConsoles to
guarantee consistency.
2020-07-17 00:36:50 +02:00
Florian Angermeier
971a42a816
Kernel: Make the VirtualConsole index const unsigned instead of unsigned
...
const:
The index should not be modified in the constructor to avoid unexpected
behavior
2020-07-17 00:36:50 +02:00
Andreas Kling
df58ea808e
UserspaceEmulator: Skip freed mallocations in reachability scan
...
Something being reachable from a freed mallocation doesn't make it
actually reachable.
Thanks to Jonas Bengtsson for spotting this! :^)
2020-07-17 00:24:23 +02:00
Andreas Kling
b17d175379
UserspaceEmulator: Add the usleep() syscall
2020-07-16 21:38:01 +02:00
Andreas Kling
27aa2e5841
UserspaceEmulator: Reset malloc backtrace on mallocation reuse
...
If a previously-freed malloc chunk is reused, forget any old backtraces
and save a new malloc backtrace.
2020-07-16 20:55:41 +02:00
Andreas Kling
5f0d24cab2
LibGUI: Turn a heap-allocated event into a stack-allocated one
2020-07-16 20:46:44 +02:00
Andreas Kling
6d27915f4b
LibCore: Turns some heap-allocated events into stack-allocated ones
2020-07-16 20:46:44 +02:00
Andreas Kling
869a3e2cf3
LibC: Notify UserspaceEmulator about BigAllocationBlock mallocs
...
We were forgetting to inform UE about these, which caused it to believe
subsequent calls to free() were invalid.
2020-07-16 20:46:44 +02:00
Tom
f591157eb8
WindowServer: Fix picking new active window after destroy
...
We need to mark windows as destroyed and not consider them
when picking a new active window. Fixes lost focus after
closing some windows.
2020-07-16 19:47:11 +02:00
Tom
603c17262c
WindowServer: Fix traversing modal stack
...
When walking the modal window stack upwards, we need to check if
the top modal window is still a descendant of the window that
the parent is blocked by. Fixes not all windows being brought to
the front when trying to active a parent in the middle of the
modal window stack.
2020-07-16 19:47:11 +02:00
Andreas Kling
e50874621a
UserspaceEmulator: Don't scan text segment for malloc leaks
...
There will be no (true positive) malloc addresses in the text segment.
2020-07-16 19:27:03 +02:00