tabbed: floor(), put extra pixels into the last tab (Thanks xeen)
This is the only sane way I can think of to deal with the problem that
the screen size may not be dividable by the amount of tabbed children
(e.g. 1280 / 41 = 31.219512…).
enkore [Thu, 21 Mar 2013 10:48:27 +0000 (11:48 +0100)]
Add click events to i3bar
If the statusline generator (i.e. i3status) specifies click_events:true
in the protocol header, i3bar will write a JSON array on it's stdin
notifying it if the user clicks on a block.
The exact protocol is documented in docs/i3bar-protocol.
Yuxuan Shui [Fri, 15 Mar 2013 14:40:26 +0000 (22:40 +0800)]
Fix restarting with 32bit depth windows (v5)
What I do in this patch is:
1. Split the con_new() function, so I can create a Con without actually
create a window.
2. Store the depth of Cons in the layout file when i3 is restarting.
oblique [Tue, 26 Feb 2013 00:37:35 +0000 (02:37 +0200)]
Add support for _NET_WM_STATE_DEMANDS_ATTENTION.
_NET_WM_STATE_DEMANDS_ATTENTION indicates that some action in or with
the window happened. It's a weaker hint than urgency flag of WM_HINTS,
but some applications and almost all Qt applications use it instead of
WM_HINTS' urgency flag (one example is Skype).
András Mohari [Mon, 25 Feb 2013 16:09:10 +0000 (17:09 +0100)]
Bugfix: Set separator color properly when drawing
Set the colors in the GC directly since set_font_colors() does not do it
when using a Pango font, resulting in i3bar drawing separators in the
wrong color.
András Mohari [Mon, 25 Feb 2013 10:41:02 +0000 (11:41 +0100)]
Allow min_width of a block in i3bar to be a string
With this change, min_width can either be an integer (as usual), or a
string. In the latter case, the width of the text given by min_width
determines the minimum width of the block. This way one does not have to
figure out a minimum width by trial and error, only to do it again every
time the font is changed.
Mats [Wed, 20 Feb 2013 15:56:03 +0000 (16:56 +0100)]
Bugfix: Handle nested transient popups properly
During smart popup fullscreen handling, display all transient popups
that belong to the respective fullscreen application. A popup window
belongs to another window if the latter is reachable via the path
induced by the WM_TRANSIENT_FOR hints.
Added new event id (I3_IPC_EVENT_WINDOW) so that a an IPC client can
subscribe to events on windows. Added a basic window event that gets
triggered when a window gets successfully reparented. This new event
also dumps the container data, so that IPC clients can get the initial
window name. IPC clients wishing to see window events should subscribe
to 'window'.
Artem Shinkarov [Sun, 27 Jan 2013 20:27:21 +0000 (20:27 +0000)]
Separator color via config; separator width and on/off via ipc
This patch adds the following features:
1) Configure a color of the separator via config. It is done like
bar {
colors {
separator #000000
}
}
2) A block can have an integer entry "separator_block_width" which
sets the width of the gap which would follow after the current block.
3) A block can have a boolean entry "separator" and if it is set
to false, then the drawing of the separating line would be disabled.
Always auto center on 'scratchpad show' if window hasn't been repositioned by the user
This change ensures a scratchpad window is still centered on the screen
if it has first been shown on another screen of a different
resolution. Moving or resizing the scratchpad manually disables this
behavior.
Mats [Mon, 28 Jan 2013 16:43:42 +0000 (17:43 +0100)]
i3-dmenu-desktop: List filenames of .desktop files
In addition to 'name' and 'command', add a third entry type 'filename'
to list the filenames of the .desktop files (e.g., 'firefox.desktop'
would be display as 'firefox').
Command line option '--entry-type' can be specified multiple times.
The parse spec for `move ... workspace ...` ordered next/prev before
next_on_output/prev_on_output causing the parser to match next/prev
before next_on_output/prev_on_output.
scratchpad: fix crash when moving last window of an invisible workspace (+test) (Thanks bafain)
It looks like the code which was removed with this commit was not
necessary anyways since con_move_to_workspace() by now checks on its own
whether it moves to the scratchpad.