wlmaker
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
server.h File Reference
#include <libbase/libbase.h>
#include <libbase/plist.h>
#include <stdbool.h>
#include <stdint.h>
#include <wayland-server-core.h>
#include <xkbcommon/xkbcommon.h>
#include <wlr/backend.h>
#include <wlr/types/wlr_data_device.h>
#include <wlr/types/wlr_seat.h>
#include "backend/backend.h"
#include "config.h"
#include "corner.h"
#include "cursor.h"
#include "icon_manager.h"
#include "idle.h"
#include "layer_shell.h"
#include "lock_mgr.h"
#include "root_menu.h"
#include "subprocess_monitor.h"
#include "toolkit/toolkit.h"
#include "xdg_decoration.h"
#include "xdg_shell.h"
#include "xwl.h"
Include dependency graph for server.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wlmaker_server_options_t
 
struct  _wlmaker_server_t
 
struct  _wlmaker_key_combo_t
 

Typedefs

typedef struct _wlmaker_server_t wlmaker_server_t
 
typedef struct _wlmaker_key_combo_t wlmaker_key_combo_t
 
typedef struct _wlmaker_key_binding_t wlmaker_key_binding_t
 
typedef bool(* wlmaker_keybinding_callback_t) (const wlmaker_key_combo_t *kc)
 

Functions

wlmaker_server_twlmaker_server_create (bspl_dict_t *config_dict_ptr, const wlmaker_server_options_t *options_ptr)
 
void wlmaker_server_destroy (wlmaker_server_t *server_ptr)
 
wlmaker_key_binding_twlmaker_server_bind_key (wlmaker_server_t *server_ptr, const wlmaker_key_combo_t *key_combo_ptr, wlmaker_keybinding_callback_t callback)
 
void wlmaker_server_unbind_key (wlmaker_server_t *server_ptr, wlmaker_key_binding_t *key_binding_ptr)
 
bool wlmaker_keyboard_process_bindings (wlmaker_server_t *server_ptr, xkb_keysym_t keysym, uint32_t modifiers)
 
void wlmaker_server_activate_task_list (wlmaker_server_t *server_ptr)
 
void wlmaker_server_deactivate_task_list (wlmaker_server_t *server_ptr)
 
struct wlr_output * wlmaker_server_get_output_at_cursor (wlmaker_server_t *server_ptr)
 

Variables

const uint32_t wlmaker_modifier_default_mask
 
const bs_test_case_t wlmaker_server_test_cases []
 

Detailed Description

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Typedef Documentation

◆ wlmaker_key_binding_t

Handle for a key binding.

◆ wlmaker_key_combo_t

A key combination.

◆ wlmaker_keybinding_callback_t

typedef bool(* wlmaker_keybinding_callback_t) (const wlmaker_key_combo_t *kc)

Callback for a key binding.

Parameters
kcThe key combo that triggered the callback.
Returns
true if the key can be considered "consumed".

◆ wlmaker_server_t

A handle for a wlmaker server.

Function Documentation

◆ wlmaker_keyboard_process_bindings()

bool wlmaker_keyboard_process_bindings ( wlmaker_server_t server_ptr,
xkb_keysym_t  keysym,
uint32_t  modifiers 
)

Processes key bindings: Call back if a matching binding is found.

Parameters
server_ptr
keysym
modifiers
Returns
true if a binding was found AND the callback returned true.

◆ wlmaker_server_activate_task_list()

void wlmaker_server_activate_task_list ( wlmaker_server_t server_ptr)

Activates the task list.

Parameters
server_ptr

◆ wlmaker_server_bind_key()

wlmaker_key_binding_t * wlmaker_server_bind_key ( wlmaker_server_t server_ptr,
const wlmaker_key_combo_t key_combo_ptr,
wlmaker_keybinding_callback_t  callback 
)

Binds a particular key to a callback.

Parameters
server_ptr
key_combo_ptr
callback
Returns
The key binding handle or NULL on error.

◆ wlmaker_server_create()

wlmaker_server_t * wlmaker_server_create ( bspl_dict_t *  config_dict_ptr,
const wlmaker_server_options_t options_ptr 
)

Creates the server and initializes all needed sub-modules.

Parameters
config_dict_ptrConfiguration, as dictionary object. The server will keep a reference on it until destroyed.
options_ptrOptions for the server. The server expects the pointed area to outlive the server.
Returns
The server handle or NULL on failure. The handle must be freed by calling wlmaker_server_destroy().

◆ wlmaker_server_deactivate_task_list()

void wlmaker_server_deactivate_task_list ( wlmaker_server_t server_ptr)

De-activates the task list.

Parameters
server_ptr

◆ wlmaker_server_destroy()

void wlmaker_server_destroy ( wlmaker_server_t server_ptr)

Destroys the server handle, as created by wlmaker_server_create().

Parameters
server_ptr

◆ wlmaker_server_get_output_at_cursor()

struct wlr_output * wlmaker_server_get_output_at_cursor ( wlmaker_server_t server_ptr)

Looks up which output serves the current cursor coordinates and returns that.

Parameters
server_ptr
Returns
Pointer to the output at the seat's cursor position.

◆ wlmaker_server_unbind_key()

void wlmaker_server_unbind_key ( wlmaker_server_t server_ptr,
wlmaker_key_binding_t key_binding_ptr 
)

Releases a key binding.

See also
wlmaker_bind_key.
Parameters
server_ptr
key_binding_ptr

Variable Documentation

◆ wlmaker_modifier_default_mask

const uint32_t wlmaker_modifier_default_mask
extern

All modifiers to use by default.

◆ wlmaker_server_test_cases

const bs_test_case_t wlmaker_server_test_cases[]
extern

Unit test cases.

Test cases for the server.