Commit Graph

4681 Commits

Author SHA1 Message Date
Ingo Bürk
eb73059c61 Refactor functions for easy reuse 2015-03-04 09:22:25 +01:00
Ingo Bürk
bcc1314a2d When renaming a workspace, look for assignments and move the renamed workspace to the appropriate output. 2015-03-04 09:06:44 +01:00
Michael Stapelberg
dcba0b46dd Fix keyboard layout change detection
…by listening to XKB_NEW_KEYBOARD events and re-allocating the keysym
map on both XKB_NEW_KEYBOARD and XKB_MAP_NOTIFY.

fixes #1302
2015-03-03 09:47:15 +01:00
Michael Stapelberg
ac19772efb Merge branch 'fix-keyboard-layout' 2015-03-03 09:46:39 +01:00
Michael Stapelberg
c7fd4b39c6 Fix keyboard layout change detection
…by listening to XKB_NEW_KEYBOARD events and re-allocating the keysym
map on both XKB_NEW_KEYBOARD and XKB_MAP_NOTIFY.

fixes #1302
2015-03-03 09:46:16 +01:00
Michael Tipton
73ecc56bd7 Fix scrolling in window decoration with hidden cursor.
If the mouse cursor is hidden (by unclutter, for example), then scrolling
in the window decoration creates an event with a child
(i.e. event->child != XCB_NONE). This causes route_click() to be called
with dest=CLICK_INSIDE, which prevents scrolling through a stacked layout.

To fix this, check if a click is in the window decoration _before_
checking if the event has a child.
2015-03-03 00:24:54 -08:00
Michael Stapelberg
487ccb536a Merge pull request #1503 from Airblader/defect-layout-globbing
Glob filepath when calling append_layout
2015-03-01 08:25:09 -08:00
Michael Stapelberg
eb969fee67 Merge branch 'Airblader-defect-1480' into next 2015-03-01 17:21:27 +01:00
Michael Stapelberg
1124041648 clang-format 2015-03-01 17:19:42 +01:00
Michael Stapelberg
91476e2c11 Merge branch 'defect-1480' of https://github.com/Airblader/i3-original into Airblader-defect-1480 2015-03-01 17:19:22 +01:00
Michael Stapelberg
091f1db39a run clang-format (3.5.0)
Not quite sure why there are so many differences. Perhaps we’ve gotten
out of the habit of running clang-format after every change.

I guess it’d be best to have a travis hook that runs clang-format for us
and reports any problems on pull requests.
2015-03-01 17:16:03 +01:00
Ingo Bürk
9e739de5d3 Glob filepath when calling append_layout
fixes #1500
2015-03-01 16:51:58 +01:00
Michael Stapelberg
0876bd621f Merge branch 'master' into next 2015-03-01 16:50:49 +01:00
Michael Stapelberg
21bb44b6da Merge branch 'ton-master' 2015-03-01 16:50:45 +01:00
Michael Stapelberg
3c5df50c54 Merge branch 'master' of https://github.com/ton/i3 into ton-master 2015-03-01 16:50:37 +01:00
Michael Stapelberg
24a5a952b9 Merge pull request #1478 from acrisci/feature/use-default-monospace
Config: use default system monospace
2015-03-01 07:33:19 -08:00
Michael Stapelberg
a6a1d55346 Merge branch 'stevenjm-big-endian' 2015-03-01 16:30:28 +01:00
Michael Stapelberg
4bcb702360 Merge branch 'big-endian' of https://github.com/stevenjm/i3 into stevenjm-big-endian 2015-03-01 16:28:42 +01:00
Steven McDonald
1ab76fb05a Fix key bindings on big-endian platforms
input_code is a uint16_t, but xcb_keycode_t is uint8_t, meaning that
only the first byte of input_code is inspected by memmem. On
little-endian platforms, this code would have worked by accident, since
the first byte of input_code represents the 8 least significant bits.
However, on big-endian platforms the first byte is the 8 most
significant bits, which means memmem is scanning bind->translated_to
for the wrong keycode (probably 0).

In order to work correctly on big-endian and little-endian platforms,
simply typecast input_code to an xcb_keycode_t and pass that to memmem.

The observed behaviour associated with this bug is that key bindings
don't work at all. This patch has been tested on an iBook G4 running
OpenBSD -current, and key bindings work properly with this fix applied.
2015-03-01 21:07:03 +11:00
Michael Stapelberg
cc55ee472d debian: update changelog 2015-02-28 15:04:28 +01:00
Michael Stapelberg
fe482cf193 Merge branch 'next' 2015-02-28 15:02:31 +01:00
Michael Stapelberg
31ea3ecc38 Merge branch 'release-4.9' into next 2015-02-28 15:02:21 +01:00
Michael Stapelberg
55ba1c5e56 release i3 v4.9 2015-02-28 14:51:33 +01:00
Ton van den Heuvel
014aa7ff74 Fix incorrect y-offset for text in i3bar
When using Pango to draw text in i3bar, the y-offset of the text is
incorrectly calculated in case all characters in the string to draw are
smaller than the cached font height. Fixes #1494.
2015-02-26 21:58:42 +01:00
Michael Stapelberg
d5ec59e5c1 Merge pull request #1486 from acrisci/feature/docs-xvfb-tests
Docs: add hint to use xvfb-run
2015-02-22 03:02:20 -08:00
Tony Crisci
bf16c91231 Config: use default system monospace
Use the default monospace font for the system in the default config.
This should be a bit more portable for systems that do not have the
recommended font installed.
2015-02-21 17:34:26 -05:00
Tony Crisci
05de5201c0 Docs: add hint to use xvfb-run
Document that Xvfb can be used to run tests without an X server, and be
used to significantly speed up tests on machines with slow video cards.
2015-02-21 16:36:24 -05:00
Michael Stapelberg
b9cc54f15b Merge pull request #1471 from acrisci/feature/i3bar-use-pango-markup
i3bar: use Pango markup
2015-02-21 12:19:26 -08:00
Ingo Bürk
801dd06c6d free block->instance when cleaning up statusline 2015-02-18 20:29:11 +01:00
Ingo Bürk
1fde82d584 removed forgotten declaration of unused variable 2015-02-18 20:23:26 +01:00
Ingo Bürk
296fbdde12 Introduce a statusline buffer.
A buffer is introduced for the statusline which will only be copied to the actual statusline
once an entire statusline is parsed. This avoids a race condition where incompletely parsed
statuslines were rendered, causing only some status blocks to be rendered which is visible to
the user as a flickering.

fixes #1480
2015-02-18 20:11:42 +01:00
Ingo Bürk
9ff230c375 remove unused statusline_buffer 2015-02-18 20:01:52 +01:00
Michael Stapelberg
bb6823f5c7 debian: add changelog entry for 4.8-2 2015-02-15 13:42:29 +01:00
Tony Crisci
e18e2b9f98 i3bar: use Pango markup
Parse text within workspace buttons and the i3bar statusline as Pango
markup. This lets people specify things like font weight, text color,
background color, font size, and font family in the text of i3bar.

fixes #1468
2015-02-12 14:45:34 -05:00
Michael Stapelberg
726bb97ce3 CONTRIBUTING: document people should use the next branch 2015-02-12 08:59:33 +01:00
Michael Stapelberg
fbe25297b7 Properly invalidate rendering cache when updating orientation (Thanks hercek)
fixes #1445
2015-02-11 21:13:55 +01:00
Michael Stapelberg
db62b5a4df Merge branch 'master' into next 2015-02-11 21:08:00 +01:00
Michael Stapelberg
797855d98e Merge pull request #1465 from Airblader/bugfix-1430
Make click events on status blocks work if 'workspace_buttons no' is set...
2015-02-11 20:45:12 +01:00
Ingo Bürk
594b29f83d Make click events on status blocks work if 'workspace_buttons no' is set.
1. Always subscribe to click events for i3bar.
2. Exit the click event handler if no current workspace was found only after clicks on status blocks have been handled.

fixes #1430
2015-02-11 20:34:43 +01:00
Ingo Bürk
bf0e8c2862 Remove one level of indentation #1465 2015-02-11 20:34:19 +01:00
Michael Stapelberg
5cf1a0c43b Merge pull request #1462 from carrotIndustries/netwm_moveresize
Support _NET_WM_MOVERESIZE
2015-02-11 20:30:05 +01:00
Michael Stapelberg
83f369a91e Merge pull request #1460 from Airblader/bugfix-1458
Correctly calculate clicks on i3bar status blocks
2015-02-11 20:18:53 +01:00
Michael Stapelberg
d2d08f7313 Merge pull request #1451 from acrisci/feature/handle-button-release
Handle button release events
2015-02-11 20:13:00 +01:00
Michael Stapelberg
74d4e84fa3 add a CONTRIBUTING file
See https://github.com/blog/1184-contributing-guidelines
2015-02-11 09:15:01 +01:00
Michael Stapelberg
b7d3fe7b70 Merge pull request #1453 from acrisci/feature/bar-update-font-reload
Update bar font config on reload
2015-02-11 07:55:06 +00:00
Lukas K
1c5ab5fa36 Support _NET_WM_MOVERESIZE
Add support for the _NET_WM_MOVERESIZE client message. This message
enables clients to initiate window moving or resizing. Toolkits like
Gtk3 use this message when the user drags a client-side decorated window
by its title bar. When Gtk detects that the window manager does not
support this client message, it uses a slow fallback implementation.

fixes #1432
2015-02-11 00:07:28 +01:00
Tony Crisci
c815fc798d Handle button release events
This enables the --release switch on mouse button bindings.
2015-02-10 17:46:02 -05:00
Tony Crisci
e91a9174e2 libi3: free previous font on font load
When loading a new font with `load_font`, free the previously loaded
font with `free_font`.

If no font is loaded, `free_font` will simply return (instead of
crashing because of a double free).
2015-02-10 15:11:40 -05:00
Tony Crisci
d38d2dc3e3 Update bar font config on reload
Dynamically update the font when the `reload` command is called by
reloading the font with `xcb_init_late` and adjusting the size of the
bar by updating the output dimensions with a call to the ipc.
2015-02-10 14:26:22 -05:00
Ingo Bürk
d75f80402a Correctly calculate clicks on i3bar status blocks
fixes #1458
2015-02-10 14:52:53 +01:00