The testcases will be updated automatically in a separate commit.
## i3 bug reports and feature requests
-1. Read the [debugging instructions](http://i3wm.org/docs/debugging.html).
+1. Read the [debugging instructions](https://i3wm.org/docs/debugging.html).
2. Make sure you include a link to your logfile in your report (section 3).
3. Make sure you include the i3 version number in your report (section 1).
4. Please be aware that we cannot support compatibility issues with
”feature request” or ”enhancement” in its title.
* Use the `next` branch for developing and sending your pull request.
* Use `clang-format` to format your code.
-* Run the [testsuite](http://i3wm.org/docs/testsuite.html)
+* Run the [testsuite](https://i3wm.org/docs/testsuite.html)
## Finding something to do
* Find a [reproducible bug](https://github.com/i3/i3/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Areproducible+label%3Abug+) from the issue tracker. These issues have been reviewed and confirmed by a project contributor.
* Find an [accepted enhancement](https://github.com/i3/i3/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Aaccepted+label%3Aenhancement) from the issue tracker. These have been approved and are ok to start working on.
-There's a very good [overview of the codebase](http://i3wm.org/docs/hacking-howto.html) available to get you started.
+There's a very good [overview of the codebase](https://i3wm.org/docs/hacking-howto.html) available to get you started.
_REPLACE: i3 version output_
-URL to a logfile as per http://i3wm.org/docs/debugging.html:
+URL to a logfile as per https://i3wm.org/docs/debugging.html:
_REPLACE: URL to logfile_
web => 'https://github.com/i3/i3/issues',
},
homepage => 'https://i3wm.org/',
- license => ['http://dev.perl.org/licenses'],
+ license => ['https://dev.perl.org/licenses'],
},
);
You can also look for information at:
RT, CPAN's request tracker
- http://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-I3
+ https://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-I3
The i3 window manager website
- http://i3.zekjur.net/
+ https://i3wm.org
LICENSE AND COPYRIGHT
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.
-See http://dev.perl.org/licenses/ for more information.
+See https://dev.perl.org/licenses/ for more information.
Please report any bugs or feature requests to C<bug-anyevent-i3 at
rt.cpan.org>, or through the web interface at
-L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=AnyEvent-I3>. I will be
+L<https://rt.cpan.org/NoAuth/ReportBug.html?Queue=AnyEvent-I3>. I will be
notified, and then you'll automatically be notified of progress on your bug as
I make changes.
=item * RT: CPAN's request tracker
-L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-I3>
+L<https://rt.cpan.org/NoAuth/Bugs.html?Dist=AnyEvent-I3>
=item * The i3 window manager website
-L<http://i3wm.org>
+L<https://i3wm.org>
=back
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.
-See http://dev.perl.org/licenses/ for more information.
+See https://dev.perl.org/licenses/ for more information.
=cut
┌──────────────┬────────┬────────┬───────────────────────────────────────────────────────────┐
│ dependency │ min. │ lkgv │ URL │
├──────────────┼────────┼────────┼───────────────────────────────────────────────────────────┤
-│ pkg-config │ 0.25 │ 0.29 │ http://pkgconfig.freedesktop.org/ │
-│ libxcb │ 1.1.93 │ 1.12 │ http://xcb.freedesktop.org/dist/ │
-│ xcb-util │ 0.3.3 │ 0.4.1 │ http://xcb.freedesktop.org/dist/ │
-│ xkbcommon │ 0.4.0 │ 0.6.1 │ http://xkbcommon.org/ │
-│ xkbcommon-x11│ 0.4.0 │ 0.6.1 │ http://xkbcommon.org/ │
-│ util-cursor³⁴│ 0.0.99 │ 0.1.3 │ http://xcb.freedesktop.org/dist/ │
-│ util-wm⁴ │ 0.3.8 │ 0.3.8 │ http://xcb.freedesktop.org/dist/ │
-│ util-keysyms⁴│ 0.3.8 │ 0.4.0 │ http://xcb.freedesktop.org/dist/ │
+│ pkg-config │ 0.25 │ 0.29 │ https://pkgconfig.freedesktop.org/ │
+│ libxcb │ 1.1.93 │ 1.12 │ https://xcb.freedesktop.org/dist/ │
+│ xcb-util │ 0.3.3 │ 0.4.1 │ https://xcb.freedesktop.org/dist/ │
+│ xkbcommon │ 0.4.0 │ 0.6.1 │ https://xkbcommon.org/ │
+│ xkbcommon-x11│ 0.4.0 │ 0.6.1 │ https://xkbcommon.org/ │
+│ util-cursor³⁴│ 0.0.99 │ 0.1.3 │ https://xcb.freedesktop.org/dist/ │
+│ util-wm⁴ │ 0.3.8 │ 0.3.8 │ https://xcb.freedesktop.org/dist/ │
+│ util-keysyms⁴│ 0.3.8 │ 0.4.0 │ https://xcb.freedesktop.org/dist/ │
│ util-xrm⁴ │ 1.0.0 │ 1.0.0 │ https://github.com/Airblader/xcb-util-xrm │
│ libev │ 4.0 │ 4.19 │ http://libev.schmorp.de/ │
-│ yajl │ 2.0.1 │ 2.1.0 │ http://lloyd.github.com/yajl/ │
+│ yajl │ 2.0.1 │ 2.1.0 │ https://lloyd.github.com/yajl/ │
│ asciidoc │ 8.3.0 │ 8.6.9 │ http://www.methods.co.nz/asciidoc/ │
│ xmlto │ 0.0.23 │ 0.0.23 │ http://www.methods.co.nz/asciidoc/ │
│ Pod::Simple² │ 3.22 │ 3.22 │ http://search.cpan.org/~dwheeler/Pod-Simple-3.23/ │
│ docbook-xml │ 4.5 │ 4.5 │ http://www.methods.co.nz/asciidoc/ │
-│ PCRE │ 8.12 │ 8.38 │ http://www.pcre.org/ │
-│ libsn¹ │ 0.10 │ 0.12 │ http://freedesktop.org/wiki/Software/startup-notification │
+│ PCRE │ 8.12 │ 8.38 │ https://www.pcre.org/ │
+│ libsn¹ │ 0.10 │ 0.12 │ https://freedesktop.org/wiki/Software/startup-notification │
│ pango │ 1.30.0 | 1.40.1 │ http://www.pango.org/ │
-│ cairo │ 1.14.4 │ 1.14.6 │ http://cairographics.org/ │
+│ cairo │ 1.14.4 │ 1.14.6 │ https://cairographics.org/ │
└──────────────┴────────┴────────┴───────────────────────────────────────────────────────────┘
¹ libsn = libstartup-notification
² Pod::Simple is a Perl module required for converting the testsuite
- documentation to HTML. See http://michael.stapelberg.de/cpan/#Pod::Simple
+ documentation to HTML. See https://michael.stapelberg.de/cpan/#Pod::Simple
³ xcb-util-cursor, to be precise.
⁴ Depending on your distribution, this might be considered part of xcb-util.
#!/usr/bin/env perl
# vim:ts=4:sw=4:expandtab
# © 2012 Michael Stapelberg
-# Licensed under BSD license, see http://code.i3wm.org/i3/tree/LICENSE
+# Licensed under BSD license, see https://github.com/i3/i3/blob/next/LICENSE
#
# Append this line to your i3 config file:
# exec_always ~/per-workspace-layout.pl
libpango1.0-dev,
libpod-simple-perl
Standards-Version: 3.9.8
-Homepage: http://i3wm.org/
+Homepage: https://i3wm.org/
Package: i3
Architecture: any
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: i3
Upstream-Contact: Michael Stapelberg <michael@i3wm.org>
Source: https://i3wm.org/
\r
[header]\r
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang=en}">\r
+ "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="{lang=en}">\r
<head>\r
<link rel="icon" type="image/png" href="/favicon.png">\r
<meta http-equiv="Content-Type" content="{quirks=application/xhtml+xml}{quirks?text/html}; charset={encoding}" />\r
</div>\r
{disable-javascript%<div id="footnotes"><hr /></div>}\r
<div id="footer" lang="de">\r
-© 2009 Michael Stapelberg, <a href="http://i3wm.org/impress.html">Impressum</a>
+© 2009 Michael Stapelberg, <a href="https://i3wm.org/impress.html">Impressum</a>
</div>\r
</body>\r
</html>\r
4.7-85-g9c15b95 (development version)::
Your version is 85 commits newer than 4.7, and the git revision of your
-version is +9c15b95+. Go to http://code.i3wm.org/i3/commit/?h=next and see if
-the line "commit" starts with the same revision. If so, you are using the
+version is +9c15b95+. Go to https://github.com/i3/i3/commits/next and see if
+the most recent commit starts with the same revision. If so, you are using the
latest version.
Development versions of i3 have logging enabled by default and are compiled
crashed, the logfile provides all information necessary to debug the problem.
To upload a compressed version of the logfile (for a bugreport), use:
-------------------------------------------------------------------------------
-DISPLAY=:0 i3-dump-log | bzip2 -c | curl --data-binary @- http://logs.i3wm.org
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+DISPLAY=:0 i3-dump-log | bzip2 -c | curl --data-binary @- https://logs.i3wm.org
+-------------------------------------------------------------------------------
This command does not depend on i3 (it also works while i3 displays
the crash dialog), but it requires a working X11 connection.
information might be necessary to completely diagnose the problem.
When debugging with us in IRC, be prepared to use a so called nopaste service
-such as http://nopaste.info or http://pastebin.com because pasting large
-amounts of text in IRC sometimes leads to incomplete lines (servers have line
-length limitations) or flood kicks.
+such as https://pastebin.com because pasting large amounts of text in IRC
+sometimes leads to incomplete lines (servers have line length limitations) or
+flood kicks.
== Debugging i3bar
== Using git / sending patches
For a short introduction into using git, see
-http://web.archive.org/web/20121024222556/http://www.spheredev.org/wiki/Git_for_the_lazy
-or, for more documentation, see http://git-scm.com/documentation
+https://web.archive.org/web/20121024222556/http://www.spheredev.org/wiki/Git_for_the_lazy
+or, for more documentation, see https://git-scm.com/documentation
Please talk to us before working on new features to see whether they will be
accepted. A good way for this is to open an issue and asking for opinions on it.
To get an impression of how different layouts are represented, just play around
and look at the data structures -- they are exposed as a JSON hash. See
-http://i3wm.org/docs/ipc.html#_tree_reply for documentation on that and an
+https://i3wm.org/docs/ipc.html#_tree_reply for documentation on that and an
example.
== Files
<meta charset="utf-8">
<meta name="generator" content="Pod::Simple::HTML">
<meta name="description" content="i3 Perl documentation">
-<link rel="stylesheet" href="http://i3wm.org/css/style.css" type="text/css" />
+<link rel="stylesheet" href="https://i3wm.org/css/style.css" type="text/css" />
<style type="text/css">
.pod pre {
background: #333;
<ul id="nav">
<li><a style="border-bottom: 2px solid #fff" href="/docs">Docs</a></li>
<li><a href="/screenshots">Screens</a></li>
- <li><a href="http://faq.i3wm.org/">FAQ</a></li>
+ <li><a href="https://www.reddit.com/r/i3wm/">FAQ</a></li>
<li><a href="/contact">Contact</a></li>
- <li><a href="http://bugs.i3wm.org/">Bugs</a></li>
+ <li><a href="https://bugs.i3wm.org/">Bugs</a></li>
</ul>
<br style="clear: both">
<div id="content" class="pod">
You can find an example of a shell script which can be used as your
+status_command+ in the bar configuration at
-http://code.stapelberg.de/git/i3/tree/contrib/trivial-bar-script.sh?h=next
+https://github.com/i3/i3/blob/next/contrib/trivial-bar-script.sh
=== Header in detail
Note: Swallowing windows into unsatisfied placeholder windows takes precedence
over
-link:http://i3wm.org/docs/userguide.html#_automatically_putting_clients_on_specific_workspaces[assignment
+link:https://i3wm.org/docs/userguide.html#_automatically_putting_clients_on_specific_workspaces[assignment
rules]. For example, if you assign all Emacs windows to workspace 1 in your i3
configuration file, but there is a placeholder window on workspace 2 which
matches Emacs as well, your newly started Emacs window will end up in the
image:layout-saving-1.png["Restored layout",width=400,link="layout-saving-1.png"]
The structure of this JSON file looks a lot like the +TREE+ reply, see
-http://build.i3wm.org/docs/ipc.html#_tree_reply for documentation on that. Some
+https://build.i3wm.org/docs/ipc.html#_tree_reply for documentation on that. Some
properties are excluded because they are not relevant when restoring a layout.
Most importantly, look at the "swallows" section of each window. This is where
easier. In case you are writing a more elaborate tool for manipulating these
layouts, you can either use a JSON parser that supports these deviations (for
example libyajl), transform the layout file to a JSON-conforming file, or
-link:http://cr.i3wm.org/[submit a patch] to make +i3-save-tree(1)+ optionally
-output standard-conforming JSON.
+link:https://github.com/i3/i3/blob/next/.github/CONTRIBUTING.md[submit a patch]
+to make +i3-save-tree(1)+ optionally output standard-conforming JSON.
== Troubleshooting
<header>
<img id="logo" src="logo-30.png" alt="" />
<h1>i3 Reference Card</h1>
- <a href="http://i3wm.org/docs/userguide.html">http://i3wm.org/docs/userguide.html</a>
+ <a href="https://i3wm.org/docs/userguide.html">https://i3wm.org/docs/userguide.html</a>
<p>
Throughout this guide, the i3 logo will be used to refer to the configured modifier.
This is the <kbd></kbd> key (<code>Mod1</code>) by default,
http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
2. The latest Perl documentation of the "i3test" (general testcase setup) and
"i3test::Test" (additional test instructions) modules:
- http://build.i3wm.org/docs/lib-i3test.html respectively
- http://build.i3wm.org/docs/lib-i3test-test.html
+ https://build.i3wm.org/docs/lib-i3test.html respectively
+ https://build.i3wm.org/docs/lib-i3test-test.html
3. The latest documentation on i3’s IPC interface:
- http://build.i3wm.org/docs/ipc.html
+ https://build.i3wm.org/docs/ipc.html
== Implementation
--------------------------------------------------------------------------------
In case you don’t have root permissions, you can also install into your home
-directory, see http://michael.stapelberg.de/cpan/
+directory, see https://michael.stapelberg.de/cpan/
=== Mechanisms
terminating it cleanly and (most importantly) for modifying and getting the
current state (layout tree).
-See [http://i3wm.org/docs/ipc.html] for documentation on the IPC interface.
+See [https://i3wm.org/docs/ipc.html] for documentation on the IPC interface.
==== X11::XCB
second part is the class ("URxvt" in this example).
Should you have any problems with assignments, make sure to check the i3
-logfile first (see http://i3wm.org/docs/debugging.html). It includes more
+logfile first (see https://i3wm.org/docs/debugging.html). It includes more
details about the matching process and the window’s actual class, instance and
title when starting up.
=== Forcing Xinerama
-As explained in-depth in <http://i3wm.org/docs/multi-monitor.html>, some X11
+As explained in-depth in <https://i3wm.org/docs/multi-monitor.html>, some X11
video drivers (especially the nVidia binary driver) only provide support for
Xinerama instead of RandR. In such a situation, i3 must be told to use the
inferior Xinerama API explicitly and therefore don’t provide support for
[[shmlog]]
=== Enabling shared memory logging
-As described in http://i3wm.org/docs/debugging.html, i3 can log to a shared
+As described in https://i3wm.org/docs/debugging.html, i3 can log to a shared
memory buffer, which you can dump using +i3-dump-log+. The +shmlog+ command
allows you to enable or disable the shared memory logging at runtime.
+i3-wsbar+ used to be the reference implementation before we had +i3bar+.
Nowadays, it is not shipped with release tarballs, but you can still get it at
-http://code.stapelberg.de/git/i3/tree/contrib/i3-wsbar
+https://github.com/i3/i3/blob/next/contrib/i3-wsbar
=== The big picture
# i3 config file (v4)
#
-# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
#
# This config file uses keycodes (bindsym) and was written for the QWERTY
# layout.
# i3 config file (v4)
#
-# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# For details on how the transformation of LC_MESSAGES to a list of keys that
# should be looked up works, refer to “Localized values for keys” of the
# “Desktop Entry Specification”:
-# http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html
+# https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html
my $lc_messages = setlocale(LC_MESSAGES);
# Ignore the encoding (e.g. .UTF-8)
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
my %desktops;
-# See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
+# See https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
my $xdg_data_home = $ENV{XDG_DATA_HOME};
$xdg_data_home = $ENV{HOME} . '/.local/share' if
!defined($xdg_data_home) ||
$key eq 'Terminal') {
# Values of type boolean must either be string true or false,
# see “Possible value types”:
- # http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s03.html
+ # https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s03.html
$apps{$base}->{$key} = ($value eq 'true');
}
}
}
# Don’t offer apps which have NoDisplay == true or Hidden == true.
- # See http://wiki.xfce.org/howto/customize-menu#hide_menu_entries
+ # See https://wiki.xfce.org/howto/customize-menu#hide_menu_entries
# for the difference between NoDisplay and Hidden.
next if (exists($apps{$app}->{NoDisplay}) && $apps{$app}->{NoDisplay}) ||
(exists($apps{$app}->{Hidden}) && $apps{$app}->{Hidden});
my $location = $app->{_Location};
# Quote as described by “The Exec key”:
-# http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
+# https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
sub quote {
my ($str) = @_;
$str =~ s/("|`|\$|\\)/\\$1/g;
if (!is_debug_build()) {
fprintf(stderr, "You seem to be using a release version of i3:\n %s\n\n", I3_VERSION);
fprintf(stderr, "Release versions do not use SHM logging by default,\ntherefore i3-dump-log does not work.\n\n");
- fprintf(stderr, "Please follow this guide instead:\nhttp://i3wm.org/docs/debugging-release-version.html\n");
+ fprintf(stderr, "Please follow this guide instead:\nhttps://i3wm.org/docs/debugging-release-version.html\n");
exit(1);
}
}
* client to finish the protocol. After this event is received, there is no
* further interaction with the tray client.
*
- * See: http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
+ * See: https://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
*
*/
static void handle_destroy_notify(xcb_destroy_notify_event_t *event) {
/**
* i3 currently does not support _NET_WORKAREA, because it does not correspond
* to i3’s concept of workspaces. See also:
- * http://bugs.i3wm.org/539
- * http://bugs.i3wm.org/301
- * http://bugs.i3wm.org/1038
+ * https://bugs.i3wm.org/539
+ * https://bugs.i3wm.org/301
+ * https://bugs.i3wm.org/1038
*
* We need to actively delete this property because some display managers (e.g.
* LightDM) set it.
/**
* This function returns the absolute path to the executable it is running in.
*
- * The implementation follows http://stackoverflow.com/a/933996/712014
+ * The implementation follows https://stackoverflow.com/a/933996/712014
*
* Returned value must be freed by the caller.
*/
* © 2009 Michael Stapelberg and contributors (see also: LICENSE)
*
* For more information on RandR, please see the X.org RandR specification at
- * http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt
+ * https://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt
* (take your time to read it completely, it answers all questions).
*
*/
You may find an up-to-date version of these source files online:
- http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.h
- http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c
+ https://cgit.freedesktop.org/systemd/plain/src/sd-daemon.h
+ https://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c
This should compile on non-Linux systems, too, but with the
exception of the sd_is_xxx() calls all functions will become NOPs.
/*
* This function returns the absolute path to the executable it is running in.
*
- * The implementation follows http://stackoverflow.com/a/933996/712014
+ * The implementation follows https://stackoverflow.com/a/933996/712014
*
* Returned value must be freed by the caller.
*/
get_outputs::
Gets the current outputs. The reply will be a JSON-encoded list of outputs (see
the reply section of docs/ipc, e.g. at
-http://i3wm.org/docs/ipc.html#_receiving_replies_from_i3).
+https://i3wm.org/docs/ipc.html#_receiving_replies_from_i3).
get_tree::
Gets the layout tree. i3 uses a tree as data structure which includes every
and the "how to hack" guide. If you are building from source, run:
+make -C docs+
-You can also access these documents online at http://i3wm.org/
+You can also access these documents online at https://i3wm.org/
i3-input(1), i3-msg(1), i3bar(1), i3-nagbar(1), i3-config-wizard(1),
i3-migrate-config-to-v4(1)
similar. It is automatically invoked (and configured through) i3.
i3bar supports colors via a JSON protocol starting from v4.2, see
-http://i3wm.org/docs/i3bar-protocol.html
+https://i3wm.org/docs/i3bar-protocol.html
== ENVIRONMENT
#
# So, if you want to use it, here you go. This is however not a supported
# document, and I recommend you have a look at the docs/ folder or at
-# http://i3wm.org/ for more, real documentation.
+# https://i3wm.org/ for more, real documentation.
#
#---------------------------------------------------------------------------
* XCB_XKB_PER_CLIENT_FLAG_GRABS_USE_XKB_STATE and
* XCB_XKB_PER_CLIENT_FLAG_LOOKUP_STATE_WHEN_GRABBED. See also doc/kbproto
* section 2.2.2:
- * http://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html#Computing_A_State_Field_from_an_XKB_State */
+ * https://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html#Computing_A_State_Field_from_an_XKB_State */
switch ((event_state & 0x6000) >> 13) {
case XCB_XKB_GROUP_1:
state_filtered |= (I3_XKB_GROUP_MASK_1 << 16);
/*
* i3 currently does not support _NET_WORKAREA, because it does not correspond
* to i3’s concept of workspaces. See also:
- * http://bugs.i3wm.org/539
- * http://bugs.i3wm.org/301
- * http://bugs.i3wm.org/1038
+ * https://bugs.i3wm.org/539
+ * https://bugs.i3wm.org/301
+ * https://bugs.i3wm.org/1038
*
* We need to actively delete this property because some display managers (e.g.
* LightDM) set it.
/* This request is used by pagers and bars to change the current
* desktop likely as a result of some user action. We interpret this as
* a request to focus the given workspace. See
- * http://standards.freedesktop.org/wm-spec/latest/ar01s03.html#idm140251368135008
+ * https://standards.freedesktop.org/wm-spec/latest/ar01s03.html#idm140251368135008
* */
DLOG("Request to change current desktop to index %d\n", event->data.data32[0]);
Con *ws = ewmh_get_workspace_by_index(event->data.data32[0]);
/*
* Pagers wanting to close a window MUST send a _NET_CLOSE_WINDOW
* client message request to the root window.
- * http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472668896
+ * https://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472668896
*/
Con *con = con_by_window_id(event->window);
if (con) {
xcb_xkb_per_client_flags_reply_t *pcf_reply;
/* The last three parameters are unset because they are only relevant
* when using a feature called “automatic reset of boolean controls”:
- * http://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html#Automatic_Reset_of_Boolean_Controls
+ * https://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html#Automatic_Reset_of_Boolean_Controls
* */
pcf_reply = xcb_xkb_per_client_flags_reply(
conn,
* © 2009 Michael Stapelberg and contributors (see also: LICENSE)
*
* For more information on RandR, please see the X.org RandR specification at
- * http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt
+ * https://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt
* (take your time to read it completely, it answers all questions).
*
*/
* The spec isn’t explicit on whether the aspect ratio hints should be
* respected during fullscreen mode. Other WMs such as Openbox don’t do
* that, and this post suggests that this is the correct way to do it:
- * http://mail.gnome.org/archives/wm-spec-list/2003-May/msg00007.html
+ * https://mail.gnome.org/archives/wm-spec-list/2003-May/msg00007.html
*
* Ignoring aspect ratio during fullscreen was necessary to fix MPlayer
- * subtitle rendering, see http://bugs.i3wm.org/594 */
+ * subtitle rendering, see https://bugs.i3wm.org/594 */
if (!render_fullscreen && con->window->aspect_ratio > 0.0) {
DLOG("aspect_ratio = %f, current width/height are %d/%d\n",
con->window->aspect_ratio, inset->width, inset->height);
* windows up until commit 0db93d9 here. However, since all terminal
* emulators cope with ignoring the size hints in a better way than we
* can (by providing their fake-transparency or background color), this
- * code was removed. See also http://bugs.i3wm.org/540 */
+ * code was removed. See also https://bugs.i3wm.org/540 */
DLOG("child will be at %dx%d with size %dx%d\n", inset->x, inset->y, inset->width, inset->height);
}
* global fullscreen containers, we cannot abort rendering here yet,
* because the floating windows (with popup_during_fullscreen smart)
* have not yet been rendered (see the CT_ROOT code path below). See
- * also http://bugs.i3wm.org/1393 */
+ * also https://bugs.i3wm.org/1393 */
if (con->type != CT_ROOT) {
return;
}
/* xcb_disconnect leaks memory in libxcb versions earlier than 1.11,
* but it’s the right function to call. See
- * http://cgit.freedesktop.org/xcb/libxcb/commit/src/xcb_conn.c?id=4dcbfd77b
+ * https://cgit.freedesktop.org/xcb/libxcb/commit/src/xcb_conn.c?id=4dcbfd77b
*/
xcb_disconnect(restore_conn);
free(xcb_watcher);
/* We provide pipe file descriptors for stdin/stdout because gdb < 7.5
* crashes otherwise, see
- * http://sourceware.org/bugzilla/show_bug.cgi?id=14114 */
+ * https://sourceware.org/bugzilla/show_bug.cgi?id=14114 */
dup2(stdin_pipe[0], STDIN_FILENO);
dup2(stdout_pipe[1], STDOUT_FILENO);
* will be mapped when i3 closes its connection (e.g. when
* restarting). This is not what we want, since some apps keep
* unmapped windows around and don’t expect them to suddenly be
- * mapped. See http://bugs.i3wm.org/1617 */
+ * mapped. See https://bugs.i3wm.org/1617 */
xcb_change_save_set(conn, XCB_SET_MODE_DELETE, con->window->id);
/* Ignore X11 errors for the ReparentWindow request.
* documentation of this hint is nowhere to be found.
* For more information see:
* https://people.gnome.org/~tthurman/docs/metacity/xprops_8h-source.html
- * http://stackoverflow.com/questions/13787553/detect-if-a-x11-window-has-decorations
+ * https://stackoverflow.com/questions/13787553/detect-if-a-x11-window-has-decorations
*/
#define MWM_HINTS_FLAGS_FIELD 0
#define MWM_HINTS_DECORATIONS_FIELD 2
/* We explicitly set a background color and border color (even though we
* don’t even have a border) because the X11 server requires us to when
* using 32 bit color depths, see
- * http://stackoverflow.com/questions/3645632 */
+ * https://stackoverflow.com/questions/3645632 */
mask |= XCB_CW_BACK_PIXEL;
values[0] = root_screen->black_pixel;
=head2 start_xserver($parallel)
Starts C<$parallel> (or number of cores * 2 if undef) Xephyr processes (see
-http://www.freedesktop.org/wiki/Software/Xephyr/) and returns two arrayrefs: a
+https://www.freedesktop.org/wiki/Software/Xephyr/) and returns two arrayrefs: a
list of X11 display numbers to the Xephyr processes and a list of PIDs of the
processes.
sub noninteractive {
# CONTINUOUS_INTEGRATION gets set when running under Travis, see
- # http://docs.travis-ci.com/user/ci-environment/ and
+ # https://docs.travis-ci.com/user/ci-environment/ and
# https://github.com/travis-ci/travis-ci/issues/1337
return (! -t STDOUT) || (
defined($ENV{CONTINUOUS_INTEGRATION}) &&
C<Time::HiRes>’s C<sleep> and C<i3test::Test> so that all of them are available
to you in your testcase.
-See also C<i3test::Test> (L<http://build.i3wm.org/docs/lib-i3test-test.html>)
+See also C<i3test::Test> (L<https://build.i3wm.org/docs/lib-i3test-test.html>)
which provides additional test instructions (like C<ok> or C<is>).
=cut
This can be used to ensure the results of a cmd 'focus left' are pushed to
X11 and that C<< $x->input_focus >> returns the correct value afterwards.
-See also L<http://build.i3wm.org/docs/testsuite.html> for a longer explanation.
+See also L<https://build.i3wm.org/docs/testsuite.html> for a longer explanation.
my $window = open_window;
$window->add_hint('urgency');
bool set_xkb_group(int group) {
xcb_generic_error_t *err = NULL;
// Needs libxcb ≥ 1.11 so that we have the following bug fix:
- // http://cgit.freedesktop.org/xcb/proto/commit/src/xkb.xml?id=8d7ee5b6ba4cf343f7df70372a3e1f85b82aeed7
+ // https://cgit.freedesktop.org/xcb/proto/commit/src/xkb.xml?id=8d7ee5b6ba4cf343f7df70372a3e1f85b82aeed7
xcb_void_cookie_t cookie = xcb_xkb_latch_lock_state_checked(
conn,
XCB_XKB_ID_USE_CORE_KBD, /* deviceSpec */
# vim:ts=4:sw=4:expandtab
#
# Please read the following documents before working on tests:
-# • http://build.i3wm.org/docs/testsuite.html
+# • https://build.i3wm.org/docs/testsuite.html
# (or docs/testsuite)
#
-# • http://build.i3wm.org/docs/lib-i3test.html
+# • https://build.i3wm.org/docs/lib-i3test.html
# (alternatively: perldoc ./testcases/lib/i3test.pm)
#
-# • http://build.i3wm.org/docs/ipc.html
+# • https://build.i3wm.org/docs/ipc.html
# (or docs/ipc)
#
# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
for f in $(grep '\.html$' debian/i3-wm.docs | grep -v 'docs/refcard.html' | grep -v 'docs/lib-i3test')
do
- asciidoc -a linkcss -a stylesdir=http://i3wm.org/css -a scriptsdir=http://i3wm.org/js --backend=xhtml11 -f docs/asciidoc-git.conf $(dirname $f)/$(basename $f .html)
+ asciidoc -a linkcss -a stylesdir=https://i3wm.org/css -a scriptsdir=https://i3wm.org/js --backend=xhtml11 -f docs/asciidoc-git.conf $(dirname $f)/$(basename $f .html)
done
./docs/i3-pod2html i3-dmenu-desktop man/i3-dmenu-desktop.html
./docs/i3-pod2html i3-save-tree man/i3-save-tree.html
./docs/i3-pod2html testcases/lib/i3test/Test.pm docs/lib-i3test-test.html
for file in $(sed 's/\.1$/.man/g' debian/i3-wm.manpages)
do
- [ -f "$file" ] && asciidoc -a linkcss -a stylesdir=http://i3wm.org/css -a scriptsdir=http://i3wm.org/js --backend=xhtml11 -f docs/asciidoc-git.conf "$file"
+ [ -f "$file" ] && asciidoc -a linkcss -a stylesdir=https://i3wm.org/css -a scriptsdir=https://i3wm.org/js --backend=xhtml11 -f docs/asciidoc-git.conf "$file"
done
mkdir -p deb/COPY-DOCS