Commit graph

1260 commits

Author SHA1 Message Date
Reginald Kennedy
f9c4156217 Fix warp pointer issue when Coordinate Transformation Matrix is used.
Requires libxcb >= 1.9 and xinput2.

Fix screenchange should only be called if RandR is supported.

Fixes #208
2018-09-07 12:29:37 +08:00
Reginald Kennedy
9d64ae3a7c Fix bar focus color on screenchange.
Fixes #131
2018-09-07 12:29:37 +08:00
Reginald Kennedy
49297ff971 Use maximum screen depth when creating frame/bar windows.
Add refresh rate checks to appropriately limit move/resize update rate.

Change all times in debug output to hexadecimal.
2018-09-07 12:29:27 +08:00
Reginald Kennedy
1ed5783be7 Fix some styling. 2018-09-07 11:16:49 +08:00
Reginald Kennedy
2c745681f7 Trim some fat from swm_hack.
Add XOpenDisplay intercept to preload atoms.
Looking up/creating atoms when handling XCreateWindow can cause
deadlocks and other unexpected behavior in some applications.  Instead,
preload the atoms on XOpenDisplay.
2018-09-07 11:16:27 +08:00
Reginald Kennedy
b93a2731b9 Add reference to wiki Installation guide in README.md.
closes #186
2018-08-29 11:44:46 +08:00
LordReg
03301f3580
Rename NEWS.md to CHANGELOG.md 2018-08-17 23:14:19 +08:00
Andrea Bolognani
eda7e76df6 NEWS: Add release notes
Since 3.0.0, release notes for spectrwm are already being
compiled and ultimately published at

  https://github.com/conformal/spectrwm/releases

but it would be useful if they were included in the release
tarball themselves as well.

The contents of the NEWS.md file are taken straight from the
page mentioned above, with only very minor editing.
2018-08-17 08:16:24 -05:00
orbea
e40e0282a7 Whitespace 2018-05-09 08:18:41 +08:00
Reginald Kennedy
c554299020 Additional spectrwm.1 fixes.
Fix sentences that were not starting on a new line.

Fix author section macros.

Cleanup 80 col.
2018-03-29 10:00:04 +08:00
orbea
123016c534 spectrwm.1: Silence mandoc warnings
man: /usr/man/man1/spectrwm.1.gz:231:18: WARNING: new sentence, new line
  man: /usr/man/man1/spectrwm.1.gz:986:71: WARNING: new sentence, new line

  new sentence, new line
  (mdoc) A new sentence starts in the middle of a text line. Start it on a
  new input line to help formatters produce correct spacing

  https://man.openbsd.org/mandoc.1
2018-03-29 09:09:37 +08:00
Matthias von Faber
1291a720e1 Fix config file parsing on musl libc
On the musl libc, autorun, layout and workspace name settings were
always rejected as invalid. As it turns out, parsing those was relying
on sscanf incorrectly matching %Nc as long as there is at least one
character. This is fixed by matching only the initial part of the string
via sscanf and skipping ahead by the amount of bytes consumed. This also
avoids unnecessary zeroing, copying and possible implicit truncation.

Relevant glibc bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=12701
2018-03-28 18:31:43 +08:00
orbea
b34cb01ed6 spectrwm.1: Silence mandoc style warnings.
This silences the following warnings reported by mandoc.

  man: /usr/man/man1/spectrwm.1.gz:653:10: STYLE: no blank before trailing delimiter: Cm M-,
  man: /usr/man/man1/spectrwm.1.gz:655:10: STYLE: no blank before trailing delimiter: Cm M-.
  man: /usr/man/man1/spectrwm.1.gz:657:12: STYLE: no blank before trailing delimiter: Cm M-S-,
  man: /usr/man/man1/spectrwm.1.gz:659:12: STYLE: no blank before trailing delimiter: Cm M-S-.
  man: /usr/man/man1/spectrwm.1.gz:761:10: STYLE: no blank before trailing delimiter: Cm M-]
  man: /usr/man/man1/spectrwm.1.gz:765:12: STYLE: no blank before trailing delimiter: Cm M-S-]
2018-03-28 11:41:10 +08:00
Reginald Kennedy
5804b95a71 Fix pointer offset calculation on move action. 2018-03-21 15:46:08 +08:00
Reginald Kennedy
82e40ed7a7 Fix windows in stacking area sometimes being hidden.
fixes #196
2018-03-03 16:12:48 +08:00
Reginald Kennedy
308f61d58d Cleanup and improve debug output by utilizing C99 __func__. 2018-02-20 22:52:22 +08:00
Andrea Bolognani
9caab3f155 Add keywords to desktop file 2018-02-20 12:11:18 +08:00
Christoph Weiss
cd44d668d6 fix segmentation fault in font creation 2017-12-27 22:41:01 +08:00
Tobias Stoeckmann
ea3e6da622 Fix OOB while reading bar input.
If the status bar script returns NUL as the first character through
stdin, spectrwm is prone to an out of boundary access. Depending on
the memory layout of the machine, it could turn into an OOB write.

The fix is simple: If the string is empty, do not further check for
newline character.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-10-14 16:39:44 +08:00
Reginald Kennedy
1ec03c62be Remove stray empty line and fix typo. 2017-10-13 10:52:39 +08:00
Niclas Zeising
0ba908c6f4 Update config with new color options
Update example configuration file with new options bar_color_selected
and bar_font_color_selected.
Also update the example with dmenu to use the new colors.
Add two other dmenu examples, search and name_workspace, that was added
to the manual with the same commit as the new color options.
2017-10-12 19:14:52 +02:00
Marco Peereboom
81a7846935 whitespace 2017-10-03 13:45:40 -05:00
Marco Peereboom
7cd1e4dfb0 Prepare for release 3.1.0. 2017-10-03 13:36:39 -05:00
Reginald Kennedy
6b80d23815 Change bar_format +R region index to start at 1 for consistency. 2017-10-04 00:09:46 +08:00
Mike Meyer
79d583b791 Add +R for region index to bar formatting. 2017-10-03 23:52:42 +08:00
Reginald Kennedy
22167bcf2f Add new bar_color_selected and bar_font_color_selected options.
Allows for the convenient customization of dmenu selection colors.
Defaults to bar_border and bar_color, respectively.

closes #168
2017-10-03 21:36:33 +08:00
Reginald Kennedy
82efe69576 Add new 'ws_empty' action.
Switches to the first empty workspace.
Unbound by default.
2017-10-03 20:30:26 +08:00
Reginald Kennedy
ddf4d6609a Pacify Clang Static Analyzer false-positives.
Fix memory leak when parsing an invalid button bind.

Cleanup tree/queue init.
2017-10-03 16:22:46 +08:00
Reginald Kennedy
0a56e7740e Fix handling of invalid character sequences in bar_format.
fixes #35
2017-10-03 16:21:55 +08:00
K M Masum Habib
0b3636551c Enable padding in the bar_format using '_' character 2017-09-28 23:35:54 +08:00
Reginald Kennedy
bcef4a2d68 Remove java_workaround from man page since it is no longer used.
Some cleanup.
2017-09-07 22:20:37 +08:00
Reginald Kennedy
aefcce8a87 Fix initial region focus when focus_mode = follow. 2017-08-31 17:04:52 +08:00
orbea
1b7dffbed0 Silence -Wformat-truncation= warning with gcc7 2017-06-30 16:08:05 +08:00
Brenton Horne
c10368bbe6 Fixing link for xmonad
The name of the program xmonad was also provided where the link was meant to (according to Markdown syntax) be provided.
2017-05-31 10:18:21 -05:00
James Bunton
94b5bca182 Trim trailing whitespace when loading config 2017-04-25 04:44:24 +08:00
Reginald Kennedy
ba474302eb Handle MappingNotify during startup.
fixes #128
2017-04-21 20:02:14 +08:00
leonardo rojas
177767c2e5 remove linebreaks to fix image links 2017-04-01 12:07:46 +08:00
Reginald Kennedy
2646d004bf Fix LICENSE.md formatting issue.
Added trailing double-spaces to indicate single line breaks.

fixes #160
2016-12-09 20:42:35 +08:00
Reginald Kennedy
54c9d608c0 Add LICENSE.md
closes #158
2016-12-09 11:08:56 +08:00
Reginald Kennedy
79473c1e77 Fix _NET_WM_STATE_FULLSCREEN window geometry in fullscreen layout.
fixes #155
2016-11-24 00:46:59 +08:00
Marco Peereboom
82e9341888 Merge pull request #157 from natano/reset_sigpipe
Reset SIGPIPE before execvp().
2016-11-23 07:56:26 -06:00
Martin Natano
dd1b73634f Reset SIGPIPE before execvp().
Otherwise child processes inherit SIG_IGN for SIGPIPE, which can have
unexpected consequences. e.g. when performing pkg_add -ui in an xterm
spawned by spectrwm some spurious EPIPE errors find their way to the
output due to pkg_add expecting a sane default signal environment.

$ pkg_add -nuix vim
quirks-2.261 signed on 2016-10-11T14:06:48Z
Error from http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/vim-8.0.0004-gtk2-perl-python3-ruby.tgz
signify: write to stdout: Broken pipe
Error from http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/vim-8.0.0004-gtk2-lua.tgz
signify: write to stdout: Broken pipe
[...]
2016-11-23 11:18:55 +01:00
Marco Peereboom
0c8fb09385 Merge pull request #154 from ideasman42/patch-1
Correct size for WM_STATE
2016-11-22 10:58:37 -06:00
Campbell Barton
bc96e0b5ee Correct size for WM_STATE
Match the type of the array to the `format` argument (32).

Could change the format to 16, but the value is documented to be a `CARD32`, so may as well use 32 bit input.
2016-11-20 09:12:47 +11:00
Andrea Bolognani
9d338b286b Fix man errors
Remove all uses of the .Cm macro that are immediately followed
by another macro, such as .Ns or .Aq.

[rk@rejii.com: tweak commit message; resolves 'man --warnings']
closes #138
2016-08-26 13:09:38 +08:00
Andrea Bolognani
914d8f4c46 Include the top level header of each xcb module used
One xcb module, one header file: <xcb/xcb.h> should to be
included directly, instead of relying on other modules dragging
it in; on the other hand, it's okay to include just the top
level <xcb/xcb_util.h> instead of the three separate sub-headers.

[rk@rejii.com: skip xcb_util.h since it breaks xcb-util < 0.3.8]
closes #142
2016-08-26 13:06:25 +08:00
Andrea Bolognani
092e5c269f linux: Enable PIE
PIE (position-independent executables) is a security feature
that has been made reasonably cheap by recent improvements in
GCC; as a result, more and more Linux distributions are pushing
for its adoption.

Unfortunately, PIE and PIC are not compatible, so we have to
manage the CFLAGS and LDFLAGS used to compile the library and
the executable indipendently.
2016-07-31 19:05:10 +02:00
Andrea Bolognani
2c2034e3bf linux: Use -fPIC instead of -fpic
According to GCC's documentation, -fpic can have compatibility
issues on some platforms. Use -fPIC instead, which generates
slightly bigger objects but is generally more likely to work.

Get rid of -DPIC, since the symbol is not used anywhere.
2016-07-31 19:03:38 +02:00
Andrea Bolognani
ac945112ba linux: Use --as-needed when linking
Using this flag will cause the linker to ignore any libraries
that have been listed on the command line but whose symbols are
not actually used.

Right now, it just gets rid of the unnecessary linking against
xcb-render (see https://bugs.debian.org/829709), but it might
catch missing dependencies in the future, and it will generally
keep the resulting binaries nice and tidy.

Ubuntu and Arch are both using --as-needed by default already,
and other distributions will probably switch at some point.
2016-07-05 16:40:48 +02:00
Andrea Bolognani
857820719e linux: Use pkg-config for dependencies' CPPFLAGS and LDLIBS
Instead of hardcoding the information needed to compile and link
against libraries, call pkg-config to retrieve them at runtime.
2016-07-03 22:48:18 +02:00