mirror of
https://github.com/swaywm/sway.git
synced 2026-04-18 06:46:56 -04:00
Merge ee75c1ec1c into 6e4ccb99c3
This commit is contained in:
commit
9e41a00a7d
5 changed files with 50 additions and 2 deletions
|
|
@ -148,4 +148,8 @@ void handle_output_power_manager_set_mode(struct wl_listener *listener,
|
||||||
|
|
||||||
struct sway_output_non_desktop *output_non_desktop_create(struct wlr_output *wlr_output);
|
struct sway_output_non_desktop *output_non_desktop_create(struct wlr_output *wlr_output);
|
||||||
|
|
||||||
|
const char *sway_render_format_to_string(uint32_t render_format);
|
||||||
|
|
||||||
|
int sway_render_format_to_bit_depth(uint32_t render_format);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -410,6 +410,33 @@ static bool output_config_is_disabling(struct output_config *oc) {
|
||||||
return oc && (!oc->enabled || oc->power == 0);
|
return oc && (!oc->enabled || oc->power == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sway_render_format_to_bit_depth(uint32_t render_format) {
|
||||||
|
switch (render_format) {
|
||||||
|
case DRM_FORMAT_XRGB2101010:
|
||||||
|
case DRM_FORMAT_XBGR2101010:
|
||||||
|
return 10;
|
||||||
|
case DRM_FORMAT_XRGB8888:
|
||||||
|
return 8;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *sway_render_format_to_string(uint32_t render_format) {
|
||||||
|
switch (render_format) {
|
||||||
|
case DRM_FORMAT_XRGB2101010:
|
||||||
|
return "XRGB2101010";
|
||||||
|
case DRM_FORMAT_XBGR2101010:
|
||||||
|
return "XBGR2101010";
|
||||||
|
case DRM_FORMAT_XRGB8888:
|
||||||
|
return "XRGB8888";
|
||||||
|
case DRM_FORMAT_INVALID:
|
||||||
|
return "INVALID";
|
||||||
|
default:
|
||||||
|
return "UNKNOWN";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void queue_output_config(struct output_config *oc,
|
static void queue_output_config(struct output_config *oc,
|
||||||
struct sway_output *output, struct wlr_output_state *pending) {
|
struct sway_output *output, struct wlr_output_state *pending) {
|
||||||
if (output == root->fallback_output) {
|
if (output == root->fallback_output) {
|
||||||
|
|
|
||||||
|
|
@ -688,6 +688,13 @@ void ipc_client_handle_command(struct ipc_client *client, uint32_t payload_lengt
|
||||||
|
|
||||||
const char *subpixel = sway_wl_output_subpixel_to_string(output->wlr_output->subpixel);
|
const char *subpixel = sway_wl_output_subpixel_to_string(output->wlr_output->subpixel);
|
||||||
json_object_object_add(output_json, "subpixel_hinting", json_object_new_string(subpixel));
|
json_object_object_add(output_json, "subpixel_hinting", json_object_new_string(subpixel));
|
||||||
|
|
||||||
|
const char *render_format = sway_render_format_to_string(output->wlr_output->render_format);
|
||||||
|
json_object_object_add(output_json, "render_format", json_object_new_string(render_format));
|
||||||
|
|
||||||
|
const int bit_depth = sway_render_format_to_bit_depth(output->wlr_output->render_format);
|
||||||
|
json_object_object_add(output_json, "render_bit_depth", json_object_new_int(bit_depth));
|
||||||
|
|
||||||
json_object_array_add(outputs, output_json);
|
json_object_array_add(outputs, output_json);
|
||||||
}
|
}
|
||||||
struct sway_output *output;
|
struct sway_output *output;
|
||||||
|
|
|
||||||
|
|
@ -225,7 +225,13 @@ following properties:
|
||||||
: The scale currently in use on the output or _-1_ for disabled outputs
|
: The scale currently in use on the output or _-1_ for disabled outputs
|
||||||
|- subpixel_hinting
|
|- subpixel_hinting
|
||||||
: string
|
: string
|
||||||
: The subpixel hinting current in use on the output. This can be _rgb_, _bgr_, _vrgb_, _vbgr_, or _none_
|
: The subpixel hinting currently in use on the output. This can be _rgb_, _bgr_, _vrgb_, _vbgr_, or _none_
|
||||||
|
|- render_bit_depth
|
||||||
|
: integer
|
||||||
|
: The render bit depth currently in use on the output.
|
||||||
|
|- render_format
|
||||||
|
: string
|
||||||
|
: The render format currently in use on the output.
|
||||||
|- transform
|
|- transform
|
||||||
: string
|
: string
|
||||||
: The transform currently in use for the output. This can be _normal_, _90_,
|
: The transform currently in use for the output. This can be _normal_, _90_,
|
||||||
|
|
@ -258,6 +264,7 @@ following properties:
|
||||||
"primary": false,
|
"primary": false,
|
||||||
"scale": 1.0,
|
"scale": 1.0,
|
||||||
"subpixel_hinting": "rgb",
|
"subpixel_hinting": "rgb",
|
||||||
|
"render_format": "XRGB8888",
|
||||||
"transform": "normal",
|
"transform": "normal",
|
||||||
"current_workspace": "1",
|
"current_workspace": "1",
|
||||||
"modes": [
|
"modes": [
|
||||||
|
|
|
||||||
|
|
@ -193,13 +193,14 @@ static void pretty_print_output(json_object *o) {
|
||||||
json_object_object_get_ex(o, "current_workspace", &ws);
|
json_object_object_get_ex(o, "current_workspace", &ws);
|
||||||
json_object_object_get_ex(o, "non_desktop", &non_desktop);
|
json_object_object_get_ex(o, "non_desktop", &non_desktop);
|
||||||
json_object *make, *model, *serial, *scale, *scale_filter, *subpixel,
|
json_object *make, *model, *serial, *scale, *scale_filter, *subpixel,
|
||||||
*transform, *max_render_time, *adaptive_sync_status;
|
*bit_depth, *transform, *max_render_time, *adaptive_sync_status;
|
||||||
json_object_object_get_ex(o, "make", &make);
|
json_object_object_get_ex(o, "make", &make);
|
||||||
json_object_object_get_ex(o, "model", &model);
|
json_object_object_get_ex(o, "model", &model);
|
||||||
json_object_object_get_ex(o, "serial", &serial);
|
json_object_object_get_ex(o, "serial", &serial);
|
||||||
json_object_object_get_ex(o, "scale", &scale);
|
json_object_object_get_ex(o, "scale", &scale);
|
||||||
json_object_object_get_ex(o, "scale_filter", &scale_filter);
|
json_object_object_get_ex(o, "scale_filter", &scale_filter);
|
||||||
json_object_object_get_ex(o, "subpixel_hinting", &subpixel);
|
json_object_object_get_ex(o, "subpixel_hinting", &subpixel);
|
||||||
|
json_object_object_get_ex(o, "render_bit_depth", &bit_depth);
|
||||||
json_object_object_get_ex(o, "transform", &transform);
|
json_object_object_get_ex(o, "transform", &transform);
|
||||||
json_object_object_get_ex(o, "max_render_time", &max_render_time);
|
json_object_object_get_ex(o, "max_render_time", &max_render_time);
|
||||||
json_object_object_get_ex(o, "adaptive_sync_status", &adaptive_sync_status);
|
json_object_object_get_ex(o, "adaptive_sync_status", &adaptive_sync_status);
|
||||||
|
|
@ -231,6 +232,7 @@ static void pretty_print_output(json_object *o) {
|
||||||
" Scale factor: %f\n"
|
" Scale factor: %f\n"
|
||||||
" Scale filter: %s\n"
|
" Scale filter: %s\n"
|
||||||
" Subpixel hinting: %s\n"
|
" Subpixel hinting: %s\n"
|
||||||
|
" Render bit depth: %d\n"
|
||||||
" Transform: %s\n"
|
" Transform: %s\n"
|
||||||
" Workspace: %s\n",
|
" Workspace: %s\n",
|
||||||
json_object_get_string(name),
|
json_object_get_string(name),
|
||||||
|
|
@ -246,6 +248,7 @@ static void pretty_print_output(json_object *o) {
|
||||||
json_object_get_double(scale),
|
json_object_get_double(scale),
|
||||||
json_object_get_string(scale_filter),
|
json_object_get_string(scale_filter),
|
||||||
json_object_get_string(subpixel),
|
json_object_get_string(subpixel),
|
||||||
|
json_object_get_int(bit_depth),
|
||||||
json_object_get_string(transform),
|
json_object_get_string(transform),
|
||||||
json_object_get_string(ws)
|
json_object_get_string(ws)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue