Commit Graph

126 Commits

Author SHA1 Message Date
A_D
7abeb10cf1 python: plugin cleanup and refactor 2019-01-02 18:50:10 -05:00
linuxdaemon
a5a727122b python: Make sure help() doesn't cause hexchat to hang (#2290)
* Make sure `help()` doesn't cause hexchat to hang

Replace `pydoc.help` with a copy of `pydoc.Helper` with an empty
`StringIO` instead of stdin

* Handle BytesIO vs StringIO on 2.7
2018-12-27 14:46:02 -05:00
linuxdaemon
f7713a6a64 python: Make the plugins table dynamically sized (#2291)
Adjust the width of the columns depending on the length of the data in
each element
2018-12-26 17:15:25 -05:00
A_D
3ebfa83fdd python: Made sure to set sys.argv if it is not set. fixes #2282 2018-12-26 16:58:46 -05:00
Patrick Griffis
ed55330153 python: Fix console not eating commands 2018-12-05 19:45:30 -05:00
A_D
a2ff661d40 python: Various cffi fixes
- fixed /py exec behaviour
- fixed hexchat.unload_hook() failing when passed a hook id
- fixed get_list() calls in python3
2018-11-09 18:36:59 -05:00
Patrick Griffis
706f9bca82 python: Rewrite with CFFI 2018-11-09 18:36:59 -05:00
Patrick Griffis
541b9ca744 win32: Update to build against gvsbuild 2018-03-09 20:26:41 +00:00
Patrick Griffis
628100c19f build: Replace Autotools with Meson
Quick rundown of benefits:

- Much faster:
  - Autotools (with autogen): 22 seconds
  - Meson: 7 seconds
  - Meson (with ccache): 2 seconds

- Simpler:
  - ~1000 lines smaller
  - Single simple language

- Potentially better Windows (Visual Studio) support

What is not done:

- Complete Windows support
- OSX support (easy)

Closes #2013
Closes #1937
Closes #1803
2017-06-13 23:54:51 -04:00
Mark Jansen
eccd0d05b5 python: Use HEXCHAT_EAT_XXX where appropriate. 2017-03-30 16:58:49 -04:00
Rainer Müller
c79ce843f4 build: Reorder includes to avoid installed plugin header
When hexchat is already installed into a non-default prefix, a new build
could pick up ${prefix}/include/hexchat-plugin.h from the installed
version instead of the local header, as configuration variables such as
$(GLIB_CFLAGS) would point to -I${prefix}/include.

Reordering the includes and moving -I arguments to CPPFLAGS prevents
this, as it ensures the local directories are always searched first.

This was no problem when compiling for /usr or /usr/local as these
directories in the compiler search path are always searched last.

Closes #1822
2016-09-26 19:16:42 -04:00
Patrick Griffis
9d74ceedfd python: Fix get_pluginpref()
This relied on undocumented behavior of hexchat_pluginpref_get_int()
that has been fixed recently. -1 is the correct failure value.
2016-08-05 21:08:52 -04:00
Patrick Griffis
0826e7d353 python: Handle get_info('win_ptr') 2016-02-18 12:59:02 -05:00
Patrick Griffis
aab881fda2 Fix strict prototype warnings 2016-02-18 08:57:22 -05:00
Arnavion
f7e3d3f32c Use VS 2015 2015-10-10 16:14:12 -07:00
Patrick Griffis
fad8f93ad8 configure: Clean up Python checking
This fixes requiring to add a version every time
a new release comes out...
2015-09-30 03:55:42 -04:00
Arnavion
9858784eb6 Better project files.
- Output directly to rel\ instead of to bin\ and then copying files over.
- Deduped Win32 vs x64 configs
- Moved some common properties to hexchat.props
- All build intermediates (except htm's intermediates) are no longer emitted in the source directory
2015-02-11 10:01:29 -08:00
TingPing
086d4e3962 python: Use Py_RETURN_NONE macro 2014-12-31 15:11:47 -05:00
TingPing
448cc962cd Python: Fix overflow and code-cleanup 2014-12-31 09:50:03 -05:00
TingPing
95febd978c Fix building as c89 2014-12-28 06:47:23 -05:00
TingPing
3f855f07f5 Use glib for allocations in all plugins
Continuation of 83032b1aa
2014-12-28 06:47:07 -05:00
TingPing
aeb5d15871 More consistently include config.h 2014-12-17 18:21:10 -05:00
TingPing
0e4164ad0c configure: Improve various build flags
- Store openssl flags in own vars
- Share some common flags for plugins
- Fix building plugins on win32
- Store all glib flags in one var
- Don't link against every lib for each plugin
- Don't hardcode ldflags for sysinfo
2014-12-15 11:07:46 -05:00
Arnavion
65da34f19e Removed some unnecessary null-checks for calls to g_free and g_strfreev 2014-12-08 21:24:59 -08:00
Campbell Barton
f83d78dd28 Warning cleanup
- ignoring const
- declarations after statements
- some C files didnt include own headers (risking them getting out of sync)

Closes #1064
2014-11-02 14:41:20 -05:00
TingPing
3cd8556c54 Use GDir instead of dirent 2014-06-04 13:56:33 -04:00
TingPing
b8c02f71d9 win32: Use config.h instead of config-win32.h 2014-06-04 10:30:18 -04:00
Adam Dane [:hobophobe]
7e55e4ee73 python: Scan for non-NULLs in print events
Closes #916
Closes #915
2014-04-19 22:30:31 -04:00
TingPing
b7e8f64bba Fix crash in hexchat_pluginpref_list()
Set max output size to 4096
2013-09-30 01:23:20 -04:00
TingPing
d18a95fda6 Make Python version consistent on both platforms
and don't hardcode 2.7/3.3
2013-09-25 20:53:23 -04:00
Eustachy Kapusta
b658fca4a7 Convert project files to vs2013 2013-09-15 15:07:46 -07:00
TingPing
e8456beadc Add reload command for plugins and add to gui 2013-08-04 04:36:10 -04:00
Arnavion
4a95b07ae7 python: Set VERSION using existing VERSION_MAJOR and VERSION_MINOR macros and some mintor refactoring. 2013-07-30 22:54:57 -07:00
TingPing
2cbe758c80 Fix some warnings 2013-07-26 22:53:01 -04:00
TingPing
72c6834cc5 Python: Fix callbacks for the "special" print hooks 2013-07-26 19:51:56 -04:00
Eustachy Kapusta
715a520c0e Move optimization settings from all subsequent projects to hexchat.props 2013-07-24 20:56:36 +02:00
TingPing
3d10b9f3e2 Python: return hooks with PyLong_FromVoidPtr
Fixes #685
2013-07-21 16:40:38 -04:00
TingPing
bf9276fc5c Python: Use keywords for attributes in emit_print() 2013-07-19 14:14:26 -04:00
TingPing
f45487e92c Python: Add support for attributes in hooks 2013-07-19 10:25:46 -04:00
TingPing
5201f0fd06 Python: revert 43bd9483ce
Will possibly come back to this at a later time...
2013-06-04 06:13:28 -03:00
TingPing
c9b7a3f86e Python: return true/false from set/del_pluginpref 2013-06-02 00:29:34 -03:00
TingPing
43bd9483ce Python: Save pluginprefs to seperate files 2013-06-02 00:22:00 -03:00
TingPing
855c20501b fix crash 2013-05-30 22:23:00 -03:00
TingPing
fd71bb768a Python: Allow unhooking commands and prints by name 2013-05-22 19:30:49 -03:00
TingPing
9891f94e41 Rebrand python about message 2013-05-18 15:42:30 -03:00
TingPing
a22ae9f39a Support time lists via python 2013-05-18 15:13:05 -03:00
Arnavion
5c9652bf13 python: Hold a reference to plugin instead of dereferencing hook to get to it.
hook might have been free'd by the callback via hexchat.unhook().
2013-05-14 01:25:01 -07:00
TingPing
beb3ab506d Import hexchat automatically when calling /py exec 2013-05-09 23:45:04 -03:00
TingPing
494364d437 Fix returning gtkwin_ptr from python api 2013-05-09 22:55:06 -03:00
Berke Viktor
b2317d8800 Typofix 2013-05-04 17:40:48 +02:00