mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
add default permissions
This commit is contained in:
parent
089a362d73
commit
0f112b7463
3 changed files with 6 additions and 1 deletions
|
|
@ -71,6 +71,7 @@ struct rcxml {
|
||||||
enum tearing_mode allow_tearing;
|
enum tearing_mode allow_tearing;
|
||||||
bool auto_enable_outputs;
|
bool auto_enable_outputs;
|
||||||
bool reuse_output_mode;
|
bool reuse_output_mode;
|
||||||
|
uint32_t default_permissions;
|
||||||
bool xwayland_persistence;
|
bool xwayland_persistence;
|
||||||
bool primary_selection;
|
bool primary_selection;
|
||||||
char *prompt_command;
|
char *prompt_command;
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@
|
||||||
#include "config/touch.h"
|
#include "config/touch.h"
|
||||||
#include "labwc.h"
|
#include "labwc.h"
|
||||||
#include "osd.h"
|
#include "osd.h"
|
||||||
|
#include "permissions.h"
|
||||||
#include "regions.h"
|
#include "regions.h"
|
||||||
#include "ssd.h"
|
#include "ssd.h"
|
||||||
#include "translate.h"
|
#include "translate.h"
|
||||||
|
|
@ -1095,6 +1096,8 @@ entry(xmlNode *node, char *nodename, char *content)
|
||||||
set_bool(content, &rc.auto_enable_outputs);
|
set_bool(content, &rc.auto_enable_outputs);
|
||||||
} else if (!strcasecmp(nodename, "reuseOutputMode.core")) {
|
} else if (!strcasecmp(nodename, "reuseOutputMode.core")) {
|
||||||
set_bool(content, &rc.reuse_output_mode);
|
set_bool(content, &rc.reuse_output_mode);
|
||||||
|
} else if (!strcasecmp(nodename, "permission.core")) {
|
||||||
|
rc.default_permissions |= permissions_from_interface_name(content);
|
||||||
} else if (!strcasecmp(nodename, "xwaylandPersistence.core")) {
|
} else if (!strcasecmp(nodename, "xwaylandPersistence.core")) {
|
||||||
set_bool(content, &rc.xwayland_persistence);
|
set_bool(content, &rc.xwayland_persistence);
|
||||||
} else if (!strcasecmp(nodename, "primarySelection.core")) {
|
} else if (!strcasecmp(nodename, "primarySelection.core")) {
|
||||||
|
|
@ -1390,6 +1393,7 @@ rcxml_init(void)
|
||||||
rc.allow_tearing = LAB_TEARING_DISABLED;
|
rc.allow_tearing = LAB_TEARING_DISABLED;
|
||||||
rc.auto_enable_outputs = true;
|
rc.auto_enable_outputs = true;
|
||||||
rc.reuse_output_mode = false;
|
rc.reuse_output_mode = false;
|
||||||
|
rc.default_permissions = 0;
|
||||||
rc.xwayland_persistence = false;
|
rc.xwayland_persistence = false;
|
||||||
rc.primary_selection = true;
|
rc.primary_selection = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ permissions_context_create(struct wl_display *display, uint32_t permissions)
|
||||||
bool
|
bool
|
||||||
permissions_check(const struct wl_client *client, const struct wl_interface *iface)
|
permissions_check(const struct wl_client *client, const struct wl_interface *iface)
|
||||||
{
|
{
|
||||||
uint32_t permissions = permissions_get(client);
|
uint32_t permissions = permissions_get(client) | rc.default_permissions;
|
||||||
uint32_t required = permissions_from_interface_name(iface->name);
|
uint32_t required = permissions_from_interface_name(iface->name);
|
||||||
return (permissions & required) == required;
|
return (permissions & required) == required;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue