Commit Graph

431 Commits

Author SHA1 Message Date
Hüseyin ASLITÜRK
197b2dcd36 Base: Add trq.json and en.json 2019-11-25 11:53:02 +01:00
Andreas Kling
9009390f9c WindowServer: Add an audio icon to the menu bar
Clicking on this icon toggles the AudioServer muted state.

It currently does not react to muted state changes caused by other
programs, since it has no way of learning about those from AudioServer,
other than performing a synchronous IPC call (GetMuted), which we don't
want to be doing in the WindowServer :^)
2019-11-22 22:15:39 +01:00
Andreas Kling
6fbe0f17f2 Docs: Add avol(1) 2019-11-22 21:52:52 +01:00
Andreas Kling
61ba19f031 LibHTML: Handle stand-alone attribute selectors
A selector like "[foo]" is now parsed as a universal selector component
with an attribute match type. Pretty neat :^)
2019-11-21 20:19:00 +01:00
Andreas Kling
8946e50986 LibHTML: Implement some attribute selector support
This patch adds a[foo] and a[foo=bar] attribute selectors.

Note that an attribute selector is an optional part of a selector
component, and not a component on its own.
2019-11-21 20:07:43 +01:00
Andreas Kling
7b3f1218be little: Make this build by default, and add some curlies 2019-11-18 19:01:50 +01:00
Andreas Kling
70e220a81f Docs: Add note about EINVAL to isatty(3) 2019-11-17 20:09:12 +01:00
Andreas Kling
1bb296ea70 Docs: Add isatty(3) man page 2019-11-17 20:03:42 +01:00
Andreas Kling
3d558f47b0 Docs: Add uname(1) and uname(2) man pages 2019-11-17 19:48:11 +01:00
Andreas Kling
189f234b47 Docs: Add info about -T and -t to crash(1) 2019-11-17 19:23:35 +01:00
Andreas Kling
fabdc8cdcb Base: Add Help.af :^)
Whoops, I forgot to add an .af file for the Help app!
2019-11-12 21:25:52 +01:00
Andreas Kling
f3e7dc65cd Katica10: Tweak the 'L' and 'Q' glyphs 2019-11-12 19:14:38 +01:00
Andreas Kling
dd2900eda0 Launcher: Remove the Launcher app, and all hacks in support of it
The Launcher's functionality has been replaced by the app shortcuts in
the system menu.

There were various window management hacks to ensure that the launcher
stayed below all other windows while also being movable, etc.
2019-11-11 13:13:08 +01:00
Andreas Kling
26f41c7ecb Base: Add .af files for Minesweeper, Snake and VisualBuilder 2019-11-11 13:13:08 +01:00
Andreas Kling
77de51d251 Base: Add Piano.af and SoundPlayer.af 2019-11-11 13:13:08 +01:00
Andreas Kling
3a71c018bf Base: Put DisplayProperties, FontEditor and PaintBrush into a category
These apps are now in a "Graphics" category :^)
2019-11-11 13:13:08 +01:00
Andreas Kling
bd0a8d078f Base: Add TextEditor.af 2019-11-11 13:13:08 +01:00
Andreas Kling
b6a6f34caa WindowServer: Populate system menu with app launchers from /res/apps
The new system directory /res/apps now contains ".af" files describing
applications (name, category, executable path, and icon.)
These are used to populate the system menu with application shortcuts.

This will replace the Launcher app. :^)
2019-11-11 13:13:08 +01:00
Andreas Kling
a04ab219d1 HackStudio: Use a visually distinct icon for the cursor tool
Using the default cursor bitmap as the cursor tool icon in HackStudio
was predictably making it impossible to tell if it's the real cursor
or not. Replace it with a color-inverted cursor. :^)
2019-11-10 21:19:08 +01:00
Andreas Kling
2da058c7f2 HackStudio: Use the GWidget class registry to populate the toolbar
This will allow HackStudio to learn about new GWidget types without
having to do anything in HackStudio :^)
2019-11-10 12:57:37 +01:00
Marcel Schneider
edd0959c83 Base: Add link to bettermotherfuckingwebsite in welcome.html 2019-11-10 12:52:23 +01:00
Till Mayer
660db0f79a SoundPlayer: Added 32x32 icon for the about dialog 2019-11-09 20:55:47 +01:00
Hüseyin ASLITÜRK
aba6e6de6a FileManager: Remember my last position and size. 2019-11-09 20:50:53 +01:00
Andreas Kling
d016d5e365 HackStudio: Start fleshing out the GUI for a GUI designer :^)
I'll be reconstructing parts of the VisualBuilder application here and
then we can retire VisualBuilder entirely once all the functionality
is available in HackStudio.
2019-11-09 00:41:00 +01:00
Andreas Kling
306cd0d840 Base: Add a local copy of bettermotherfuckingwebsite.com for testing 2019-11-07 21:40:04 +01:00
Till Mayer
e7ccbdbe30 SoundPlayer: Added playback control icons and application icon 2019-11-04 20:55:46 +01:00
Hüseyin ASLITÜRK
e2f0ac13a4 FileManager: Remember my last view mode (#731) 2019-11-04 17:27:56 +01:00
Andreas Kling
7c71040ba9 HackStudio: Show documentation preview in tooltip on identifier hover
When hovering over a C++ token that we have a man page for, we now show
the man page in a tooltip window.

This feels rather bulky at the moment, but the basic mechanism is quite
neat and just needs a bunch of tuning.
2019-10-30 20:28:44 +01:00
Andreas Kling
d24164ac6a HackStudio: Add little icons for ".cpp" and ".h" files
This makes it easier to tell them apart in locator suggestions. :^)
2019-10-28 19:08:48 +01:00
Andreas Kling
307cbf83c3 HackStudio: Start building a C++ lexer to help with syntax highlighting 2019-10-25 19:52:44 +02:00
Andreas Kling
84a2208b5c HackStudio: Add some toolbar icons to liven up the UI a bit :^) 2019-10-24 22:25:26 +02:00
Andreas Kling
5a2dd451b5 HackStudio: Add "little" test project file list 2019-10-23 12:28:25 +02:00
Andreas Kling
708543c3d6 HackStudio: Add a simple "Run" action
Ctrl+R will now execute "make run" in the project directory. :^)
2019-10-22 22:18:46 +02:00
Andreas Kling
a6b153abf1 HackStudio: Show the currently open file in bold (in the project list)
Also import a little default C++ project called "little" :^)
2019-10-22 21:38:58 +02:00
Andreas Kling
2638a94094 HackStudio: Add a simple app icon and some initial menus 2019-10-21 22:13:20 +02:00
Andreas Kling
eb77e680ed LibHTML: Implement "text-align: justify"
In order for this to work nicely, I made the line box classes use float
instead of int for its geometry information.

Justification works by distributing all of the whitespace on the line
(including the trailing whitespace before the line break) evenly across
the spaces in-between words.

We should probably use floating point (or maybe fixed point?) for all
the layout metrics stuff. But one thing at a time. :^)
2019-10-20 12:55:55 +02:00
Andreas Kling
c41bae3d54 LibHTML+Browser: Support scrolling to anchor with <a href="#foo">
This patch implements basic support for <a href="#foo"> fragment links.

To figure out where we actually want to scroll to, we have to do
something different based on the layout node's box type. So if it's a
regular LayoutBox we can just use the LayoutBox::position().

However, if it's an inline layout node, we use the position of the
first line box fragment in the containing block contributed by this
layout node or one of its descendants.
2019-10-20 10:07:26 +02:00
Andreas Kling
5a34225999 LibHTML: Implement basic tiled background image support
It's now possible to set a page background image via <body background>.
Also, HtmlView now officially handles rendering the body element's
background (color, image or both.) LayoutBox is responsible for all
other background rendering.

Note that it's not yet possible to use CSS background-image properties
directly, since we can't parse them yet. :^)
2019-10-19 11:49:46 +02:00
Andreas Kling
06f084fedd LibHTML: Add the <center> element
This is really just "center { display: block; text-align: center; }" in
the default stylesheet, but it totally works!
2019-10-16 20:33:00 +02:00
Andreas Kling
6dbba6ad85 LibHTML: Implement CSS text-align: left/center/right
This was easier than I imagined; we just shift each line box to the
left based on the alignment and the remaining space on each line. :^)
2019-10-16 20:32:17 +02:00
Andreas Kling
61ef17b87a LibHTML: Implement basic :hover pseudo-class support
This is currently very aggressive. Whenever the Document's hovered node
changes, we invalidate all style and do a full relayout.

It does look cool though. So cool that I'm adding it to the default
stylesheet. :^)
2019-10-14 17:55:04 +02:00
Brandon Scott
48ef1d1bd1 HexEditor: Initial application release
The very first release of the Hex Editor for Serenity.
2019-10-13 08:45:49 +02:00
Andreas Kling
08209cc665 LibHTML: Handle comments in the CSS parser
Turn consume_whitespace() into consume_whitespace_or_comments() and
have it swallow /* comments */ as well.
2019-10-13 00:28:15 +02:00
Andreas Kling
b083a233d8 LibHTML: Add Comment and CharacterData nodes and improve HTML parsing
This patch adds the CharacterData subclass of Node, which is now the
parent class of Text and a new Comment class.

A Comment node is one of these in HTML: <!--hello friends-->
Since these occur somewhat frequently on the web, we need to be able
to parse them.

This patch also adds a child rejection mechanism to the DOM tree.
Nodes can now override is_child_allowed(Node) and return false if they
don't want a particular Node to become a child of theirs. This is used
to prevent Document from taking on unwanted children.
2019-10-12 23:34:05 +02:00
Andreas Kling
6242459c0f LibHTML: Implement the <br> element for line breaking
The <br> element will produce a special LayoutBreak node in the layout
tree, which forces a break in the line layout whenever encountered.

This patch also makes LayoutBlock use the current line-height as the
minimum effective height for each line box. This ensures that having
multiple <br> elements in a row doesn't create 0-height line boxes.
2019-10-12 13:47:49 +02:00
Andreas Kling
76266862d1 LibGUI+WindowServer: Add a "Hand" cursor to the standard cursors 2019-10-10 21:35:12 +02:00
Andreas Kling
fdbad6284c LibHTML: Implement the <blink> element
Just in time for Serenity's 1st birthday, here is the <blink> element!

This patch adds a bunch of different mechanisms to enable partial
repaints of the layout tree (LayoutNode::set_needs_display()))
It also adds LayoutNode::is_visible(), which can be toggled to prevent
a LayoutNode from rendering anything (it still takes up space though.)
2019-10-09 21:25:29 +02:00
Andreas Kling
3be6d1aff0 LibHTML: Add ResourceLoader to support protocol-agnostic URL loading
We now support loading both file:// and http:// URLs. Feel free to
visit http://www.serenityos.org/ and enjoy the fancy good times. :^)
2019-10-08 19:37:15 +02:00
Andreas Kling
71e8ddcd1c LibHTML: Start adding support for <link rel="stylesheet">
This patch adds basic support for external stylesheets. It currently
only works with file:// URLs.

We do a synchronous full relayout after loading a stylesheet, which is
definitely on the aggressive side, but it gives us something to work
on improving. :^)
2019-10-07 19:06:47 +02:00
Andreas Kling
122d12e617 LibDraw: Parse some more color string formats found on the web
This patch adds the 17 color names from CSS2.1, as well as support for
the "#rgb" shorthand where each component is a hex digit that gets
multiplied by 17.
2019-10-06 21:40:14 +02:00
Andreas Kling
bedb00603c LibHTML: Add adjacent (+) and general (~) sibling combinators
This patch implements two more selector features:

- "div + p" matches the <p> sibling immediately after a <div>.
- "div ~ p" matches all <p> siblings after a <div>.
2019-10-06 19:59:07 +02:00
Andreas Kling
cad326f323 LibHTML: Implement immediate-child selectors (#foo > #bar) 2019-10-06 15:41:16 +02:00
Andreas Kling
156b35742a LibHTML: Implement matching for descendant selectors
The CSS engine now correctly matches selectors like "#foo #bar #baz".
2019-10-06 15:34:42 +02:00
Conrad Pankoff
6eef6f4f1d Base: Add a page for image features to the www directory 2019-10-06 14:33:00 +02:00
Andreas Kling
31e361b827 Base: Add a little welcome page for the browser at ~/www/welcome.html 2019-10-05 10:29:52 +02:00
Andreas Kling
4f47146433 LibGUI: Add a "reload" action to GCommonActions 2019-10-05 10:14:09 +02:00
Andreas Kling
3feb452bf4 Base: Add a little HTML test for presentational hints 2019-10-04 21:15:52 +02:00
Sergey Bugaev
afdc5688ec LibC: Implement dirname() and basename()
And write section 3 man pages for them.
2019-10-03 08:23:54 +02:00
Sergey Bugaev
8fbcfa934a Base: Add some "See also" links to the man pages
We can do this now that we have link support in LibMarkdown and LibHTML ^)
2019-10-03 08:23:54 +02:00
Andreas Kling
53db492aba Base: Rename the "html" test directory to "www"
It was conflicting with the html program and I'm too lazy to deal with
that right now. :^)
2019-10-01 20:16:09 +02:00
Brandon Scott
08a1fb8f1a LibGUI+PaintBrush: Fix to GFilePicker and PaintBrush enhancements.
GFilePicker
- Fixed GFilePicker to use new ref-counted construct method to stop crashing on open dialog.
  - PaintBrush is still crashing on open dialog due to an unrelated issue.

PaintBrush
- Created 16x16 icon for PaintBrush
- Moved Open option into App menu.
- Changed help menu to make use of the standardized About dialog.
2019-10-01 09:17:56 +02:00
Larkin Nickle
3fb88cb76d Help+man.md: Add man sections
Also correct minor formatting mistake in TelnetServer.md.
2019-09-30 21:38:39 +02:00
Larkin Nickle
e7c2467231 Add TelnetServer man page 2019-09-30 21:38:39 +02:00
Andreas Kling
3900eebf15 FileManager+LibGUI+html: Add an icon to represent HTML files
This also becomes the app icon for the little "html" program. :^)
2019-09-29 21:00:41 +02:00
Andreas Kling
17c06d7c9a Base: Move HTML test pages into /home/anon/html
Also add a simple test page for inline style sheets.
2019-09-29 18:07:36 +02:00
Andreas Kling
b5c587a106 Base: Add some title attributes to the small HTML test file :^) 2019-09-29 12:26:15 +02:00
Andreas Kling
dba74abe93 Base: Fix minor typos in man pages 2019-09-28 23:06:22 +02:00
Andreas Kling
3ed41abba4 Base: Add a little hyperlink to the small HTML test page
This will be useful for testing rendering, hit testing, etc.
2019-09-28 23:00:47 +02:00
Andreas Kling
eb18825fce Base: Add man pages for create_shared_buffer() and share_buffer_with() 2019-09-28 21:16:26 +02:00
Andreas Kling
5673ff3694 Base: Add a bold variant of the Pebbleton 11px font 2019-09-28 19:14:23 +02:00
Sergey Bugaev
fed96f455d Base: Write some initial man pages
It ain't much, but it's honest work!
2019-09-28 18:29:42 +02:00
Andreas Kling
48b1b55629 Emoji: Make the "Unicorn" emoji transparent :^) 2019-09-20 15:41:39 +02:00
Andreas Kling
db9172b509 Base: Add a 16x16 "book" icon, requested by Sergey 2019-09-20 15:39:36 +02:00
Andreas Kling
270adea22f WindowServer: Remove the default background wallpaper
Booting without a wallpaper is significantly faster in QEMU when the
host machine is under load (e.g while recording the screen..)

Using a wallpaper is now optional. :^)
2019-09-18 16:36:15 +02:00
Dan MacDonald
9145a720ec Emoji: Add “Unicorn” (#581) 2019-09-18 07:19:07 +02:00
Andreas Kling
4f184114de VisualBuilder: Add icons for the layout menu actions 2019-09-17 22:39:48 +02:00
Andreas Kling
3d0dba94ec Emoji: Add "Face With Tears of Joy"
By request from Sergey. :^)
2019-09-17 22:17:28 +02:00
Andreas Kling
d754ac5bcb LibGUI+VisualBuilder: Add move-to-front/back to GCommonActions
Also give them nice little icons. :^)
2019-09-14 22:42:39 +02:00
Andreas Kling
9d2c4d223a TextEditor+Base: Add an icon for the "Find" action :^) 2019-09-13 23:56:37 +02:00
Andreas Kling
ff72b4d475 FileManager+Base: Add "properties" icon
Something to show for the properties action in FileManager. It still
doesn't actually do anything, but at least now it looks neat. :^)
2019-09-13 23:07:59 +02:00
Andreas Kling
414b0f4f9e Base: Add a 16x16 icon for sound files 2019-09-13 22:39:39 +02:00
Andreas Kling
3d4935a223 Emoji: Add some simple emojis I drew on the train
We're gonna need a lot more of these, and I don't know if the size is
quite right, but here's a start. :^)
2019-09-13 14:44:45 +02:00
Jesse Buhagiar
ecbc0322c1 Applications: Create a display properties manager
An interactive application to modify the current display settings, such as
the current wallpaper as well as the screen resolution. Currently we're
adding the resolutions ourselves, because there's currently no way to
detect was resolutions the current display adapter supports (or at least
I can't see one... Maybe VBE does and I'm stupid). It even comes with
a very nice template'd `ItemList` that can support a vector of any type,
which makes life much simpler.
2019-09-07 16:51:15 +02:00
Andreas Kling
c4d59f64d1 GDirectoryModel: Add a 32x32 filetype icon for sound files 2019-09-04 21:48:03 +02:00
Andreas Kling
e12bbc097f IRCClient: Add 16x16 icon 2019-09-04 18:56:39 +02:00
Andreas Kling
1689cc0b00 Base: Use the right shade of warm gray in the radio button bitmaps 2019-08-29 18:19:16 +02:00
Andreas Kling
161c862f21 WindowServer: Add an icon for the system menu / About action
It's a little ladybug. Maybe someday we'll have a fancy icon, but until
then, this ladybug character is a cute placeholder. :^)
2019-08-27 06:53:23 +02:00
Andreas Kling
2e4e4ad957 Inspector: Add a custom 16x16 icon to represent objects
Behold, my finest "1990's OOP cube icon" :^)
2019-08-18 10:49:38 +02:00
Sergey Bugaev
6778abb999 Kernel+SystemServer: Mount filesystems and start TTYServer in userspace 2019-08-17 12:07:55 +02:00
Sergey Bugaev
cbdda91065 ProcessManager: Rename it to SystemMonitor
This is a more appropriate name now that it does a lot
more than just manage processes ^)
2019-08-14 14:28:45 +02:00
Conrad Pankoff
37a2c03655 Misc: Import pci.ids file version 2019.08.08 2019-08-14 13:12:54 +02:00
Andreas Kling
57c92f943b Base: Draw some new icons for various apps, tweak others
The following apps get new icons:

- IRCClient
- ProcessManager
- Snake
- Terminal
- TextEditor

...and the PaintBrush icon has its saturation increased a bit.
Also remove FontEditor from the Launcher default settings since it
doesn't really belong in the set of commonly used apps.
2019-08-11 21:07:47 +02:00
Andreas Kling
fdd9aa959b ChanViewer: Make a 32x32 icon :^) 2019-08-11 21:07:47 +02:00
Conrad Pankoff
6f75d96689 Launcher: Add ChanViewer to default config 2019-08-06 15:05:56 +02:00
Andreas Kling
d0c1724d5b ChanViewer: Give this application a simple window icon 2019-08-04 14:53:32 +02:00
Andreas Kling
5f0f1ce9d2 FileManager: Add a toolbar button for going to the home directory.
Fixes #308.
2019-07-21 09:19:09 +02:00
Andreas Kling
9197cfc62f Piano: Add 16x16 window icon. 2019-07-13 23:12:40 +02:00
Andreas Kling
173edcc5ae Piano: Add to Launcher with a new 32x32 icon. :^) 2019-07-13 23:01:47 +02:00
Christopher Dumas
e9ab282cfd Launcher: Reformat config a little bit (#279) 2019-07-03 05:53:44 +02:00
Andreas Kling
d2ec64ace0 Launcher: The "Launcher" config file group shouldn't take up visual space.
Also tweak Launcher.ini since CConfigFile bools are 1/0 rather than
true/false. We should probably use true/false. Or switch over to JSON.
2019-07-02 21:49:00 +02:00
Christopher Dumas
8a2123e385 Launcher: Vertical/Horizontal option 2019-07-02 13:29:14 +02:00
Andreas Kling
0a44837738 PaintBrush: Make a little icon for the eraser tool. 2019-06-30 09:40:15 +02:00
Andreas Kling
77dc11f481 ProcessManager: Add app icon. 2019-06-30 09:31:47 +02:00
Andreas Kling
0299cf5b02 PaintBrush: Make app icon transparent. 2019-06-30 09:26:00 +02:00
Andreas Kling
806b91b444 PaintBrush: Add a simple app icon.
I ended up drawing four crayons for the app icon. This is not a great fit
for the app name. But uh, we'll figure this out somehow. :^)
2019-06-29 22:32:34 +02:00
Andreas Kling
b1d113e32a AK: Make a tiny JSON unit test based on a saved VisualBuilder form. 2019-06-29 12:07:42 +02:00
Andreas Kling
25fd847ef2 PaintBrush: Add a color picker tool. 2019-06-22 12:05:35 +02:00
Andreas Kling
41bcabd9aa PaintBrush: Make a little icon for the spray tool. 2019-06-21 09:22:32 +02:00
Andreas Kling
f8a86b5164 LibHTML: Basic element attribute parsing. 2019-06-15 21:08:36 +02:00
Andreas Kling
581d6b00c8 LibHTML: Start working on a very simplified HTML parser. 2019-06-15 20:21:57 +02:00
Andreas Kling
694b4a64bd PaintBrush: Make little icons for the pen and bucket tools. 2019-06-15 17:52:53 +02:00
Andreas Kling
16f624421a Demos: Import Fire demo contributed by "pd". 2019-06-12 20:19:44 +02:00
Andreas Kling
4edc73ad1f Terminal: Use the visual bell by default. 2019-06-07 08:45:39 +02:00
Christopher Dumas
70a37f9a26 LookupServer: Load hostnames 2019-06-07 08:35:41 +02:00
Christopher Dumas
908d9458c7 WindowServer: New API for Scaled Blit 2019-06-06 18:35:00 +02:00
Christopher Dumas
77185c1541 fixed ini WM config 2019-05-27 21:40:53 +02:00
Christopher Dumas
3e26faa226 removed extra impl of scaling 2019-05-27 21:40:53 +02:00
Christopher Dumas
da9c70598f centered backgrounds are now an option 2019-05-27 21:40:53 +02:00
Christopher Dumas
aa50e5bb13 tiled backgrounds no longer has strange off-by-one pixel errors 2019-05-27 21:40:53 +02:00
Christopher Dumas
c23882dde1 can now tile background and made sure the IRC choose server popup still works 2019-05-27 21:40:53 +02:00
Christopher Dumas
e3f81bce49 IRC client setttings, Terminal settings, more WM settings 2019-05-27 21:40:53 +02:00
Christopher Dumas
63486b8438 implemented settings for window manager. 2019-05-27 21:40:53 +02:00
Christopher Dumas
d4a16d6031 Network stack is now configurable, and resolution is also configurable, but loading cursors causes a page-fault? 2019-05-27 21:40:53 +02:00
Andreas Kling
e1f922ded2 Base: Add a 32x32 icon for Minesweeper. 2019-05-25 18:46:25 +02:00
Andreas Kling
10391bd82b Base: Tweak the small Terminal icon slightly. 2019-05-25 18:23:12 +02:00
Andreas Kling
9cfd674a75 Base: Make a 32x32 icon for Snake. 2019-05-25 14:21:08 +02:00
Christopher Dumas
dd84dcf31f Launcher loads applications from Launcher.ini, is started by default, and is resized automatically
Co-Authored-By: Andreas Kling <awesomekling@gmail.com>
2019-05-24 20:40:09 +02:00
Andreas Kling
36d8b9e89b LibGUI: Add a GRadioButton widget.
Radio buttons are automagically exclusive with other radio button children
of the same parent. :^)
2019-05-24 02:29:16 +02:00
Andreas Kling
b7166385de RetroFetch: Add a silly neofetch-like program.
The idea is to print out various system info suitable for screenshots. :^)
2019-05-13 04:54:48 +02:00
Andreas Kling
de98b2770b GMessageBox: Add icons to message boxes with 3 standard ones to choose from. 2019-05-08 20:13:39 +02:00
Andreas Kling
a8c856ed3d GTableView: Improve look of column headers, and add sort order indicators. 2019-05-04 21:16:41 +02:00
Andreas Kling
ea9a39a9f2 LibGUI+WindowServer: Add a GResizeCorner widget.
This widget is automatically included in GStatusBar, but can be added in
any other place, too. When clicked (with the left button), it initiates a
window resize (using a WM request.)

In this patch I also fixed up some issues with override cursors being
cleared after the WindowServer finishes a drag or resize.
2019-05-03 01:38:24 +02:00
Andreas Kling
ded3652f6c Base: Replace system About box icon with something home-drawn.
I don't recall where the previous one came from, so let's not assume we can
use it. Here's one I drew myself instead.
2019-05-01 17:17:31 +02:00
Andreas Kling
86aad50818 VisualBuilder: Add GSlider to the widgets toolbox. 2019-04-30 16:18:05 +02:00
Andreas Kling
d55ff4756a Base: Import a slightly larger font I started working on.
This still needs a bunch of work but it will be good to have a larger font
available to us.
2019-04-30 05:09:39 +02:00
VAN BOSSUYT Nicolas
4977fd22b8 Toolchain: Useit.sh finish and added an install target for the libc's Makefile and a bit of ground work for a gcc port 2019-04-29 13:12:20 +02:00
Andreas Kling
f254a84d17 Launcher: Add icons for VisualBuilder and IRCClient. 2019-04-29 04:07:36 +02:00
Andreas Kling
75734aa003 Minesweeper: Add considering feature, where middle clicking marks with '?'
This is useful in the harder modes, for trying out different possibilities.
2019-04-28 13:55:41 +02:00
Andreas Kling
146aedc32c Minesweeper: Implement some feature requests.
Someone was playing this game and suggested a number of improvements so here
we go trying to address them:

- Add "chording" support, where you can click a numbered square using both
  mouse buttons simultaneously to sweep all non-flagged adjacent squares.

- Mis-flagged squares are now revealed as such on game over, with a special
  "bad flag" icon.

- The game timer now shows tenths of seconds. It also doesn't start until
  you click the first square.

- Add the three difficulty modes from the classic Windows version.
2019-04-26 19:54:31 +02:00
Andreas Kling
a0633c298b Snake: Add a window icon. :^) 2019-04-20 20:14:02 +02:00
Andreas Kling
c9b86be1cc Snake: Add some more fruit types. 2019-04-20 18:50:41 +02:00
Andreas Kling
6ef8e2df5a Snake: Use a vegetable icon for the fruit. 2019-04-20 04:00:32 +02:00
Andreas Kling
36a6c10b09 FontEditor: Add a window icon. 2019-04-18 02:30:35 +02:00
Andreas Kling
8251f97858 Terminal: Add a window icon. 2019-04-16 17:55:39 +02:00
Andreas Kling
29abfc8623 ProcessManager: Add a window icon. 2019-04-16 17:55:27 +02:00
Andreas Kling
c8e601a5d5 Minesweeper: Add little icons to the flags and timer labels. 2019-04-15 03:12:28 +02:00
Andreas Kling
4df360be8c Minesweeper: More implementation work. 2019-04-13 03:57:55 +02:00
Andreas Kling
a90e218c71 Minesweeper: Start working on a simple minesweeper game. :^) 2019-04-13 03:08:16 +02:00
Andreas Kling
f0501a0102 VisualBuilder: Add GGroupBox.
The icon currently looks better than a real GGroupBox. I have to fix that.
2019-04-11 13:46:25 +02:00
Andreas Kling
3f67298dad VisualBuilder: Add GScrollBar (and yes, an icon for it, too.) 2019-04-11 06:42:07 +02:00
Andreas Kling
f25c524f20 VisualBuilder: Add GCheckBox and GLabel, and draw icons for them, too. 2019-04-11 06:32:27 +02:00
Andreas Kling
b5d1cfef58 VisualBuilder: Add icons to the toolbox, and support for GProgressBar. 2019-04-11 06:08:06 +02:00
Andreas Kling
4abffa4dbe GSpinBox: Put nice little arrow glyphs on the buttons. 2019-04-10 01:37:08 +02:00
Andreas Kling
42c95959a8 WindowServer: Show a special "move" cursor when dragging windows around. 2019-03-31 22:42:13 +02:00
Andreas Kling
2334ffcbf8 WindowServer: Add a WSCursor class (a bitmap and a hotspot.)
Also import a bunch of cursors I drew. Only the default ("arrow") cursor is
ever used so far.
2019-03-31 22:09:10 +02:00
Andreas Kling
be42382a3a Base: Add an icon for a slightly open-looking folder. 2019-03-30 02:22:16 +01:00
Andreas Kling
967eec1e52 GTreeView: Add expand/collapse buttons to items with children. 2019-03-29 20:18:15 +01:00
Andreas Kling
f6b48ecd47 GTreeView: More implementation work. 2019-03-29 18:10:58 +01:00
Andreas Kling
b6c5bd3d28 FileManager: Add back/forward buttons (placeholders.) 2019-03-28 03:38:23 +01:00
Andreas Kling
6e7d5e0114 Base: I drew a new filetype-image icon based on my cat friend. 2019-03-27 21:15:01 +01:00
Andreas Kling
d63528197b Base: Add some icons and tweak some existing ones. 2019-03-27 19:41:39 +01:00
Andreas Kling
2444a35365 Base: Tweak 16x16 "open" icon. 2019-03-25 21:22:53 +01:00
Andreas Kling
ede3565e48 Base: Add 32x32 versions of filetype-socket and filetype-symlink. 2019-03-25 14:48:23 +01:00
Andreas Kling
be604652ae LibGUI: Add GIcon::default_icon(name).
This is a convenience helper to instantiate a GIcon like so:

    auto icon = GIcon::default_icon("filetype-image");

This will give you the "filetype-image" icon in both 16x16 and 32x32 sizes.
2019-03-25 14:46:37 +01:00
Andreas Kling
614dafea32 FileManager+LibGUI: Show thumbnail generation progress in the statusbar. 2019-03-25 04:25:25 +01:00
Andreas Kling
43f9027968 FileManager: Add toolbar buttons for switching the view mode. 2019-03-25 01:29:45 +01:00
Andreas Kling
86413a6f5a LibGUI+FileManager: Add a GIcon class to support multi-size icons.
A GIcon can contain any number of bitmaps internally, and will give you
the best fitting icon when you call bitmap_for_size().
2019-03-24 04:28:36 +01:00
Andreas Kling
b0de6aa8d8 Base: Import some 32x32 icons. 2019-03-23 12:38:41 +01:00
Andreas Kling
19fa70c821 LibGUI: Add a GItemView class.
This is a GAbstractView subclass that implements a icon-based view onto
a GModel. It still need a bunch of work, but it's in basic usable shape.
2019-03-23 03:54:45 +01:00
Andreas Kling
9d4b4c2689 FileManager: Add a default icon for image files. 2019-03-22 12:54:27 +01:00
Andreas Kling
7c0a185970 Use the PNG loader for all images, and get rid of the .rgb files. 2019-03-22 00:21:03 +01:00
Andreas Kling
e4dfd5a3a4 WindowServer: Support PNG wallpapers.
Fix up /bin/pape so it tells the WindowServer which wallpaper file to use.
2019-03-21 15:54:19 +01:00
Andreas Kling
65348e7dc1 PNGLoader: Support for color type 2 (RGB triplets) and multiple IDAT chunks. 2019-03-21 05:25:54 +01:00
Andreas Kling
daa1dcb5e8 FileManager: Use a GTextEditor for the location bar + tweak icons. 2019-03-20 18:12:56 +01:00
Andreas Kling
67009cee8e IRCClient: Add ability to change nickname. 2019-03-20 04:21:58 +01:00
Andreas Kling
5b0cbf547d Base: Some work on various icons. 2019-03-17 00:33:49 +01:00
Andreas Kling
78039ef057 TextEditor: Add actions for undo and redo. Not hooked up yet. 2019-03-16 23:16:11 +01:00
Andreas Kling
2b6cf37d20 IRCClient: Add some more toolbar actions. Starting to look nice. 2019-03-16 00:21:11 +01:00
Andreas Kling
3a3aa74b2e IRCClient: Add a toolbar with some actions. 2019-03-15 23:24:40 +01:00
Andreas Kling
ed61fdbc32 Base: Improved FileManager (folder) icon. 2019-03-10 00:58:47 +01:00
Andreas Kling
2bde251163 Base: Add 16x16 icon for TextEditor. 2019-03-08 19:56:12 +01:00
Andreas Kling
48470cdf44 Launcher: Add a launcher button for TextEditor. 2019-03-08 19:53:11 +01:00
Andreas Kling
c9c40e1da6 Base+WindowServer: Add a new default wallpaper for fun. 2019-03-07 23:58:04 +01:00
Andreas Kling
054e4caf49 TextEditor: Add Cut/Copy/Paste placeholder actions. 2019-03-07 21:43:43 +01:00
Andreas Kling
be0ac86b63 TextEditor: Add New/Open/Save actions.
They aren't hooked up to anything, I just felt like making some icons. ;^)
2019-03-07 01:46:37 +01:00
Andreas Kling
67ee579113 WindowServer: Add window icons. Every window has the same icon for now.
The icons show up both in the title bars and in the window switcher.
Eventually I'd like to be able to minimize to icon, and maybe even have
myself a taskbar.
2019-03-06 23:03:36 +01:00
Andreas Kling
d75897708b Base: Tweak Katica system menu glyph. 2019-03-06 20:04:52 +01:00
Andreas Kling
2950d33c76 ProcessManager: Tweak priority icons. 2019-03-06 20:03:10 +01:00
Andreas Kling
f3341d2ae7 Base: Tweak Katica and Katica Bold glyphs. 2019-03-06 19:41:36 +01:00
Andreas Kling
31d6b640eb Add a bold variant of Katica and make that the system's default bold font.
..and do some minor tweaks to the font rendering code.
2019-03-06 14:50:27 +01:00
Andreas Kling
e11c7a5df5 FileManager: Add "up to parent directory" action to toolbar.
It's not actually hooked up to anything yet, I just wanted to add
something more to the toolbar. :^)
2019-03-02 02:20:11 +01:00
Andreas Kling
5f4245789d FileManager: Allow launching processes by activating an executable file. 2019-03-01 14:57:42 +01:00
Andreas Kling
b5e5f26a82 Base: Add Csilla Bold 7x10 variant.
It's nice to have a thin and a bold variant to complement each other.
2019-03-01 02:50:50 +01:00
Andreas Kling
0776c51bf5 Base: Import a new font, Csilla Thin (7x10).
I wanted to do a bitmap font with an odd number of columns for a while
and I finally got around to it. This really looks rather nice, so I'm
making it the default system font for now. :^)
2019-03-01 01:52:20 +01:00
Andreas Kling
e6625755c9 ProcessManager: Tweak icons. 2019-02-28 22:35:58 +01:00
Andreas Kling
322f49caec ProcessManager: Use icons for the process priorities. 2019-02-28 21:04:26 +01:00
Andreas Kling
82c22a7484 ProcessManager: Add "continue" action that sends SIGCONT. 2019-02-28 13:02:55 +01:00
Andreas Kling
c5a32d139a ProcessManager: Add a "stop" action that sends SIGSTOP to a process. 2019-02-28 12:06:19 +01:00
Andreas Kling
c1fc2b0534 Ignore .data files in Base/res/icons/.
These are just temporaries that I sometimes spill when converting icons.
2019-02-28 09:57:12 +01:00
Andreas Kling
166aadc4e1 ProcessManager: Start working on a graphical process manager.
I need a table view widget for this thing, so I'm also using this to
prototype a model/view thingy.
2019-02-28 01:43:50 +01:00
Andreas Kling
23263aaae4 Base: Improve FileManager's trash icon slightly. 2019-02-27 13:07:14 +01:00
Andreas Kling
920e8e58ed Kernel+Userland: Implement setuid() and setgid() and add /bin/su
Also show setuid and setgid bits in "ls -l" output. :^)
2019-02-21 23:38:10 +01:00
Andreas Kling
b704d3d295 LibGUI: Add a GToolBar class that can be populated with GActions.
The same action can be added to both a menu and a toolbar.
Use this to put a toolbar into FileManager. This is pretty neat. :^)
2019-02-20 02:39:46 +01:00
Andreas Kling
420b7bd55f FileManager: Add an icon for socket files. 2019-02-19 03:13:43 +01:00
Andreas Kling
bf6b0ea181 Base: Remove an unused icon. 2019-02-19 03:11:12 +01:00
Andreas Kling
000ccc0a03 Base: Adjust the OS logo icon a little bit. 2019-02-12 15:46:32 +01:00
Andreas Kling
d74b131c27 Add a little About app and hook it up to the system menu's "About..." entry.
Added icons and customizable text alignment to GLabel.
2019-02-12 15:23:07 +01:00
Andreas Kling
7df7e5e2a6 Base: Add some human-friendly spaces to font names.
"LizaRegular" => "Liza Regular", etc.
2019-02-12 14:34:37 +01:00
Andreas Kling
a5a7ea3d1e Base: Rename Liza8x10 to LizaThin8x10. 2019-02-12 13:31:00 +01:00
Andreas Kling
ec7099dac3 WindowServer: Made a slightly nicer icon for the system menu. 2019-02-12 13:19:58 +01:00
Andreas Kling
f7b25773ab WindowServer: Let's have a cute little symbol for the system menu. 2019-02-11 13:00:41 +01:00
Andreas Kling
5e8d6b1bf4 Base: Rename /users to /home.
I didn't like seeing /users next to /usr. /home looks nicer.
2019-02-10 11:18:12 +01:00
Andreas Kling
546946775b Base: Add an app icon for FileManager. 2019-02-10 07:48:54 +01:00
Andreas Kling
6b8af2f33a Base: Improved FontEditor icon. 2019-02-10 06:30:16 +01:00
Andreas Kling
4d5fe39494 FileManager: Start building a file manager. 2019-02-09 09:22:04 +01:00
Andreas Kling
a6f9ddbb58 Let's have two wallpapers installed so we can test switching. 2019-02-08 17:14:47 +01:00
Andreas Kling
90d3375dc2 WindowServer: Support desktop wallpapers.
For now, you don't get to choose the wallpaper, but it's still pretty cool.
2019-02-08 08:45:59 +01:00
Andreas Kling
887b4a7a1a Start working on a simple Launcher app.
Let GButton have an optional icon (GraphicsBitmap) that gets rendered in the
middle of the button if present.

Also add GraphicsBitmap::load_from_file() which allows mmap'ed RGBA32 files.
I wrote a little program to take "raw" files from GIMP and swizzle them into
the correct byte order.
2019-02-07 23:17:06 +01:00
Andreas Kling
0f15093e96 LizaRegular8x10: Tweak some glyphs. 2019-02-05 11:53:06 +01:00
Andreas Kling
b1e054ffe8 Rename LizaBold to LizaRegular and LizaBlack to LizaBold.
LizaRegular is quickly becoming my favorite bitmap font. It's so pretty :^)
2019-02-05 09:08:25 +01:00
Andreas Kling
a32b33621f LizaBlack8x10: Tweak some glyphs. 2019-02-05 07:12:25 +01:00
Andreas Kling
c77f32d2f0 LizaBlack8x10: Import a very heavy variant of Liza. 2019-02-04 16:02:30 +01:00
Andreas Kling
cacba45f1c LizaBold8x10: Import a bold variant of Liza8x10 and make it the default bold.
Start using it right away for window titles.
2019-02-04 11:37:15 +01:00
Andreas Kling
5877feab1b Liza8x10: Tweak some glyphs. 2019-02-03 03:06:43 +01:00
Andreas Kling
e97fea3169 Liza8x10: Tweak some glyphs. 2019-02-03 02:20:12 +01:00
Andreas Kling
7f91aec25c Support font files.
This only works with the userspace build of SharedGraphics so far.
It's also very slow at loading fonts, but that's easy to fix.

Let's put fonts in /res/fonts/.
2019-02-02 23:13:12 +01:00
Andreas Kling
d1b805172d Rename the default user to "anon" and give him a home directory. 2019-01-30 20:40:41 +01:00
Andreas Kling
86eae0f8df Let userland retain the window backing store while drawing into it.
To start painting, call:
gui$get_window_backing_store()

Then finish up with:
gui$release_window_backing_store()

Process will retain the underlying GraphicsBitmap behind the scenes.
This fixes racing between the WindowServer and GUI clients.

This patch also adds a WSWindowLocker that is exactly what it sounds like.
2019-01-24 23:44:19 +01:00
Andreas Kling
9d05f6b7a7 Make bash-2.05b build with minimal changes.
This is really neat. :^)
2018-11-17 00:14:07 +01:00
Andreas Kling
90bab5ea71 Add getgrent() family of functions. 2018-11-06 22:27:51 +01:00
Andreas Kling
9886b27d9c Add getpwent() family of functions to LibC.
Also add a little /etc/passwd database. There's just me in there.
2018-10-31 19:54:25 +01:00