mirror of
https://github.com/transmission/transmission
synced 2025-03-10 06:02:57 +00:00
(gtk) #738: Clicking tray icon should show minimized main window
This commit is contained in:
parent
82d0cd852a
commit
e904f1ddd0
1 changed files with 12 additions and 1 deletions
13
gtk/main.c
13
gtk/main.c
|
@ -224,6 +224,16 @@ selectionChangedCB( GtkTreeSelection * s, gpointer unused UNUSED )
|
|||
refreshTorrentActions( s );
|
||||
}
|
||||
|
||||
static void
|
||||
windowStateChanged( GtkWidget * widget UNUSED, GdkEventWindowState * event, gpointer gdata )
|
||||
{
|
||||
if( event->changed_mask & GDK_WINDOW_STATE_ICONIFIED )
|
||||
{
|
||||
struct cbdata * cbdata = gdata;
|
||||
cbdata->minimized = ( event->new_window_state & GDK_WINDOW_STATE_ICONIFIED ) ? 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main( int argc, char ** argv )
|
||||
{
|
||||
|
@ -289,6 +299,7 @@ main( int argc, char ** argv )
|
|||
|
||||
/* create main window now to be a parent to any error dialogs */
|
||||
GtkWindow * mainwind = GTK_WINDOW( tr_window_new( myUIManager, cbdata->core ) );
|
||||
g_signal_connect( mainwind, "window-state-event", G_CALLBACK(windowStateChanged), cbdata );
|
||||
|
||||
/* set message level here before tr_init() */
|
||||
msgwin_loadpref( );
|
||||
|
@ -440,7 +451,7 @@ static void
|
|||
toggleMainWindow( struct cbdata * cbdata )
|
||||
{
|
||||
GtkWindow * window = GTK_WINDOW( cbdata->wind );
|
||||
const int hide = cbdata->minimized = !cbdata->minimized;
|
||||
const int hide = !cbdata->minimized;
|
||||
static int x=0, y=0;
|
||||
|
||||
if( hide )
|
||||
|
|
Loading…
Add table
Reference in a new issue