Overdue update to lxrandr-0.1.1.

This commit is contained in:
ajacoutot 2010-09-09 13:39:01 +00:00
parent 08c8a78861
commit 3aedd04cc9
5 changed files with 26 additions and 123 deletions

View File

@ -1,9 +1,8 @@
# $OpenBSD: Makefile,v 1.5 2010/07/30 12:03:09 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.6 2010/09/09 13:39:01 ajacoutot Exp $
COMMENT= simple xrandr config tool
DISTNAME= lxrandr-0.1
REVISION= 2
DISTNAME= lxrandr-0.1.1
CATEGORIES= x11 sysutils
@ -15,16 +14,18 @@ PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WANTLIB += X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes cairo
WANTLIB += Xi Xinerama Xrandr Xrender c expat fontconfig freetype glitz
WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0 png
WANTLIB += m pixman-1 pthread pthread-stubs xcb xcb-render xcb-render-util
WANTLIB += z atk-1.0 gdk-x11-2.0 gdk_pixbuf-2.0 gtk-x11-2.0 pango-1.0
WANTLIB += pangocairo-1.0 pangoft2-1.0
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=lxde/}
WANTLIB= X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes \
Xi Xinerama Xrandr Xrender atk-1.0 c cairo expat \
fontconfig freetype gio-2.0 glib-2.0 glitz gmodule-2.0 \
gobject-2.0 m pango-1.0 pangocairo-1.0 pangoft2-1.0 \
pixman-1 png z pthread-stubs xcb gdk-x11-2.0 \
gdk_pixbuf-2.0 gtk-x11-2.0
MODULES= devel/gettext
# needed for regress
MODULES+= textproc/intltool
LIB_DEPENDS= ::x11/gtk+2
RUN_DEPENDS= :desktop-file-utils-*:devel/desktop-file-utils

View File

@ -1,5 +1,5 @@
MD5 (lxrandr-0.1.tar.gz) = 1wpB8CMKG1KNZgFQIbj6DQ==
RMD160 (lxrandr-0.1.tar.gz) = aIlksJ5J5czEX9cmhFLEB6Kzlhs=
SHA1 (lxrandr-0.1.tar.gz) = ZLa0Ll+Rmm1OIHcn1QBvBS2NtfI=
SHA256 (lxrandr-0.1.tar.gz) = XytFuKRDE6jH4Abn/ToeTkengH50Ecmp11E43FrObU4=
SIZE (lxrandr-0.1.tar.gz) = 111947
MD5 (lxrandr-0.1.1.tar.gz) = qyx/a+fk/m0aJuMk2DZFPg==
RMD160 (lxrandr-0.1.1.tar.gz) = U/TRoWYlIhDx4o3ml2AacJVk668=
SHA1 (lxrandr-0.1.1.tar.gz) = MognFFs449HvvCkb8Z+s4GzSulg=
SHA256 (lxrandr-0.1.1.tar.gz) = 0Pyn669zLcDUJM8ljt6Hn7/M0rGJwTQ/vUrdnVvvwYo=
SIZE (lxrandr-0.1.1.tar.gz) = 197265

View File

@ -0,0 +1,8 @@
$OpenBSD: patch-data_lxrandr_desktop_in,v 1.1 2010/09/09 13:39:01 ajacoutot Exp $
--- data/lxrandr.desktop.in.orig Thu Sep 9 15:35:19 2010
+++ data/lxrandr.desktop.in Thu Sep 9 15:35:27 2010
@@ -13,3 +13,4 @@ Exec=lxrandr
Encoding=UTF-8
Type=Application
Categories=Settings;
+Icon=display

View File

@ -1,105 +0,0 @@
$OpenBSD: patch-src_lxrandr_c,v 1.1.1.1 2009/01/23 15:53:27 ajacoutot Exp $
--- src/lxrandr.c.orig Fri Jan 2 16:25:04 2009
+++ src/lxrandr.c Fri Jan 2 16:23:24 2009
@@ -62,10 +62,12 @@ static const char* get_human_readable_name( Monitor* m
return _("Laptop LCD Monitor");
else if( g_str_has_prefix( m->name, "VGA" ) || g_str_has_prefix( m->name, "Analog" ) )
return _( LVDS ? "External VGA Monitor" : "VGA Monitor");
- else if( g_str_has_prefix( m->name, "DVI" ) || g_str_has_prefix(m->name, "TMDS") || g_str_has_prefix(m->name, "Digital") )
+ else if( g_str_has_prefix( m->name, "DVI" ) || g_str_has_prefix(m->name, "TMDS") || g_str_has_prefix(m->name, "Digital") || g_str_has_prefix(m->name, "LVDS") )
return _( LVDS ? "External DVI Monitor" : "DVI Monitor");
else if( g_str_has_prefix( m->name, "TV" ) || g_str_has_prefix(m->name, "S-Video") )
return _("TV");
+ else if( strcmp( m->name, "default" ) == 0 )
+ return _( "Default Monitor");
return m->name;
}
@@ -91,7 +93,7 @@ static gboolean get_xrandr_info()
return FALSE;
}
- regex = g_regex_new( "([A-Z]+[-0-9]*) +connected .*((\n +[0-9]+x[0-9]+[^\n]+)+)",
+ regex = g_regex_new( "([a-zA-Z]+[-0-9]*) +connected .*((\n +[0-9]+x[0-9]+[^\n]+)+)",
0, 0, NULL );
if( g_regex_match( regex, output, 0, &match ) )
{
@@ -125,8 +127,13 @@ static gboolean get_xrandr_info()
{
char *star, *plus;
str = g_strdup( str );
- g_ptr_array_add( strv, str );
+ // sometimes, + goes after a space
+ if( 0 == strcmp( str, "+" ) )
+ --irate;
+ else
+ g_ptr_array_add( strv, str );
+
if( star = strchr( str, '*' ) )
{
m->active_mode = imode;
@@ -141,7 +148,7 @@ static gboolean get_xrandr_info()
*star = '\0';
if( plus )
*plus = '\0';
- ++imode;
+ ++irate;
}
}
g_ptr_array_add( strv, NULL );
@@ -266,6 +273,12 @@ static void set_xrandr_info()
g_string_free( cmd, TRUE );
}
+static void choose_max_resolution( Monitor* m )
+{
+ if( gtk_tree_model_iter_n_children( gtk_combo_box_get_model(m->res_combo), NULL ) > 1 )
+ gtk_combo_box_set_active( m->res_combo, 1 );
+}
+
static void on_quick_option( GtkButton* btn, gpointer data )
{
GSList* l;
@@ -276,6 +289,7 @@ static void on_quick_option( GtkButton* btn, gpointer
for( l = monitors; l; l = l->next )
{
Monitor* m = (Monitor*)l->data;
+ choose_max_resolution( m );
gtk_toggle_button_set_active( m->enable, TRUE );
}
break;
@@ -283,6 +297,7 @@ static void on_quick_option( GtkButton* btn, gpointer
for( l = monitors; l; l = l->next )
{
Monitor* m = (Monitor*)l->data;
+ choose_max_resolution( m );
gtk_toggle_button_set_active( m->enable, m != LVDS );
}
break;
@@ -290,6 +305,7 @@ static void on_quick_option( GtkButton* btn, gpointer
for( l = monitors; l; l = l->next )
{
Monitor* m = (Monitor*)l->data;
+ choose_max_resolution( m );
gtk_toggle_button_set_active( m->enable, m == LVDS );
}
break;
@@ -351,7 +367,7 @@ int main(int argc, char** argv)
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL );
g_signal_connect( dlg, "response", G_CALLBACK(on_response), NULL );
gtk_container_set_border_width( (GtkContainer*)dlg, 8 );
- gtk_dialog_set_alternative_button_order( dlg, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL );
+ gtk_dialog_set_alternative_button_order( dlg, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1 );
btn = gtk_button_new_from_stock( GTK_STOCK_ABOUT );
gtk_box_pack_start( GTK_DIALOG(dlg)->action_area, btn, FALSE, TRUE, 0 );
@@ -415,7 +431,7 @@ int main(int argc, char** argv)
// turn off screen is not allowed since there should be at least one monitor available.
if( g_slist_length( monitors ) == 1 )
- gtk_widget_hide( m->enable );
+ gtk_widget_set_sensitive( m->enable, FALSE );
gtk_box_pack_start( hbox, check, FALSE, TRUE, 6 );
if( m->active_mode >= 0 )

View File

@ -1,7 +1,6 @@
@comment $OpenBSD: PLIST,v 1.2 2009/12/21 20:46:02 ajacoutot Exp $
@comment $OpenBSD: PLIST,v 1.3 2010/09/09 13:39:01 ajacoutot Exp $
@bin bin/lxrandr
@man man/man1/lxrandr.1
share/applications/lxrandr.desktop
share/locale/hu/LC_MESSAGES/lxrandr.mo
share/locale/zh_TW/LC_MESSAGES/lxrandr.mo
@exec %D/bin/update-desktop-database
@unexec-delete %D/bin/update-desktop-database