Commit graph

164 commits

Author SHA1 Message Date
Uli Schlachter
c5badcbe37 Add awesome.pixbuf_to_surface
This function takes a GdkPixbuf, copies it to a cairo image surface and
returns the image surface.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-01-18 18:10:35 +01:00
Uli Schlachter
bcf70f3740 Drop our use of iconv (#1772)
We were only using this for tag names. This means we are assuming that
everything is UTF8, but tag names are provided in the local locale and
need to be translated into UTF8? That makes no sense, so just drop this.

Fixes: https://github.com/awesomeWM/awesome/issues/1753
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-07 17:59:53 +02:00
Uli Schlachter
2e58a9c6eb awesome.load_image(): Return errors instead of "throwing" them
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-01-15 18:38:51 +01:00
Daniel Hahler
6c0a21ec04 Merge pull request #142 from psychon/check-cairo-setup
Test if cairo-xcb is usable during startup
2015-02-18 21:37:56 +01:00
Uli Schlachter
6adeafdec3 Test if cairo-xcb is usable during startup
Create a pixmap of size 1x1 and a cairo-xcb surface for this pixmap. If the
surface ends up in an error state, awesome will refuse to start.

This turns a "awesome is unusable and prints lots of errors on X11 servers where
the root window has a depth of 8bpp and no one knows where exactly the problem
is" into "awesome refuses to start on such X11 servers and prints an error that
helps Uli to say immediately what the problem is".

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-02-18 21:23:47 +01:00
Daniel Hahler
8919faa7b3 doc: fix warnings from doxygen 2015-02-14 20:17:13 +01:00
Uli Schlachter
30b313f77a Implement icon_pixmap and icon_mask from WM_HINTS (FS#1297)
Fun fact: ICCCM specifies that icon_pixmap must have depth 1. Xterm uses a
pixmap with depth 24. Yay... As such, I don't have any test for the depth == 1
case and will just assume that it does the right thing. If it doesn't, I bet no
one will notice anyway.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-12-07 14:16:17 +01:00
Uli Schlachter
d2b1e92f9e Clean up header includes
Every .c file has to include the corresponding .h file first to make sure the
headers are self-contained. Additionally, this moves some unneeded includes
around.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-30 20:07:48 +02:00
Uli Schlachter
d8b73de739 screen.[ch]: Move into objects/
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-30 15:12:47 +02:00
Uli Schlachter
bb304c80a3 draw: Add function for finding a visual by id
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-09-16 11:59:00 +02:00
Uli Schlachter
c4a7f80e26 Use gdk-pixbuf instead of Imlib2 (FS#1028)
There are two reasons for this switch:

- gdk-pixbuf is smaller
- gdk-pixbuf supports SVGs

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-16 20:02:56 +02:00
Uli Schlachter
9fef3dd07c Move some helper functions to draw.h
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-07-29 15:25:40 +02:00
Uli Schlachter
e57af377bb Don't pass cairo surfaces around on the lua stack
Now that the C code uses lightuserdata for passing around cairo surfaces, they
are no longer automatically garbage collected. To avoid memleaks, this commit
compares the C code to use cairo_surface_t pointers instead of the lua stack.

This also fixes a memleak were a client's icon was leaked.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-28 09:29:47 +02:00
Uli Schlachter
4f30dfd198 Switch from oocairo to lgi.cairo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-27 19:20:34 +02:00
Uli Schlachter
9451fec6f1 Add awesome.load_image()
This uses imlib2 for loading the image and thus supports more image formats than
just PNG.

Almost fixes: FS#958

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-01-29 14:08:57 +01:00
Majic
0e8fc995bb Minor readability fixes, STREQ()-like macros added
Signed-off-by: Julien Danjou <julien@danjou.info>
2011-11-18 17:56:21 +01:00
Gregor Best
c2ea920ca0 remove encoding=utf-8 from modelines
This option is no longer valid in modelines, so it has been removed from
all modelines using the following shellscript:

    #!/bin/ksh

    git ls-tree -r HEAD | cut -f2 | while read f; do
        egrep -e '^(//|--) vim: .*encoding=' $f >/dev/null || continue
        sed -E -e '/^(\/\/|--) vim:/s/:encoding=utf-8//' $f > /tmp/foo
        mv /tmp/foo $f
    done

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-11 17:34:09 +02:00
Uli Schlachter
4af5ca8c34 draw: Fix transparent image handling
Everyone uses "normal" alpha. Cairo uses pre-multiplied alpha. That means that
0x80800000 is translucent red and 0x80ff0000 is just invalid. We were using the
invalid version previously.

This fixes all kinds of tray icons whose background was previously wrong.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-15 21:34:37 +02:00
Uli Schlachter
b3ebab0a7e draw: Remove some now-unused stuff
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 20:06:49 +02:00
Uli Schlachter
db3b1fe431 Image: Remove
Everything now uses oocairo instead.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 19:36:58 +02:00
Uli Schlachter
7b53a73b0f Add a function for drawing a cairo surface
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 12:36:38 +02:00
Uli Schlachter
97f66c57b5 Add drawing functions that will be needed later on
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-09 16:55:03 +02:00
Uli Schlachter
56fd77139e draw: Stop using a_tokenize
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-02 19:04:48 +02:00
Uli Schlachter
5d35771673 Save the screen in globalconf.
There can only be on xcb_screen_t now, so we can save it in globalconf.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-16 14:10:58 +02:00
Uli Schlachter
cc4e8d57d5 Move the default visual to globalconf
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-16 13:59:51 +02:00
Uli Schlachter
32d9a5b2ab Remove support for zaphod mode
This makes awesome support only a single X11 protocol screen. If you are still
using zaphod mode, you can run multiple instances of awesome on the single
screens, e.g.:

DISPLAY=:1.0 awesome & DISPLAY=:1.1 awesome &

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-16 13:47:40 +02:00
Julien Danjou
8badb836c5 Do not check if we have enough space to draw (FS#731)
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-25 10:32:09 +01:00
Julien Danjou
be09012c08 graph, progressbar: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:04 +02:00
Julien Danjou
1442687830 font: split out of draw
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-07 17:51:40 +02:00
Julien Danjou
5b718cdacb structs: rename to globalconf
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-07 17:23:01 +02:00
Brian Gianforcaro
3145e3145e Grammar/spelling corrections in comments and docs.
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 10:39:36 +02:00
Julien Danjou
1060470b3f draw: stop requesting extents
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 15:38:17 +02:00
Julien Danjou
7ecf1afdfd draw: move padding stuff inside textbox
This is only used by textbox.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 20:24:38 +02:00
Julien Danjou
26c446fa82 textbox: add valign
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 17:56:48 +02:00
Julien Danjou
176fa70916 draw: remove useless AlignFixed
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-04 14:35:20 +02:00
Brian Gianforcaro
404ec8eb24 Fix doxygen generation warnings.
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 11:18:43 +02:00
Gregor Best
aa9a7b1fc8 widgets: get rid of align attribute
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:49 +02:00
Gregor Best
6bbcb1f56e widgets: add bool widget_geometries(wibox_t *)
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:48 +02:00
Julien Danjou
16376a9f7c screen: store default visual
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-10 16:26:49 +02:00
Katherine McKinley
9c8efee9bf draw: fix NULL pointer passed to pango_parse_markup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 11:24:56 +02:00
Uli Schlachter
b7f05f32c0 draw_context_t's depth member is unused, remove it
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-11 12:54:42 +02:00
Julien Danjou
45c2ac38a4 image: only compute when needed
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:17 +02:00
Matus Telgarsky
30821f80a9 cosmetic fix for line drawing in graphs
When drawing graphs in line mode and growing right, instead of filling
in the last pixel (as the comments indicate is the intention), a line is
drawn to what is actually the first y value in the graph.  This is
because the index variable has already been incremented.  To fix it,
decrement it (correcting for modulus).  Patch attached.  Note I didn't
try it, since i am too lazy to update all the xcb stuff, but made sure
the patch goes cleanly against current head.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 10:04:57 +02:00
Uli Schlachter
37862c83c0 Make the draw_*() functions take a color_t*
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-04-18 14:02:21 +02:00
Uli Schlachter
5dadaa59a9 Move xcolor into its own source files
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-04-18 13:55:38 +02:00
Julien Danjou
f473a107b0 cleanup #includes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:52:25 +02:00
Uli Schlachter
95457c5ab7 Move the definition of globalconf into a header file
Pretty much every single source file needs this struct, so it makes sense to
define it in a common header instead of in every single .c file.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-10 16:32:42 +02:00
Alex Cornejo
106e6ed5ab Styling inconsistencies
Cheers,

Alex

From b5816ec55073507d4527ad3a77eae1878adb30d3 Mon Sep 17 00:00:00 2001
From: Alex Cornejo <acornejo@gmail.com>
Date: Sun, 29 Mar 2009 14:24:27 -0400
Subject: [PATCH] Fixed some styling issues.

Noticed in the latest pull that a commit introduced a lot of styling
inconsistencies, decided to remove those and others found by a simple
grep.

Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-30 12:53:12 +02:00
Lionel Ott
970b566580 Added AlignMiddle to alignment_t structure
- Added AlignMiddle to denote a vertically centered element

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou
c70f284b45 draw: check harder for visual
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00