Commit Graph

1034 Commits

Author SHA1 Message Date
Norman Feske
9823b7dbd0 gui_session: remove C++ exceptions
To maintain ease of use at the client side, the OUT_OF_RAM and
OUT_OF_CAPS results are handled at the 'Gui::Connection' now.

Gui::Connection does not inherit the Gui::Session interface any longer,
which allows for the use of different result types.

Issue #5242
Issue #5245
2024-08-27 15:29:37 +02:00
Norman Feske
1c148c7984 gui_session.h: distinguish child-view creation
This patch replaces the optional parent argument of the create_view
RPC function by a dedicated create_child_view RPC function. This
is a preparatory step of removing the notion of an invalid handle
as a special case.

Issue #5242
2024-08-27 15:29:37 +02:00
Josef Söntgen
572d406d66 sculpt_manager: remove inactive use_11n attribute
This is a follow-up commit to #4506 where the inactive 'use_11n'
attribute was already removed.

Issue #5262.
2024-08-27 15:29:37 +02:00
Josef Söntgen
978e82e893 sculpt_manager: enable updating of wifi quality
The 'update_quality_interval' instructs the wifi driver to update
the approximated link quality to the currently connected AP every
30 seconds.

Issue #5262.
2024-08-27 15:29:37 +02:00
Martin Stein
af78376627 tresor: add readme file
Fix #5311
2024-08-27 15:29:36 +02:00
Johannes Schlatow
86848d2868 sculpt: add debug monitor to goa testbed
This also adds policies and domains to the nic router config for gdb and
vnc.

Fixes #5293
2024-08-27 15:24:20 +02:00
Christian Prochaska
6acfe8a41e wm: forward mode change signal to viewless clients
Fixes #5284
2024-08-27 15:24:20 +02:00
Johannes Schlatow
5bc6c9f2d0 tcp_terminal: fix destruction of Open_socket
The socket API close() must be called within a libc context. Moreover,
the socket for listening needs to be closed as well.

Fixes #5270
2024-08-27 15:24:20 +02:00
Sebastian Sumpf
cfe27e07de themed_decorator: use TAR_OPT for archive
This commit produces a consistent tar archive.

issue #5255
2024-07-02 12:00:11 +02:00
Norman Feske
19c13877ca Replace use of 'typedef' by 'using'
Issue #5227
2024-07-02 12:00:11 +02:00
Norman Feske
0105494223 Rework Region_map interface
- Remove exceptions
- Use 'Attr' struct for attach arguments
- Let 'attach' return 'Range' instead of 'Local_addr'
- Renamed 'Region_map::State' to 'Region_map::Fault'

Issue #5245
Fixes #5070
2024-07-02 11:59:16 +02:00
Norman Feske
d866b6b053 Remove exceptions from Cpu_session interface
The 'Thread_creation_failed' error is now reflected as
'Thread::Start_result' return value. This change also removes the
use of 'Invalid_thread' within core as this exception is an alias
of Cpu_session::Thread_creation_failed.

Issue #5245
2024-07-02 11:59:16 +02:00
Norman Feske
14d3c4cb5e Remove Cpu_session::State_access_failed exception
This patch removes the exception formerly thrown by 'Cpu_thread::state'
and turns the 'Thread_state' structure into a plain compound type w/o a
constructor.

Issue #5245
Fixes #5250
2024-06-20 12:56:20 +02:00
Johannes Schlatow
16b863fc6e tool/run: use xmlcatalog for xsd file paths
With libxml2 >= 2.13, the `-path` argument can no longer be used for
setting search paths for xsd files. Instead, we use an XML catalog to
replace genode:// URIs with absolute paths.

Fixes #5248
2024-06-20 12:56:20 +02:00
Norman Feske
a52c2ce141 Remove exceptions from TRACE session interface
- Use attempt pattern for error handling
- Replace lookup of pointers by with_ pattern
- Remove virtual Trace::Session methods
- Merge client.h into connection.h
- Update coding style of test/trace

Issue #5245
2024-06-20 12:56:19 +02:00
Norman Feske
7de2f57ef2 Remove Xml_node::attribute accessors
This patch removes the two 'Xml_node::attribute' accessors along with
the 'Nonexistent_attribute' exception.

Issue #5245
Fixes #5246
2024-06-20 12:56:19 +02:00
Norman Feske
b9594c2ae8 gui_session,nitpicker,testnit: update coding style
- Replace 'typedef' by 'using'
- Avoid plain pointers
- Import Genode namespace into Gui::
- Use enum class
- Use Attr struct for passing multiple attributes
- Turn testnit into proper Genode::Component
  - Use distinct types for top-level and child views
  - Remove dependency from timer
  - Use util/geometry.h
2024-06-20 12:54:30 +02:00
Christian Prochaska
06d098052f qt5: adapt to C++20 API changes
Issue #5227
Issue #5239
2024-06-20 12:54:30 +02:00
Norman Feske
b11116088a cpu_load_display: enable strict conversions
Besides raising the warning level, the patch updates the coding style
('with_' pattern, using, type safety, constness).
2024-06-20 12:54:30 +02:00
Norman Feske
c629c54153 Make util/geometry.h C++20 friendly
- Move header to base/include to make it applicable for base types
  like 'Affinity' down the road.
- Represent 'Rect' as typle of point and area, which is the most
  common form of initialization, creates in valid 'Rect' by default.
- Turn Point, Area, and Rect into compound types, making x, y, w, h, at,
  area accessible without a method call
- 'Rect::Compound' function for constructing a 'Rect' from two points,
  replacing a former constructor
- Use result type 'Rect::Cut_remainder' instead of out parameters.

Fixes #5239
2024-06-20 12:54:30 +02:00
Norman Feske
bb06d879aa os: make 'Genode::Color' C++20 friendly
This patch turns 'Color' from a class to a POD type by replacing
the constructors by the named create functions 'rgb', 'clamped_rgb',
and 'clamped_rgba'. It thereby enables the initialization of Color
values using { .r = ... } syntax and makes the type usable in const
expressions.

It also narrows the type for color components and alpha values to
uint8_t. So possible integer overflows of computed values are detected
by -Wconversion.

As 'Color::rgb(0, 0, 0)' is repeatedly used as a default value, the
patch adds the 'Color::black()' function.

Fixes #5238
2024-06-20 12:54:30 +02:00
Norman Feske
8943a3e949 Remove '_drv' suffix
Issue #4420
2024-06-20 12:54:30 +02:00
Norman Feske
eca864175c Remove Gui::Session::session_control
This functionality has long been superseded by the window
manager/layouter.

Fixes #5160
2024-06-20 12:54:29 +02:00
Martin Stein
99c9909508 file_vault: update README 2024-05-29 09:18:49 +02:00
Martin Stein
4ac5fde7c2 file_vault_gui: add a README 2024-05-29 09:18:49 +02:00
Johannes Schlatow
b793802333 sculpt: fix presence of unconfigured children
A launched child only becomes present in the runtime when it has been
configured. This must be considered when checking for missing servers.

Fixes genodelabs/genode#5226
2024-05-29 09:18:12 +02:00
Alexander Boettcher
dc4dad4608 sculpt_manager: add ahci to monitored used devices
for suspend/resume

Issue #5203
2024-05-07 16:46:21 +02:00
Norman Feske
101e9f5733 vfs/oss/README: oss_next -> oss
Issue #5167
2024-05-02 11:19:50 +02:00
Norman Feske
50b87957db sculpt: improve GUI smoothness on PinePhone
- Avoid geometry animation at boot time
- Assign CPU quantum to higher prioritized GUI components
- Defer touch_keyboard start to reduce boot time

Issue #5174
2024-05-02 11:19:50 +02:00
Norman Feske
b1df5d890e sculpt: update graph abbreviations to 24.04
Issue #5174
2024-05-02 11:19:49 +02:00
Stefan Kalkowski
18511770bc sculpt: add support for more than one mmc card
Instead of using one default policy when creating an mmc driver's
configuration, produce some more static policy items to support
boards with more than one card per driver (mnt_reform2).
2024-05-02 11:19:49 +02:00
Florian Delizy
1146f27c59 sculpt: add menu name for Bepo keyboard layout
issue #5202
2024-05-02 11:19:49 +02:00
Christian Helmuth
3a0ded3bdd window_layouter: calculate weighted dimension in double
The change prevents integer overflows with reasonable large values.

Thanks Peter for reporting.
2024-04-29 16:08:56 +02:00
Christian Helmuth
fc27469b97 sculpt: remap KEY_SYSRQ to KEY_PRINT
Both keys are physically the same on available keyboards (with varying
labeling). Unfortunately, PS/2 scancode sets and USB HID spec seem to
differ slightly in their interpretation. Therefore, we keep the
driver-level reporting as is but report both as KEY_PRINT in Sculpt,
which allows to use the key(s) for screenshoter rules most prominently.

Also, unify sculpt/event_filter/pc with sculpt_manager.
2024-04-29 15:31:20 +02:00
Benjamin Lamowski
820a144f6d sculpt: adjust RAM for inspect window
With the current RAM setting, opening the inspect window fails on a
display with 4K resolution.
Adjust the inspect window's RAM quota to make it work.

Issue #5174
2024-04-26 07:39:25 +02:00
Christian Helmuth
b085550a0c sculpt: fix menu-level check in popup dialog
Issue #5174
2024-04-25 15:43:02 +02:00
Norman Feske
1379661a85 sculpt/event_filter: rename touch -> touchpad
This eases the integration of a custom touchpad driver component
provided as launcher.

Issue #5174
2024-04-25 15:43:02 +02:00
Martin Stein
50fc5c6d42 file_vault: further reduce typical quota needs
Ref #5190
2024-04-25 15:43:02 +02:00
Martin Stein
d5e3f73884 file_vault: do not consider ui_config version
The version in ui_report and ui_config were merely used for making test output
more readable. However, there are other ways to achieve this goal.

Ref #5190
2024-04-25 15:43:02 +02:00
Martin Stein
2bcc85b5f5 file_vault: fix locking issue
The File Vault used to sporadically fail to complete Extend or Rekey operations
when it was locked during the operation. The cause was an insufficient state
model that has been fixed with this commit.

Ref #5190
2024-04-25 15:43:02 +02:00
Martin Stein
969469edef file_vault: clean up
Ref #5190
2024-04-25 15:43:02 +02:00
Martin Stein
a7ef2319f6 file_vault: remove need for state file
The state file is a legacy from the early days of the file vault and not really
needed anymore.

Ref #5190
2024-04-25 15:43:02 +02:00
Martin Stein
483fe18c4d file_vault_gui: dialog-based file_vault front end
* adds rekeying and resizing controls to config+report api of file vault
* moves common types of file vault to file_vault/include/file_vault/types.h
  to be included by other components
* fixes wrong type of nr_of_clients fields in file_vault
* introduces the file_vault_gui component that is a minimal graphical front end
  for the file vault based on the dialog lib and that uses the
  config+report api of the file vault as back end

Ref #5190
2024-04-25 15:43:02 +02:00
Martin Stein
9d78356885 text_area: remove unused min_width, min_height 2024-04-25 15:43:02 +02:00
Norman Feske
b75b40049d sculpt: rename suspend -> standby
Issue #5174
2024-04-25 15:43:01 +02:00
Norman Feske
d3d1e701a4 sculpt: refine scrolling boundaries
This patch addresses corner cases not considered so far. In particular,
it avoids placing the Add/Options tabs of an unscrollable popup under
the panel. This could happen in the presence of many options. The patch
includes the panel height into the calculation to rule out such
situations. It also tightens the scrolling boundaries to the visible
content.

Issue #5183
2024-04-25 15:43:01 +02:00
Norman Feske
b939358c36 window_layouter: protect against mode 1 x 1
This patch handles intermediate situations where the screen mode may
become 1 x 1 (absence of any capture clients). In this case, the
decoration of a maximized window would legitimately exceed the screen
boundary.

Thanks Johannes for the investigation.

Issue #5187
Issue #5180
2024-04-25 15:43:01 +02:00
Alexander Boettcher
f925680035 sculpt_manager: avoid restarting intel_gpu
during resume, which otherwise will restart all GPU clients.

Issue #5180
2024-04-25 15:43:01 +02:00
Alexander Boettcher
274a733e1a sculpt: support blanking system state
The blanking state is evaluated by the intel_fb driver, which will switch
off all connectors. When done, the intel_fb driver will exit and the
sculpt_manager will continue with the next step, stopping all drivers.

Issue #5180
2024-04-25 15:43:01 +02:00
Stefan Kalkowski
5f67073aad sculpt: add missing pieces to support MNT reform
This commit adds missing routes to I2c for the framebuffer driver of the
MNT Reform. If build for this concrete board the Board_info::Soc variable
within the sculpt_manager is initialized according to the properties of
this device. The `update_soc` routine is called in the initialization of
the sculpt_manager, otherwise it won't be called at all, if no PCI devices
changes are detected. Missing driver binaries and device-tree-binaries are
add to the run-script.

Issue #5174
2024-04-25 15:43:01 +02:00