Ingo Bürk
54dbbe2f06
Flush cairo surface after drawing text.
...
This is necessary to avoid a bug where a cairo assertion fails because no snapshot is available.
fixes #1989
2015-10-13 11:08:10 +02:00
Ingo Bürk
21c0c20843
Remove support for 32-bit visuals and RGBA colors.
...
fixes #1984
2015-10-11 00:33:14 +02:00
Ingo Bürk
d300a07660
Refactor cairo drawing of rectangles into utility functions.
2015-10-08 12:31:56 +02:00
Ingo Bürk
ff0aeddede
When drawing text, mark the surface as dirty.
...
Since libi3 currently creates its own cairo surface for drawing text, we
need to mark our own surface as dirty to force cairo to invalidate its
cache. Otherwise, this will result in graphical glitches such as the text
not showing up at all.
This wrapper can be removed in the future when libi3 is adapted to reuse
the same cairo surface as we do for all other drawing operations.
2015-10-08 12:16:25 +02:00
Ingo Bürk
1c4100ce5d
Use 32-bit visuals for i3bar when possible and allow RGBA colors.
...
This patch creates all necessary windows for i3bar with 32-bit visuals if available.
It also introduces the possibility to define RGBA colors (next to RGB colors), which
allows the user to set the opacity of any color. This requires running a compositor.
With this patch we also start supporting _NET_SYSTEM_TRAY_VISUAL, which is necessary
for the tray icons so they create the tray window with the correct depth and visual.
2015-10-06 23:01:57 +02:00
Ingo Bürk
410c5da7cf
Use cairo for all drawing operations in i3bar.
...
fixes #1878
2015-10-05 09:29:17 +02:00
shdown
c85d16faa4
Use safe wrappers wherever possible
2015-08-03 12:50:50 +03:00
shdown
bc52fae15c
libi3: change scalloc() signature to match calloc()
2015-08-03 12:50:13 +03:00
Ingo Bürk
b9bacdf464
Send custom-defined command upon click on the non-statusline part of i3bar even if workspace_buttons is set to 'no'.
...
fixes #1777
2015-07-01 14:48:06 +02:00
Michael Hofmann
bad4203755
Configurable tray padding.
2015-06-28 00:14:37 +02:00
Michael Stapelberg
696d844ffa
Merge pull request #1697 from Airblader/feature-1695
...
Extend mouse commands on i3bar
2015-06-18 20:50:56 +02:00
Ingo Bürk
9eb255d5fa
Ensure format of dumped bindings for i3bar is compatible with i3 bindings.
...
fixes #1695
2015-06-18 19:28:24 +02:00
Ingo Bürk
715fbf2d80
Read 'bindsym' rather than the old 'wheel_up_cmd' and 'wheel_down_cmd' directives in i3bar and call the command if specified.
...
The old directives are still read for transitional support which can be removed in a future version.
2015-06-18 19:28:20 +02:00
Michael Stapelberg
560d9a25d8
Merge pull request #1731 from Airblader/feature-indicator-pango
...
Allow pango markup for the binding indicator.
2015-06-07 20:46:16 +02:00
shdown
fe006f0f6a
i3bar: fix freeing static strings
...
name and color fields of blocks are freed in clear_statusline, so they
need to be strdup'ed.
2015-06-02 23:29:24 +03:00
Ingo Bürk
0a0f59038a
Use the introduced binding_mode_* colors to draw the binding mode.
...
fixes #1732
2015-06-01 16:57:17 +02:00
Ingo Bürk
9b691bcca2
Introduce a config directive 'binding_mode' in the 'bar' config, pass it through the IPC and parse it in i3bar.
2015-05-31 16:49:09 +02:00
Ingo Bürk
36f5a37777
Allow pango markup for the binding indicator.
2015-05-31 12:35:47 +02:00
Michael Stapelberg
79e7e69939
Merge pull request #1700 from mh21/tray-icon-size-cleanup
...
Tray icon size cleanup.
2015-05-12 22:44:08 +02:00
Michael Hofmann
0319bda1d4
Introduce sstrndup wrapper.
2015-05-06 16:33:15 +02:00
Michael Hofmann
27c060b279
Tray icon size cleanup.
...
- icon_size instead of font.height
- consistent spacing with tray_spacing_px
2015-04-30 11:45:38 +02:00
Michael Stapelberg
5dda3bc2ae
Merge pull request #1657 from Georgiy-Tugai/fix-flickering-shortened
...
i3bar: fix flickering shortened status bar on other output(s)
2015-04-26 23:38:27 +02:00
Ingo Bürk
bbc66e45f7
Only detect clicks within the statusline width.
...
If the user clicks on the very top of i3bar above a tray icon, i3bar might
mistakenly trigger the click event for the last status block. This is due to
the fact that the click detection considers the separator width of the block
even though on the last block this is ignored, incorrectly spanning the block's
width partially (or entirely) across the tray area.
2015-04-26 00:32:18 +02:00
Georgiy Tugai
de866c2fea
i3bar: fix flickering shortened status bar on other output(s)
2015-04-21 12:28:43 +09:30
Deiz
884214f14f
Update copyright notices and get rid of ranges
...
The script used to make these changes can be found at:
https://gist.github.com/Deiz/32322020f76d23e2bf8f
2015-04-20 17:50:21 -04:00
Thomas Anderson
196e1d0971
Respect EXEC_PREFIX and a users' choice of PKG_CONFIG.
...
The Makefiles should put binaries in $(EXEC_PREFIX) and
architecture-independent files in $(PREFIX). Also a user may have a
prefixed- pkg-config, as in the case of cross compiling on Exherbo
Linux, so respect the well-accepted $(PKG_CONFIG) variable for this
purpose.
2015-04-12 17:59:30 -07:00
Ingo Bürk
a952ae74f4
Use a reasonable default sep_block_width if a separator_symbol is given
2015-04-03 22:54:59 +02:00
Michael Stapelberg
6b04f28b48
fix remaining warnings
2015-03-29 17:12:20 +02:00
Michael Stapelberg
93adcf8bdc
Merge pull request #1575 from hwangcc23/next
...
Fix warnings
2015-03-29 16:53:14 +02:00
hwangcc
42515308e7
Add a safe wrapper for write and fix some warnings
...
1. Add a function writeall and make swrite wrap that function. Use either writeall or swrite, depending on whether we want to exit on errors or not.
2. Fix warnings when compiling with a higher optimisation level.
(CFLAGS ?= -pipe -O3 -march=native -mtune=native -freorder-blocks-and-partition)
Signed-off-by: hwangcc <hwangcc@csie.nctu.edu.tw>
2015-03-29 10:22:34 +08:00
Michael Stapelberg
af71d3a2f1
Merge pull request #1590 from acrisci/bug/i3bar-no-markup-default
...
i3bar: don't parse markup on statusline by default
2015-03-28 10:08:41 +01:00
Tony Crisci
beaf904943
i3bar: don't parse markup on statusline by default
...
fixes #1565
2015-03-27 19:00:32 -04:00
Michael Stapelberg
856e1f9772
Merge pull request #1591 from Airblader/feature-child-cleanup
...
Return in child parsing as soon as the match was made.
2015-03-27 09:51:00 +01:00
Michael Stapelberg
fb0573e183
Merge pull request #1582 from shdown/allow-escaping-backslashes
...
Allow escaping backslashes
2015-03-27 09:40:09 +01:00
Ingo Bürk
6adc7e8bfb
Return in child parsing as soon as the match was made.
...
As soon as we found the current key for which the value should be handled we can return
from the function to save some string comparisons.
2015-03-27 09:26:29 +01:00
Tony Crisci
3f3b2d9a3f
i3bar: reconfigure strut partial on reload
...
Strut partial tells i3 where to reserve space for i3bar. It is affected
by the `position` bar config directive.
2015-03-25 19:17:06 -04:00
Michael Stapelberg
037cb317cb
Merge pull request #1578 from Airblader/feature-custom-separator
...
Add support for a custom separator symbol
2015-03-25 22:49:09 +01:00
Ingo Bürk
80da100ac8
Add support for a custom separator symbol
...
This introduces a "separator_symbol" property for the i3bar configuration.
If set, the specified string will be used as a separator instead of a vertical line. Since it is an optional configuration, complete backwards compatibility is given.
fixes #1472
2015-03-25 21:38:55 +01:00
Michael Stapelberg
bbb035d975
Merge pull request #1583 from shdown/next
...
i3bar: spelling fixes (2)
2015-03-25 20:16:00 +01:00
shdown
6d8891894e
Allow escaping backslashes
...
Fixes #1577 .
2015-03-25 21:32:46 +03:00
shdown
6922a820a6
i3bar: spelling fixes (2)
2015-03-24 15:41:16 +03:00
Tony Crisci
177c03debd
i3bar: check `short_text` for NULL on dump
...
Check `short_text` for NULL on statusline dump, since this value can be
NULL when not given. Fixes a segfault in that case.
2015-03-24 06:00:26 -04:00
Tony Crisci
0962c7f011
i3bar: check block text for NULL
...
Add a null check to `full_text` and `short_text` for a block before
setting the markup property to avoid a segfault.
2015-03-24 05:45:20 -04:00
Tony Crisci
e681f34ec1
i3bar: set markup per block
...
Add `markup` to the i3bar protocol as a block member.
This is a string that determines how the block should be parsed as
markup. "pango" indicates the block should be parsed as Pango markup.
"none" indicates the block should not be parsed as markup.
2015-03-24 02:27:38 -04:00
Michael Stapelberg
ff62a68c1e
Merge pull request #1570 from shdown/next
...
i3bar: spelling fixes
2015-03-23 22:10:17 +01:00
shdown
e8704bb33b
i3bar: spelling fixes
2015-03-23 22:56:49 +03:00
Ingo Bürk
c9019ada4e
Add support for short_text
...
When the statusline is too long, try to use the short_text property of each status block before falling back to truncating it.
fixes #1092
2015-03-23 11:24:30 +01:00
Ingo Bürk
dd488818a9
Introduce the short_text property on blocks and parse it according to the documentation.
2015-03-23 11:03:45 +01:00
Michael Stapelberg
8d0fb482d9
clang-format and rearrange comments in i3bar/src/xcb.c
2015-03-23 09:23:01 +01:00
Michael Stapelberg
33fa3284db
Merge pull request #1560 from shdown/refactoring
...
i3bar: refactoring
2015-03-22 21:29:03 +01:00