Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yad
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav
yad
Commits
a1c6e6c2
Commit
a1c6e6c2
authored
Apr 24, 2018
by
Victor Ananjesky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some color changes
parent
86bfc4c9
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
69 additions
and
36 deletions
+69
-36
yad.1
data/yad.1
+2
-5
color.c
src/color.c
+34
-13
option.c
src/option.c
+0
-2
util.c
src/util.c
+24
-15
yad.h
src/yad.h
+9
-1
No files found.
data/yad.1
View file @
a1c6e6c2
...
...
@@ -268,17 +268,14 @@ is a string with date details, which may include Pango markup.
Set initial color value.
.TP
.B \-\-gtk-palette
Show system palette inside color dialog.
.TP
.B \-\-extra
Show extra information about color in returned string.
Show system palette inside color dialog. For GTK+3 builds this option shows palette instead of color editor.
.TP
.B \-\-alpha
Add opacity to output color string.
.TP
.B \-\-palette=\fI[FILENAME]\fP
Show palette and set predefined colors from given filename.
By default
used
\fI/etc/X11/rgb.txt\fP.
By default
yad use file
\fI/etc/X11/rgb.txt\fP.
.TP
.B \-\-expand-palette
Expander for list of user-defined colors will be initially opened.
...
...
src/color.c
View file @
a1c6e6c2
...
...
@@ -96,6 +96,20 @@ create_palette ()
}
static
void
set_color
(
gchar
*
clr
)
{
#if !GTK_CHECK_VERSION(3,0,0)
GdkColor
c
;
if
(
gdk_color_parse
(
clr
,
&
c
))
gtk_color_selection_set_current_color
(
GTK_COLOR_SELECTION
(
color
),
&
c
);
#else
GdkRGBA
c
;
if
(
gdk_rgba_parse
(
&
c
,
clr
))
gtk_color_chooser_set_rgba
(
GTK_COLOR_CHOOSER
(
color
),
&
c
);
#endif
}
static
void
palette_changed
(
GtkTreeSelection
*
sel
,
gpointer
data
)
{
GtkTreeModel
*
model
;
...
...
@@ -104,11 +118,8 @@ palette_changed (GtkTreeSelection * sel, gpointer data)
if
(
gtk_tree_selection_get_selected
(
sel
,
&
model
,
&
iter
))
{
gchar
*
clr
;
GdkColor
c
;
gtk_tree_model_get
(
model
,
&
iter
,
1
,
&
clr
,
-
1
);
if
(
gdk_color_parse
(
clr
,
&
c
))
gtk_color_selection_set_current_color
(
GTK_COLOR_SELECTION
(
color
),
&
c
);
set_color
(
clr
);
}
}
...
...
@@ -119,20 +130,20 @@ color_create_widget (GtkWidget * dlg)
#if !GTK_CHECK_VERSION(3,0,0)
w
=
gtk_vbox_new
(
FALSE
,
2
);
color
=
gtk_color_selection_new
();
#else
w
=
gtk_box_new
(
GTK_ORIENTATION_VERTICAL
,
2
);
color
=
gtk_color_chooser_widget_new
();
#endif
color
=
gtk_color_selection_new
();
gtk_widget_set_name
(
color
,
"yad-color-widget"
);
#if !GTK_CHECK_VERSION(3,0,0)
gtk_color_selection_set_has_palette
(
GTK_COLOR_SELECTION
(
color
),
options
.
color_data
.
gtk_palette
);
#else
g_object_set
(
G_OBJECT
(
color
),
"show-editor"
,
!
options
.
color_data
.
gtk_palette
,
NULL
);
#endif
if
(
options
.
color_data
.
init_color
)
{
GdkColor
c
;
if
(
gdk_color_parse
(
options
.
color_data
.
init_color
,
&
c
))
gtk_color_selection_set_current_color
(
GTK_COLOR_SELECTION
(
color
),
&
c
);
}
set_color
(
options
.
color_data
.
init_color
);
gtk_box_pack_start
(
GTK_BOX
(
w
),
color
,
FALSE
,
FALSE
,
2
);
if
(
options
.
color_data
.
use_palette
)
...
...
@@ -158,7 +169,9 @@ color_create_widget (GtkWidget * dlg)
gtk_scrolled_window_set_policy
(
GTK_SCROLLED_WINDOW
(
sw
),
options
.
hscroll_policy
,
options
.
vscroll_policy
);
gtk_widget_set_size_request
(
sw
,
-
1
,
75
);
gtk_container_add
(
GTK_CONTAINER
(
exp
),
sw
);
#if GTK_CHECK_VERSION(3,0,0)
gtk_widget_set_vexpand
(
sw
,
TRUE
);
#endif
list
=
gtk_tree_view_new_with_model
(
model
);
gtk_widget_set_name
(
list
,
"yad-color-palette"
);
g_object_unref
(
model
);
...
...
@@ -205,14 +218,22 @@ color_create_widget (GtkWidget * dlg)
void
color_print_result
(
void
)
{
#if !GTK_CHECK_VERSION(3,0,0)
GdkColor
c
;
guint64
alpha
;
#else
GdkRGBA
c
;
#endif
gchar
*
cs
;
#if !GTK_CHECK_VERSION(3,0,0)
gtk_color_selection_get_current_color
(
GTK_COLOR_SELECTION
(
color
),
&
c
);
alpha
=
gtk_color_selection_get_current_alpha
(
GTK_COLOR_SELECTION
(
color
));
cs
=
get_color
(
&
c
,
alpha
);
#else
gtk_color_chooser_get_rgba
(
GTK_COLOR_CHOOSER
(
color
),
&
c
);
cs
=
get_color
(
&
c
);
#endif
if
(
cs
)
g_printf
(
"%s
\n
"
,
cs
);
...
...
src/option.c
View file @
a1c6e6c2
...
...
@@ -257,8 +257,6 @@ static GOptionEntry color_options[] = {
N_
(
"Expand user palette"
),
NULL
},
{
"mode"
,
0
,
0
,
G_OPTION_ARG_CALLBACK
,
set_color_mode
,
N_
(
"Set output mode to MODE. Values are hex (default) or rgb"
),
N_
(
"MODE"
)
},
{
"extra"
,
0
,
0
,
G_OPTION_ARG_NONE
,
&
options
.
color_data
.
extra
,
N_
(
"Use #rrrrggggbbbb format instead of #rrggbb"
),
NULL
},
{
"alpha"
,
0
,
0
,
G_OPTION_ARG_NONE
,
&
options
.
color_data
.
alpha
,
N_
(
"Add opacity to output color value"
),
NULL
},
{
NULL
}
...
...
src/util.c
View file @
a1c6e6c2
...
...
@@ -188,31 +188,19 @@ get_pixbuf (gchar * name, YadIconSize size)
return
pb
;
}
#if !GTK_CHECK_VERSION(3,0,0)
gchar
*
get_color
(
GdkColor
*
c
,
guint64
alpha
)
{
gchar
*
cs
;
gchar
*
res
=
NULL
;
switch
(
options
.
color_data
.
mode
)
{
case
YAD_COLOR_HEX
:
cs
=
gdk_color_to_string
(
c
);
if
(
options
.
color_data
.
alpha
)
{
if
(
options
.
color_data
.
extra
)
res
=
g_strdup_printf
(
"#%s%hx"
,
cs
+
1
,
alpha
);
else
res
=
g_strdup_printf
(
"#%c%c%c%c%c%c%hx"
,
cs
[
1
],
cs
[
2
],
cs
[
5
],
cs
[
6
],
cs
[
9
],
cs
[
10
],
alpha
/
256
);
}
res
=
g_strdup_printf
(
"#%hXhXhXhX"
,
c
->
red
,
c
->
green
,
c
->
blue
,
alpha
/
256
);
else
{
if
(
options
.
color_data
.
extra
)
res
=
g_strdup_printf
(
"%s"
,
cs
);
else
res
=
g_strdup_printf
(
"#%c%c%c%c%c%c"
,
cs
[
1
],
cs
[
2
],
cs
[
5
],
cs
[
6
],
cs
[
9
],
cs
[
10
]);
}
g_free
(
cs
);
res
=
g_strdup_printf
(
"#%hXhXhX"
,
c
->
red
,
c
->
green
,
c
->
blue
);
break
;
case
YAD_COLOR_RGB
:
if
(
options
.
color_data
.
alpha
)
...
...
@@ -226,6 +214,27 @@ get_color (GdkColor *c, guint64 alpha)
return
res
;
}
#else
gchar
*
get_color
(
GdkRGBA
*
c
)
{
gchar
*
res
=
NULL
;
switch
(
options
.
color_data
.
mode
)
{
case
YAD_COLOR_HEX
:
if
(
options
.
color_data
.
alpha
)
res
=
g_strdup_printf
(
"#%hXhXhXhX"
,
c
->
red
*
255
,
c
->
green
*
255
,
c
->
blue
*
255
,
c
->
alpha
*
255
);
else
res
=
g_strdup_printf
(
"#%hXhXhX"
,
c
->
red
*
255
,
c
->
green
*
255
,
c
->
blue
*
255
);
break
;
case
YAD_COLOR_RGB
:
res
=
gdk_rgba_to_string
(
c
);
break
;
}
return
res
;
}
#endif
void
update_preview
(
GtkFileChooser
*
chooser
,
GtkWidget
*
p
)
...
...
src/yad.h
View file @
a1c6e6c2
...
...
@@ -253,7 +253,6 @@ typedef struct {
gboolean
use_palette
;
gboolean
expand_palette
;
gchar
*
palette
;
gboolean
extra
;
gboolean
alpha
;
YadColorMode
mode
;
}
YadColorData
;
...
...
@@ -613,7 +612,11 @@ void update_preview (GtkFileChooser *chooser, GtkWidget *p);
void
filechooser_mapped
(
GtkWidget
*
w
,
gpointer
data
);
GdkPixbuf
*
get_pixbuf
(
gchar
*
name
,
YadIconSize
size
);
#if GTK_CHECK_VERSION(3,0,0)
gchar
*
get_color
(
GdkRGBA
*
c
);
#else
gchar
*
get_color
(
GdkColor
*
c
,
guint64
alpha
);
#endif
gchar
**
split_arg
(
const
gchar
*
str
);
...
...
@@ -626,8 +629,13 @@ gchar *escape_char (gchar *str, gchar ch);
gboolean
check_complete
(
GtkEntryCompletion
*
c
,
const
gchar
*
key
,
GtkTreeIter
*
iter
,
gpointer
data
);
#ifdef HAVE_SPELL
void
show_langs
();
#endif
#ifdef HAVE_SOURCEVIEW
void
show_themes
();
#endif
static
inline
void
strip_new_line
(
gchar
*
str
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment