Age | Commit message (Collapse) | Author |
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Clears many gcc -Wshadow warnings
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Resolves gcc -Wmissing-prototypes warnings
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Resolves gcc -Wsuggest-attribute=noreturn warning
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Found by using:
codespell --builtin clear,rare,usage,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Make sure the function succeeded before looking at the return value.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
Fix the test when computing size necessary for true color output to
use 'is_truecolor_term' instead of 'is_utf8_locale'. A non-utf8 locale
with a true color terminal would have under-allocated the
buffer. Also, check for truecolor first to match the output code.
This doesn't fix the fact that this code over-allocates by a factor of
two in this case, but that at least won't cause memory corruption.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
Make sure we clean up after this call by using the XFreeStringList
function.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
Auto-detecting the terminal width and eliding icons that are too wide
is a nice new feature, but we shouldn't change the behaviour when that
width is not detectable (e.g., when output to a file). Change the
default terminal width from 80 to 144 + 8 to get back to the previous
output format.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
Otherwise looks like this:
Icon (48 x 48):
(not shown) Icon (64 x 64):
(not shown) Icon (128 x 128):
(not shown)
|
|
|
|
|
|
We need up to 3 bytes per character in UTF8 mode, not 4.
|
|
Assuming we can query the terminal width.
|
|
`-help` is mentioned in the manpages, but actually running `xprop -help`
results in xprop exiting with status 1 as it doesn't recognise the option.
This has been the source of major confusion here:
https://github.com/franciscolourenco/done/issues/77#issuecomment-612404448
Signed-off-by: Jason Nader <jason.nader@protonmail.com>
|
|
Found by gcc 7.3:
xprop.c: In function ‘Read_Quoted’:
xprop.c:163:8: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
} else
^~~~
xprop.c:164:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
ptr++[0] = c; length--;
^~~~~~
Introduced in initial commit to X Consortium RCS in 1987:
https://cgit.freedesktop.org/~alanc/xc-historical/commit/xc/programs/xprop/xprop.c?id=18ea83d7457743936e99a574b50e208f7697f096
Actual effect is minimal - for every \-escaped newline in the DFORMAT
portion of a xprop formats file, xprop subtracted one byte too many
from the count of bytes still available in the buffer, which could lead
it to return an error of "Bad format file format: dformat too long." when
there was still room left. Since the original buffer size was 10,000
bytes, and the current size is 500,000 bytes, it's unlikely anyone ever
hit this in real usage.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Eirik Byrkjeflot Anonsen <eirik@eirikba.org>
|
|
Signed-off-by: Eirik Byrkjeflot Anonsen <eirik@eirikba.org>
|
|
Signed-off-by: Eirik Byrkjeflot Anonsen <eirik@eirikba.org>
|
|
Signed-off-by: Eirik Byrkjeflot Anonsen <eirik@eirikba.org>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Allows us to get rid of a second copy of the code that differed only
in the unicode argument passed on to Format_String.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Fix "bad format character: u" error for format '8u', e.g.:
xprop -root -f _NET_WM_NAME 8u -set _NET_WM_NAME LG3D
Signed-off-by: James Cloos <cloos@jhcloos.com>
|
|
xprop.c:1011:2: warning: Function call argument is an uninitialized value
memcpy(_formatting_buffer, error, strlen(error)+1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xprop.c:1011:36: note: instantiated from:
memcpy(_formatting_buffer, error, strlen(error)+1);
^ ~~~~~
Found-by: clang static analysis
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
xprop.c:299:25: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
_property_formats = Add_Thunk(_property_formats, t);
^ ~
xprop.c:1394:11: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
thunks = Add_Thunk(thunks, t);
^ ~
xprop.c:1581:15: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
thunks = Add_Thunk(thunks, t);
^ ~
xprop.c:1962:18: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
set_props = Add_Thunk(set_props, t);
^ ~
xprop.c:1952:21: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'thunk_count')
remove_props = Add_Thunk(remove_props, t);
^ ~
Found-by: clang static analyzer
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
|
|
Since stdlib.h versions return void *, remove unneeded casts that
the wrappers needed.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
|
|
Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Introduces 'u' format character, which behaves like 's', but leaves
UTF-8 encoding intact.
Property value is checked for UTF-8 validity according to RFC 3629.
If invalid, an error string is printed, followed by the string formatted
using 's'. ie:
PROP(UTF8_STRING) = <Invalid UTF-8 string: Forbidden value> "\374\233"
Signed-off-by: Yang Zhao <yang@yangman.ca>
Signed-off-by: James Cloos <cloos@jhcloos.com>
|
|
|
|
|
|
|
|
I'm trying to use xprop with the -spy option in a shell script, and
since it doesn't flush stdout, it's bunching up lots of modifications
into a big chunk of writes.
|
|
From bug 2185¹
When manually selecting a window, xprop finds the top-level window containing
the pointer and uses XmuClientWindow to attempt to find a client window having
WM_STATE set.
In a WM using virtual roots (e.g. enlightenment, desks other than first) this
fails beacuse the top-level window is a virtual root, and XmuClientWindow seems
to find the first client having WM_STATE set, which only by coincidence will be
the one the user intended to select (i.e. containing the pointer).
The solution is to descend the window hierarchy at the pointer location to find
a window with WM_STATE set.
1] https://bugs.freedesktop.org/show_bug.cgi?id=2185
Signed-off-by: James Cloos <cloos@jhcloos.com>
|
|
CJK locales need a much longer string as they include
many \xXX entries which expand into /XXXXXXXX entries.
Increased the buffer from 10000 to 500000 bytes.
Make sure buffer pointer doesn't go negative in _put_char.
|
|
|
|
|
|
|
|
|
|
|
|
Handle buggy servers which set actual_format_return == 0, instead of aborting.
|
|
|
|
|
|
|
|
|
|
|