wlmaker
Loading...
Searching...
No Matches
iconified.h File Reference
#include "server.h"
#include "view.h"
#include <libbase/libbase.h>
#include <wlr/types/wlr_scene.h>
Include dependency graph for iconified.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct _wlmaker_iconified_t wlmaker_iconified_t
 
typedef struct _wlmaker_dockapp_iconified_t wlmaker_dockapp_iconified_t
 

Functions

wlmaker_iconified_twlmaker_iconified_create (wlmaker_view_t *view_ptr)
 
void wlmaker_iconified_destroy (wlmaker_iconified_t *iconified_ptr)
 
wlmaker_view_twlmaker_view_from_iconified (wlmaker_iconified_t *iconified_ptr)
 
void wlmaker_iconified_set_position (wlmaker_iconified_t *iconified_ptr, uint32_t x, uint32_t y)
 
bs_dllist_node_t * wlmaker_dlnode_from_iconified (wlmaker_iconified_t *iconified_ptr)
 
bs_avltree_node_t * wlmaker_avlnode_from_iconified (wlmaker_iconified_t *iconified_ptr)
 
wlmaker_iconified_twlmaker_iconified_from_dlnode (bs_dllist_node_t *dlnode_ptr)
 
struct wlr_scene_node * wlmaker_wlr_scene_node_from_iconified (wlmaker_iconified_t *iconified_ptr)
 
struct wlr_scene_node * wlmaker_wlr_scene_node_from_iconified_scene_buffer (wlmaker_iconified_t *iconified_ptr)
 
wlmaker_dockapp_iconified_twlmaker_dockapp_iconified_create (wlmaker_server_t *server_ptr)
 
void wlmaker_dockapp_iconified_destroy (wlmaker_dockapp_iconified_t *dai_ptr)
 
wlmaker_iconified_twlmaker_iconified_from_dockapp (wlmaker_dockapp_iconified_t *dai_ptr)
 
void wlmaker_dockapp_iconified_attach (wlmaker_dockapp_iconified_t *dai_ptr, struct wlr_surface *wlr_surface_ptr)
 

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.

TODO: Interface for wlmaker_iconified_t. An iconified is the representation for an iconified view (An XDG toplevel or an Xwayland ... surface?).

The "iconified" can be created from a wlmaker_view_t. Following properties:

  • position get_position and set_position
  • scene node (or tree?)
  • workspace (that it is shown on) => this should probably be an "tile_holder" (dock, clip, drawer, icon-area)

tile_set, tile_container

Note: An "iconified" should be derived from a "tile". Whereas a tile always has a background and edge. As in WM. Note: A 'tile' is also an interactive, since it can be clicked. And we may pass other events along to it. => The ability to hold multiple "interactives" is a shared property between a view and the tile_container (and other layer elements).

[parent] (view, container, layer element) +--> view +--> xdg toplevel +--> x11? (we should check xwayland, maybe it's not?) +--> layer element +--> tile container (we keep this on layers only)

[interactive] (handlers for enter/leave/motion/focus/button) +--> tile (oh, the tile is an interactive already!) (but, should be merged/migrated to app (app launcher). +--> iconified +--> app (launcher) +--> clip +--> (optionally later: drawer => open a tile container) +--> menu +--> (window) button +--> resizebar +--> titlebar

As for current status: -> see if the iconified can be hacked as an interactive, and make use of the (tile container's) view for event forwarding. (should be OK with the interactive being a scene buffer directly)

Typedef Documentation

◆ wlmaker_dockapp_iconified_t

◆ wlmaker_iconified_t

Forward declaration of the iconified.

Function Documentation

◆ wlmaker_avlnode_from_iconified()

bs_avltree_node_t * wlmaker_avlnode_from_iconified ( wlmaker_iconified_t * iconified_ptr)

Conversion: Gets a pointer to the avlnode of the iconified's interactive.

Parameters
iconified_ptr
Returns
Pointer.

◆ wlmaker_dlnode_from_iconified()

bs_dllist_node_t * wlmaker_dlnode_from_iconified ( wlmaker_iconified_t * iconified_ptr)

Conversion: Gets a pointer to the dlnode of the iconified

Parameters
iconified_ptr
Returns
Pointer.

◆ wlmaker_dockapp_iconified_attach()

void wlmaker_dockapp_iconified_attach ( wlmaker_dockapp_iconified_t * dai_ptr,
struct wlr_surface * wlr_surface_ptr )

Attaches the surface to the dockapp.

Prototype: Attaches a surface to the DockApp.

◆ wlmaker_dockapp_iconified_create()

wlmaker_dockapp_iconified_t * wlmaker_dockapp_iconified_create ( wlmaker_server_t * server_ptr)

Creates the iconified dockapp.

Prototype: Creates an iconified as DockApp.

◆ wlmaker_dockapp_iconified_destroy()

void wlmaker_dockapp_iconified_destroy ( wlmaker_dockapp_iconified_t * dai_ptr)

Destroys the iconified dockapp.

Prototype: Destroys the iconified as DockApp.

◆ wlmaker_iconified_create()

wlmaker_iconified_t * wlmaker_iconified_create ( wlmaker_view_t * view_ptr)

Creates an iconified, ie. a minimized representation of view_ptr.

Parameters
view_ptr

◆ wlmaker_iconified_destroy()

void wlmaker_iconified_destroy ( wlmaker_iconified_t * iconified_ptr)

Destroys the iconified.

Parameters
iconified_ptr

◆ wlmaker_iconified_from_dlnode()

wlmaker_iconified_t * wlmaker_iconified_from_dlnode ( bs_dllist_node_t * dlnode_ptr)

Conversion: Returns the iconified, given a pointer to it's dlnode.

Parameters
dlnode_ptr
Returns
Pointer.

◆ wlmaker_iconified_from_dockapp()

wlmaker_iconified_t * wlmaker_iconified_from_dockapp ( wlmaker_dockapp_iconified_t * dai_ptr)

Gets the iconified from the dockapp.

Prototype: Gets the iconified from the DockApp.

◆ wlmaker_iconified_set_position()

void wlmaker_iconified_set_position ( wlmaker_iconified_t * iconified_ptr,
uint32_t x,
uint32_t y )

Sets the position of the iconified, relative to the tile container.

Parameters
iconified_ptr
x
y

◆ wlmaker_view_from_iconified()

wlmaker_view_t * wlmaker_view_from_iconified ( wlmaker_iconified_t * iconified_ptr)

Conversion: Retrieves the wlmaker_view_t represented by this iconified.

Parameters
iconified_ptr
Returns
Pointer to the view.

◆ wlmaker_wlr_scene_node_from_iconified()

struct wlr_scene_node * wlmaker_wlr_scene_node_from_iconified ( wlmaker_iconified_t * iconified_ptr)

Conversion: Lookups up the scene node of the iconified's interactive.

Parameters
iconified_ptr
Returns
Pointer.

◆ wlmaker_wlr_scene_node_from_iconified_scene_buffer()

struct wlr_scene_node * wlmaker_wlr_scene_node_from_iconified_scene_buffer ( wlmaker_iconified_t * iconified_ptr)

Conversion: Gets the scene node from the scene buffer.

TODO(kaese.nosp@m.r@gu.nosp@m.bbe.c.nosp@m.h): Remove, once the dockapp prototype is cleaned up.

Parameters
iconified_ptr
Returns
Pointer.