Commit graph

212 commits

Author SHA1 Message Date
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