xrdp, X11rdp and X11RDP-o-Matic

X11RDP-o-Matic Version 3 Now Released
GitHub: X11RDP-o-Matic

**********************************************************************

 Done. The new package has been installed and saved to

 /root/Downloads/X11RDP-o-Matic/packages/xrdp//xrdp_0.7.0-1_amd64.deb

 You can remove it from your system anytime using:

      dpkg -r xrdp

**********************************************************************
Selecting previously unselected package x11rdp.
(Reading database ... 161218 files and directories currently installed.)
Unpacking x11rdp (from .../Xorg/x11rdp_0.7.0-1_amd64.deb) ...
Setting up x11rdp (0.7.0-1) ...
(Reading database ... 174238 files and directories currently installed.)
Preparing to replace xrdp 0.7.0-1 (using .../xrdp/xrdp_0.7.0-1_amd64.deb) ...
Unpacking replacement xrdp ...
Setting up xrdp (0.7.0-1) ...
Processing triggers for man-db ...
update-rc.d: using dependency based boot sequencing
insserv: script sedqp6v5P: service xrdp already provided!
[ ok ] Starting Remote Desktop Protocol server : xrdp sesman.
X11rdp and xrdp should now be fully installed, configured, and running on this system. One last thing to do now is to configure which desktop will be presented to the user after they log in via RDP. Use the RDPsesconfig utility to do this.

GTK+ Container Superclass

Description

  • Container widgets are the inner nodes in the resulting tree of widgets: they contain other widgets.
  • There are two major kinds of container widgets in GTK+.
    • The first type of container widget has a single child widget and derives from GtkBin. These containers are decorators, which add some kind of functionality to the child.
    • The second type of container can have more than one child; its purpose is to manage layout. This means that these containers assign (= zuweisen, bestimmen) sizes and positions to their children.

GtkContainer: Description

Child properties

  • GtkContainer introduces child properties. These are object properties that are not specific to either the container or the contained widget, but rather to their relation.

GtkContainer: Child properties

Border

  • The border is added on all sides of the container.
  • To add space to only one side, one approach is to create a GtkAlignment widget, call gtk_widget_set_size_request() to give it a size, and place it on the side of the container as a spacer.

gtk_container_set_border_width()

GTK+ Widget Size

Height-for-width Geometry Management

GtkWidget

gtk_widget_set_size_request()
gtk_widget_size_request() (deprecated)
gtk_widget_get_preferred_size()
gtk_distribute_natural_allocation()
struct GtkRequestedSize
gtk_widget_get_allocation()
gtk_widget_size_allocate()

GtkWindow

gtk_window_set_default_size()
tk_window_set_default_geometry()
gtk_window_set_geometry_hints()

Forum

Totally fed-up with get Gtk widget height and width
Maximum Size?
GTK Widget Size (actual size, not requested size)

Set Windows Geometry

Gtk: Forbid vertical resize of GtkWindow
How to reset geometry hints made with gtk_window_set_geometry_hints
struct GdkGeometry
enum GdkWindowHints

GTK+ Resource Files

#include <gtk/gtk.h>

int
main(gint argc, gchar **argv)
{
    GtkWidget *window;
    GtkPaned  *paned;

    gtk_init(&argc, &argv);

    gtk_rc_parse_string("style 'my_style' {\n"
                        "    GtkPaned::handle-size = 200\n"
                        " }\n"
                        "widget '*' style 'my_style'");

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    paned = (GtkPaned *) gtk_hpaned_new();
    gtk_paned_add1(paned, gtk_label_new("left"));
    gtk_paned_add2(paned, gtk_label_new("right"));

    gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(paned));

    gtk_widget_show_all(window);
    gtk_main();

    return 0;
}

change gtk.Paned handle size

GtkPaned and the “notify::position” Signal

“You can connect to “notify::position” signal.”
How to be informed when gtk.paned slider’s position changed?

“That’s the notify signal of GObject. You can use it to be notified when the property of a gobject changes.”
Re: VPaned move events

GObject Documentation

The GObject “notify” signal
g_object_notify()
GParamSpec / struct GParamSpec
gtk_container_child_notify()

Signal Callback

GObject Brain Dump