Gunnar Beutner
c7265ee6bd
Assistant: Keep the Terminal window open after the command has run
2021-07-16 13:05:55 +02:00
Andreas Kling
b8a204c5b9
LibThreading: Rename Lock => Mutex
2021-07-09 11:15:50 +02:00
Yuval Tasher
b08383c48d
Assistant: Compare two chars instead of StringViews of length 1
2021-07-07 15:58:57 +02:00
Andreas Kling
a6f0861c7b
Assistant: Add missing <unistd.h> include
2021-07-05 23:30:15 +02:00
Andreas Kling
45a2bc27d5
Assistant: Don't index the /dev directory
2021-07-04 23:15:17 +02:00
Andreas Kling
085da369ff
Assistant: Force the window to have a shadow despite being frameless
2021-07-04 23:15:17 +02:00
timre13
55dd568583
Assistant: Show a border around the window
2021-07-04 14:48:54 +02:00
ForLoveOfCats
d73f53d1de
Assistant: Prevent window from being minimized
2021-07-04 13:58:56 +02:00
Gunnar Beutner
f52bf15f8d
Assistant: Make more of the classes final
2021-07-03 22:38:53 +02:00
Gunnar Beutner
52a3226f6d
Assistant: Make the bitmap accessor pure virtual
...
Assistant looks broken when a result doesn't have an icon.
2021-07-03 22:38:53 +02:00
Gunnar Beutner
6af08f950a
Assistant: Add missing bitmap accessor for terminal actions
2021-07-03 22:38:53 +02:00
Edwin Hoksberg
a4b4397a10
Assistant: Skip URL provider if query is empty or provider specific
2021-07-03 22:38:40 +02:00
Andreas Kling
c06f72c264
Assistant: Don't index the /proc and /sys directories
...
Roughly 20% of indexing time in a fresh install was spent on traversing
these kernel-generated directories. Let's just not. :^)
2021-07-03 22:14:09 +02:00
Andreas Kling
94def5ae9d
Assistant: Avoid copying the result vectors when providers finish
...
Just move() them instead to cut down on the copying. :^)
2021-07-03 22:14:09 +02:00
Andreas Kling
e4199beccc
Assistant: Keep the set of providers in a Vector for easy iteration
2021-07-03 22:14:09 +02:00
Andreas Kling
4fce72a967
Assistant: Use fstatat() while building FileProvider path cache
...
Using fstatat() allows the kernel to do relative path resolution as
opposed to absolute path resolution, which is significantly faster
and allows us to build the path cache sooner. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
801f74362e
Assistant: Use StringView more in FileProvider fuzzy matching code
...
By not allocating new String objects, the fuzzy matcher becomes a lot
faster and more responsive while typing. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
d640031214
Assistant: Use FileIconProvider for FileProvider query results
...
Instead of showing the default "folder" icon for all file results,
we now show an appropriate icon for the given file. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
513e67e2eb
Assistant: Make Result bitmaps virtual/lazy
...
Result classes now return their bitmap via a virtual Gfx::Bitmap*
getter. This effectively makes bitmap fetching lazier, since only
results that end up on screen actually get asked for their bitmap.
This drastically reduces the amount of work done by the FileProvider
background worker.
2021-07-03 20:03:53 +02:00
Timothy Flynn
27fe2b45e5
Assistant: Convert all Vector<NonnullRefPtr> to NonnullRefPtrVector
2021-07-03 15:41:35 +02:00
Timothy Flynn
d69691a26b
Assistant: Add provider to run a command in a terminal
...
Prefix text with "$" in the Assistant text box to run a command in a
forked terminal. For example, "$ top" or "$ top -s pid".
2021-07-03 15:41:35 +02:00
Edwin Hoksberg
d5dfc255ed
Assistant: Add new URLProvider to open URL's in the browser
2021-07-03 15:27:19 +02:00
Spencer Dixon
e6f0b2d817
Assistant: Add a new FileProvider to assist in searching the filesystem
...
When searching in Assistant, we now dispatch some background jobs to
query the whole filesystem. Activating a result will use the Desktop
launcher's default way of opening that file or directory.
2021-07-02 16:47:14 +02:00
Spencer Dixon
4a3958c8ae
Assistant: Remove Result::Kind in favor of native typeid
...
I was unaware of the `typeid` construct in C++ which can be used to
achieve the same thing I was doing with this extra Kind enum.
2021-07-02 16:47:14 +02:00
Spencer Dixon
609a0aa75d
Assistant: Change to home directory when spawning applications
...
When launching Terminal via Taskbar we change to the users home
directory. For consistency, let's also `chdir` to `/home/anon` when
launching apps via Assistant's AppProvider.
2021-07-02 14:16:56 +02:00
Andreas Kling
80cf8bb27c
Assistant: Use static_cast instead of dynamic_cast
...
When the type is guaranteed to be known, there's no need to use RTTI.
2021-06-30 11:44:52 +02:00
Andreas Kling
6c630437e9
Assistant: Don't add a subtitle label widget if we don't need it
2021-06-30 11:44:34 +02:00
Andreas Kling
3ecd1d603f
Assistant: Add subtitle field to the Result class
...
This allows providers to specify an appropriate subtitle instead of
making that something the UI layer has to figure out. :^)
2021-06-29 13:23:51 +02:00
Andreas Kling
9179a2ea73
Assistant: Fix crash when activating empty search result
...
If there are no search results in the list, we shouldn't do anything
when you try to active the selected result, since there isn't one.
Fix this by using an Optional<size_t> to store the selected index.
2021-06-29 13:08:21 +02:00
Spencer Dixon
b9d1ef99de
Assistant+Taskbar: Use AppFile::spawn() utility
2021-06-28 16:29:02 +02:00
Spencer Dixon
66c13edb98
Userland: Add new app called Assistant
...
'Assistant' is similar to macOS spotlight where you can quickly open a
text input, start typing, and hit 'enter' to launch apps or open
directories.
2021-06-28 16:29:02 +02:00