Commit Graph

76 Commits

Author SHA1 Message Date
Michael Catanzaro
25440a07c3 Avoid direct use of libproxy
Since hexchat already depends on GLib, it's better to use GProxyResolver
instead. This might use libproxy, or not, as appropriate.

P.S. This removes a memory safety issue because proxy_list is allocated
using malloc(), not g_malloc(), and therefore using g_strfreev() is
incorrect. The proper way to free the proxy list returned by libproxy
is to use px_proxy_factory_free_proxies() (but nobody does that because
it was added in libproxy 0.4.16, which is somewhat recent).
2021-07-12 11:29:15 -05:00
BakasuraRCE
da26097aab notification: Implement notification option for channels 2021-05-23 21:17:07 -05:00
Dren Kajmakchi
1452e803fb A tiny code style change 2017-10-16 05:10:32 -04:00
torhus
281038e725 UI text consistency, capitalization etc. 2017-08-19 16:49:30 -04:00
torhus
da0635c960 Adjust use of ellipsis (...) in menus according to Gnome HIG (#2035)
* Adjust use of ellipses (...) in menus according to Gnome HIG

https://developer.gnome.org/hig/stable/writing-style.html.en
2017-08-18 15:59:31 -04:00
Patrick Griffis
806a0da258 Fix skipping autoconnect when passed 1 URL 2017-06-22 13:19:43 -04:00
Patrick Griffis
3118df2042 Fix timers being incorrectly removed
Possibly fixing #1866
2016-11-30 00:52:48 -05:00
Patrick Griffis
241dd69b08 Further tab color improvements
- Combine the three properties into a single one
- Finally fully fix the handling with plugins handling events

TODO: Look into lastact handling of these, seems wrong
2016-11-11 19:27:57 -05:00
Ben Gamari
215a164e57 Ensure that timers are freed and activated when necessary 2016-06-29 15:42:11 -04:00
Ben Gamari
9e4c2ddc47 Apply timeout changes made in preferences dialog
Just involves a bit of refactoring.
2016-06-29 15:42:11 -04:00
Ben Gamari
bcbe42dd7a Introduce and use fe_timeout_add_seconds
This should allow the operating system to be a bit more lax about
timeouts, allowing more efficient power management.
2016-06-29 15:42:11 -04:00
Ben Gamari
25e197a6c8 dcc: Disable timeout timer when not in use
This should mean that hexchat never *needs* to wake-up unless prompted
by socket activity (assuming that the lag-o-meter is not enabled).
2016-06-29 15:42:11 -04:00
Ben Gamari
7dca220486 Refactor timer handling
This allows us to omit the lagometer timer in the event that it is not
enabled, bringing the baseline wake-up rate down to 1Hz from 2Hz, which
could bring considerable power savings on mobile devices.
2016-06-29 15:24:03 -04:00
LemonBoy
0635e91dd6 Don't flush the chanopt_list when saving it
Closes #1665
Fixes #1134
2016-03-30 08:11:07 -04:00
Patrick Griffis
650bddcfd1 Improve scrollback file handling
- Properly use filesystem encoding
- Validate utf8 when loading (hopefully fixing crashes)
- Use Gio
- Handle Windows line endings
- Remove dead code
- Fix respecting max length of scrollback files
2016-01-31 15:31:15 -05:00
Arnavion
5a87d814cf Call CoInitialize, CoInitializeSecurity and CoUninitialize from the main process, not from a DLL.
They're process-level functions and aren't meant to be called from DLLs. CoInitSecurity in particular fails with RPC_E_TOO_LATE even if no other call to CoCreateInstance has been made yet.

Fixes sysinfo's WMI calls on Windows 8.1 and above.
2015-02-10 22:14:22 -08:00
TingPing
60fa7efbc8 Fix logging hostname of queries
- Move query topic setting from frontend (where its too late)
- Respect chanopts for logging hostname
- Open query logfile *after* chanopts loaded
2015-02-01 01:47:50 -05:00
Arnavion
5749c53484 Server line text-encoding-related fixes.
- Handle server lines that contain sequences which are invalid in the server encoding. Previously, these would cause the whole line to be interpreted in ISO-8859-1, but now they're simply replaced with an appropriate replacement character.

- Removed prefs.utf8_locale.

- Change default server encoding from system locale to UTF-8.

- Always populate server->encoding with a non-null value - UTF-8.

Fixes #1198
2015-01-18 02:10:04 -08:00
TingPing
2a28289314 Don't return 0 in place of NULL 2014-12-31 11:31:17 -05:00
TingPing
112632bb4e Fix some possible null-deref warnings 2014-12-31 11:12:43 -05:00
TingPing
fef580ed7f Rewrite identd
- Use gio (which is cross platform)
- Properly support multiple users
- Allow configuring port
- Allow other plugins overriding
2014-12-30 06:35:42 -05:00
TingPing
5beaf15f21 Remove option to use socks5 library
This was always disabled by default and is not required
for the current socks support. I am not even sure this
library is packaged by any distro?
2014-12-28 22:29:06 -05:00
TingPing
1b2bee37e4 Remove option to disable ipv6
It has been default for a while, is the only tested option,
and will only get more common.
2014-12-28 22:29:06 -05:00
TingPing
9cb73f839f Remove MSProxy support
It's not enabled anywhere, certainly not maintained
2014-12-28 13:28:19 -05:00
TingPing
95febd978c Fix building as c89 2014-12-28 06:47:23 -05:00
TingPing
83032b1aa3 Use glib for all allocations
- Removes need to check for malloc failure
- Removes need for NULL checks on free
- Adds checks for integer overflows
- Removes some extra memset calls
- Removes chance of mixing libc and glib malloc/free
2014-12-28 06:44:44 -05:00
leeter
6aafc8e51d Fix chanopts not saving if /quit before exit
This is the C fix, unfortunately a proper fix, e.g.
 removing the dependency on session_name all together is a much vaster
 refactor outside the scope of this bugfix.

Closes #1111
2014-12-10 14:40:42 -05:00
Arnavion
8062bce835 Fix some obvious type warnings. 2014-12-04 04:06:38 -08:00
TingPing
f03023297b Fix handling --cfgdir
Fixes #1225
2014-11-29 08:31:35 -05:00
TingPing
4b6215051f ssl: Don't use global openssl context
Fixes #789
2014-11-05 01:27:39 -05:00
TingPing
45526205ab Remove broken debug code 2014-06-21 22:21:12 -04:00
TingPing
5849a0588e Use glib to parse and launch commands for util_exec
Fixes #958
2014-06-04 10:38:23 -04:00
RichardHitt
0f828dd74f Add marker-line functionality for scrollback, instant seek.
Fixes #662.
2014-04-02 16:14:45 -07:00
Diogo Sousa
1d6d737927 Fixed lag meter getting stuck.
Also lag_sent in struct server should have always been an unsigned long.

Fixes #749.
2014-01-27 19:57:41 +00:00
TingPing
35e84f6edc Show error when you lack write permissions to configdir 2014-01-26 06:55:38 -05:00
TingPing
92a3a34785 Actually call commands sent with --command
Closes #884
2014-01-20 16:42:33 -05:00
TingPing
1e1ef1c6cf Change url-handler example to firefox -new-window
Firefox removed the ability to open private windows with a link
2014-01-03 03:39:35 -05:00
TingPing
d7e3e4c9a4 Only return channel sessions from find_channel()
Closes #865
2013-12-23 16:44:40 -05:00
TingPing
aab55d8cff Handle extraneous cli args as urls 2013-07-01 13:43:58 -04:00
Diogo Sousa
473ab16739 Now the default configuration tries to set the language from the system
locale, and defaults to english if no language match.

This closes #473.
2013-06-08 02:34:01 +01:00
TingPing
cf505b850b Add chanopt for stripping colors 2013-06-06 17:47:01 -04:00
TingPing
df0e97550b fix loading startup.txt automatically 2013-06-04 06:07:51 -03:00
TingPing
270cde42f1 Merge pull request #590 from orium/run-as-root-589-504
Now hexchat doesn't abnormally terminate when started as root.
2013-05-24 15:01:27 -07:00
TingPing
1181b56211 Add omsg user command 2013-05-17 06:17:16 -03:00
Diogo Sousa
d9d05e83ba Restructured a fair bit of cfgfiles.c. Besides making the code cleaner this allows
for better error handling (in fact the error message of check_prefs_dir () whould
make hexchat abort).
2013-05-13 01:58:08 +01:00
Diogo Sousa
61ed0829bd Forget to put an empty line after a function definition 2013-05-12 23:33:44 +01:00
Diogo Sousa
7238853f0f Factored locale related code in main() to a new function. 2013-05-12 23:15:23 +01:00
Diogo Sousa
6a8cad6f94 Now hexchat doesn't abnormally terminal when started as root.
This fixes #589/#504.
2013-05-12 16:37:38 +01:00
Heiki Ojasild
66853d9715 Add option to support away tracking regardless of channel size
As there is option to disable away tracking, it would make sense to treat channel size limit of 0 as infinity for away tracking purposes. These changes attempt to implement this.
2013-05-09 21:11:58 +00:00
Berke Viktor
fb01d4e9ab Replace g_strdup_printf with g_build_filename where possible 2013-05-04 18:21:48 +02:00