RE: Moving non decorated window using code.





-----Original Message-----

I have a GTKWindow that I have created and then afterwards attempted
to move using gtk_window_move(), I have the window set so that if I
click on it it toggles the window's decorations, the default being
none. For production I wish to have the window have no  decorations,
but If I configure the window in that manner I it won't move. It is an
odd occurance considering alt-dragging still functions.

Does anyone have any suggestions on how to move the window? Should I
attempt with libwnck (unstable I read)?

Thanks for any advice.

-- Dan


------------------------------
hi Dan,
For moving a window without decoration,you can use a eventbox to catch the
event for dragging.Add a callback fn(Suppose on_drag) to that event box for
button_press_event,button_release_event,motion_notify_event.In the callback
u can use following code.

gint start_x,start_y;(global)
GtkWidget* window;

gboolean on_drag(GtkWidget           *widget,
                                         GdkEventButton      *event)
{

        static GdkEventType previous_type = GDK_NOTHING;
        gint now_x,now_y;



        if(event->type == GDK_BUTTON_PRESS)//for getting the start point
        {
                start_x = (gint)event->x;
                start_y = (gint)event->y;
                previous_type = event->type;
        }


        //move TopLevelWindow to new position
        if((event->type == GDK_MOTION_NOTIFY) &&(previous_type ==
GDK_BUTTON_PRESS))
        {

                //getting the current window position
                gtk_window_get_position(
                        GTK_WINDOW(window),&now_x,&now_y);

                //moving the window
                gtk_window_move(GTK_WINDOW(window),
                        (now_x+(gint)event->x - start_x),(now_y +(gint)event->y - start_y));
        }

        return TRUE;

}

i hope it will work.

regards,
chandra shekhar sengupta






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]