1
0
mirror of synced 2024-12-02 19:27:21 +01:00
Commit Graph

38 Commits

Author SHA1 Message Date
WerWolv
936d1d6072 sys: Moved to a better shortcut handling system 2021-12-23 15:11:38 +01:00
WerWolv
23085aee6d fix: Heap(?) corruption when one of ImHex's resource paths points to a file instead of a directory 2021-12-15 00:21:34 +01:00
WerWolv
edca3bebd7 ui: Make window border and sizing cursors be rendered correctly on Windows 2021-12-10 16:09:55 +01:00
WerWolv
5db608c3fc ui: Fixed automatic pattern loading, added better pattern browse popup 2021-09-26 21:18:25 +02:00
WerWolv
5f63db4a34 ui: Add first unifont plane by default 2021-08-31 15:22:00 +02:00
WerWolv
633fa7213a sys: More compile time improvements 2021-08-29 22:15:18 +02:00
WerWolv
c84c106b17 ui: Add tips of the day 2021-08-22 21:11:01 +02:00
WerWolv
2362e7a11f sys: Enable logging colors on Windows, hide console
Console log can still be seen now when running ImHex through the console but the window won't pop up by default anymore
2021-08-22 20:24:42 +02:00
WerWolv
72cf94106c ui: Add interface scaling setting. Closes #7, #283 2021-08-21 13:55:21 +02:00
WerWolv
37d2d58d2f ui: Added toolbar 2021-08-21 00:52:11 +02:00
WerWolv
63f4d553cc ui: Add tooltips to custom titlebar buttons 2021-08-18 23:12:27 +02:00
WerWolv
b66304fc91 ui: Use borderless window on Windows 2021-08-18 22:36:46 +02:00
WerWolv
48f27c2174 sys: Added "Restore auto backup" popup on first launch after crash 2021-08-17 22:54:09 +02:00
WerWolv
c6bd6d4a3b ui: Added banner to welcome screen, improved laggy animations 2021-07-29 00:39:58 +02:00
WerWolv
fff91d555b ui/ux: Allow ImHex to redraw the screen while moving and resizing 2021-06-07 18:14:40 +02:00
WerWolv
d177d69724 fix: ImHex no longer behaves weirdly or crashes when no plugins are loaded 2021-04-21 23:31:51 +02:00
WerWolv
1f2fe6b93d sys: Merge splash screen and ImHex into one application
This fixes so many issues the previous implementation had, especially on Unix
2021-04-20 21:46:48 +02:00
WerWolv
ebbbcafe5c
sys: Implement more functionality into splash screen (#223)
* build: Add libcurl

* build: Stop the whole static linking on Windows mess. There's no use anymore

* sys: Added update detector and moved some startup tasks to splash screen

* sys: Updated ImHex icon

* fix: Settings button on welcome page once again works

* build: Fix build on Linux

* sys: Fixed splash window not searching all paths for resources
2021-04-18 20:24:42 +02:00
WerWolv
771bb22962 sys: Improve shortcut api 2021-04-16 19:43:54 +02:00
WerWolv
8a485575f5 ui: Added recent files to File menu 2021-04-13 08:41:59 +02:00
WerWolv
6cba868e20 sys: Added FPS limit, some power saving
#189
2021-03-06 13:09:20 +01:00
WerWolv
3e6865ffa9
sys/build: Properly support per-system metadata file paths (#181)
* sys: Move away from metadata paths next to executable in the application

Build system doesn't properly install / pack stuff yet

* build: Updated README to contain better install instructions

* sys: Search for imhex resource files in ~/Application Support

* sys: MAX_PATH -> PATH_MAX

* sys: Seach for imhex resource files in Application Support using NSFileManager (#180)

* sys: Allow for multiple file search paths

Also use install prefix instead of just /usr on Linux

* build: Fixed IMHEX_INSTALL_PREFIX macro definition

* build: Fix duplicate switch entry on Linux

* docs: Updated readme to properly reflect new paths and dependencies

* sys: Install files in their proper paths on linux (#183)

* Install files in their proper paths on linux

* Only create user directories

* Follow the XDG specification on linux

XDG specification specifies how to find config and data directories on
linux systems. Specifically, it says this:

- Data should be written to $XDG_DATA_HOME
- Config should be written to $XDG_CONFIG_HOME
- Data should be read from $XDG_DATA_HOME:$XDG_DATA_DIRS
- Config should be read from $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS

The default values are this:

- XDG_DATA_HOME: $HOME/.local/share
- XDG_CONFIG_HOME: $HOME/.config
- XDG_DATA_DIRS: /usr/share:/usr/local/share
- XDG_CONFIG_DIRS: /etc/xdg

Platforms with non-standard filesystems (like NixOS) will correctly set
up those environment variables, allowing softwares to work unmodified.

In order to make integration as simple as possible, we use a simple
header-only dependency called XDGPP which does all the hard work for us
to find the default directories.

* Look for plugins in all Plugin Paths

If the plugin folder was missing from one of the PluginPaths, we would
immediately stop loading plugins. We now keep looking even if one of the
path is missing.

Co-authored-by: Nichole Mattera <me@nicholemattera.com>
Co-authored-by: Robin Lambertz <unfiltered@roblab.la>
2021-03-01 08:56:49 +01:00
WerWolv
0a29f25330 ui: Open all views and create default layout on first launch 2021-02-21 13:49:03 +01:00
WerWolv
d69eee55dd Added recent files selection to Welcome screen 2021-02-01 19:03:45 +01:00
WerWolv
319068eef5 Implemented Open File and Preferences button in Welcome screen 2021-01-27 14:26:24 +01:00
WerWolv
47ca69b80e Added very basic Welcome screen 2021-01-27 01:10:13 +01:00
WerWolv
eb066b3539 Refactored libimhex to and includes to better represent it as library 2021-01-13 17:28:27 +01:00
WerWolv
84a6fff034 Refactored plugin system 2021-01-12 16:50:15 +01:00
WerWolv
dbbc525174
Added Plugin support (#102)
* Build refactoring and initial plugin support

* Possibly fixed linux / mac build

* Added libdl to libglad build script

* Add glfw to imgui dependencies

* Refactored common functionality into "libimhex" for plugins

* Added plugin loading and example plugin

* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00
Mary
310059f274 Support macOS
This allows building and running under macOS.
There is still some issues with dpi but the application compiles and run now.
2020-12-18 21:44:13 +01:00
averne
56cca88fbd
Proper DPI scaling and basic custom font (#85)
* add glm to arch deps

After running got `None of the required 'glm' found`. This fixes that

* dist/fedora: Include file magic headers

Due to differences in package names between Deb based systems, Arch
Linux, and RPM based systems the package containing the development
headers for file were missing from the Fedora dependencies script.

This includes the package `file-devel`, which is the package which
resolves the issue.

In Fedora, one can identify the package providing a specific file using
the verb "whatprovides" with the command dnf, e.g.:

    [~]$ dnf whatprovides /usr/include/magic.h
    Last metadata expiration check: 4 days, 0:23:05 ago on Fri 04 Dec 2020 09:06:53 AM PST.
    file-devel-5.39-3.fc33.i686 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : @System
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

If one is unsure of the specific path, globbing may be used (but must be
quoted):

    dnf whatprovides "*/magic.h"

Resolves #48

* dist: Prevent already installed packages in ArchLinux and MSYS2.

Use --needed option with pacman to prevent it.

* Add script to install dependencies on Debian/Ubuntu.

Tested with Xubuntu 20.04 and Debian testing
(in today's Docker image bitnami/minideb).

Update README.md.

* ci: rework (#31)

* Support non standard LLVM library names (#86)

This fix openSUSE and Gentoo issue mentioned in https://github.com/WerWolv/ImHex/issues/37#issuecomment-739503138.

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.

* Implement proper DPI handling

* Implement basic custom font support

* Fix building on windows

* Hopefully fix fonts on Windows

* Fix several scaling issues

* Replace font renderer with freetype

* Updated CI and dependency scripts

* Rebuild default font atlas

* Correct platform detection macro for mingw

* Fixed PKGBUILD

Co-authored-by: brockelmore <31553173+brockelmore@users.noreply.github.com>
Co-authored-by: Brian 'Redbeard' Harrington <redbeard@dead-city.org>
Co-authored-by: Biswapriyo Nath <nathbappai@gmail.com>
Co-authored-by: Stéphane Gourichon <stephane.gourichon@fidergo.fr>
Co-authored-by: umarcor <38422348+umarcor@users.noreply.github.com>
Co-authored-by: Mary <me@thog.eu>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2020-12-11 14:24:42 +01:00
WerWolv
3bd987ff2c Streamline view creation, save all view states when quitting 2020-11-23 23:57:19 +01:00
WerWolv
45bcdc8c46 Added toggle for ImGui demo window in Debug mode 2020-11-23 22:23:06 +01:00
averne
ec294228ae Simple configuration parsing for size scaling 2020-11-15 15:49:21 +01:00
WerWolv
29a6789521 Added shortcut handling 2020-11-11 14:41:44 +01:00
WerWolv
6f59955c92 Added FPS display 2020-11-11 09:22:55 +01:00
WerWolv
35946564a6 Refactor, added a pattern data display 2020-11-10 21:31:04 +01:00
WerWolv
cbe302a004 Added hex editor and basic pattern parsing/highlighting 2020-11-10 15:26:38 +01:00