1
0
mirror of https://github.com/artizirk/wdisplays.git synced 2025-09-04 14:30:59 +03:00

10 Commits

Author SHA1 Message Date
157b8c51e8 Release 1.1.3 2025-07-25 14:43:47 +03:00
79225e57a3 Merge pull request #13 from Aleksanaa/fixes
Fixed menu scaling issue by disabling the use of GTK popover
2025-07-25 12:53:02 +03:00
4257ef446b Release 1.1.2 2025-07-25 12:43:53 +03:00
cef925b96a Merge pull request #25 from ceamac/fix/C23
Fix C23 issues
2025-07-25 12:37:57 +03:00
Viorel Munteanu
6b7c637875 Fix C23 issues
gcc 15 is more strict and compiles C by default with C23.  `noop` is
used as a default null initializer, but now it must have the correct
type, so add a cast.

See also: https://bugs.gentoo.org/946954
2024-12-28 11:56:49 +02:00
aleksana
50e549465d Fixed menu scaling issue by disabling the use of GTK popover
This fixes https://github.com/artizirk/wdisplays/issues/9
2023-10-08 17:05:31 +08:00
6233901a88 Merge pull request #8 from alex-courtis/add-way-displays
add way-displays to readme
2023-07-26 15:42:56 +03:00
2c5e4d72b5 Merge pull request #7 from bhepple/patch-3
Update README.md - update fedora package location
2023-07-26 15:41:20 +03:00
Alexander Courtis
4cc1d2300d add way-displays to readme 2023-07-03 14:06:16 +10:00
Bob Hepple
7afc947f62 Update README.md - update fedora package location 2023-07-03 12:53:51 +10:00
6 changed files with 28 additions and 9 deletions

View File

@@ -6,6 +6,18 @@ This project tries to adhere to [Semantic Versioning][2].
## [Unreleased]
## [1.1.3] - 2025-07-25
### Fixed
Fixed tiny GTK dropdown menu on Hyprland (Aleksanaa)
## [1.1.2] - 2025-07-25
### Fixed
Fixed compilation error with new GCC (ceamac)
## [1.1.1] - 2023-07-01
### Added
@@ -52,7 +64,9 @@ Update application ID and readme (Jason Francis)
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://semver.org/spec/v2.0.0.html
[Unreleased]: https://github.com/artizirk/wdisplays/compare/1.1.1...HEAD
[Unreleased]: https://github.com/artizirk/wdisplays/compare/1.1.3...HEAD
[1.1.3]: https://github.com/artizirk/wdisplays/compare/1.1.2...1.1.3
[1.1.2]: https://github.com/artizirk/wdisplays/compare/1.1.1...1.1.2
[1.1.1]: https://github.com/artizirk/wdisplays/compare/1.1...1.1.1
[1.1]: https://github.com/artizirk/wdisplays/compare/1.0...1.1
[1.0]: https://github.com/artizirk/wdisplays/releases/tag/1.0

View File

@@ -20,7 +20,7 @@ Check your distro for a `wdisplays` package. Known distro packages:
- [Alpine](https://pkgs.alpinelinux.org/package/edge/testing/x86_64/wdisplays)
- [Arch](https://aur.archlinux.org/packages/wdisplays-git/)
- [Debian](https://packages.debian.org/sid/wdisplays)
- [Fedora](https://copr.fedorainfracloud.org/coprs/wef/wdisplays/)
- [Fedora](https://packages.fedoraproject.org/pkgs/wdisplays/wdisplays)
- [FreeBSD](https://svnweb.freebsd.org/ports/head/x11/wdisplays/)
- [Nix](https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/graphics/wdisplays)
- [OpenSUSE](https://build.opensuse.org/package/show/home%3AMWh3/wdisplays)
@@ -70,7 +70,8 @@ It's intended to be the Wayland equivalent of an xrandr GUI, like [ARandR].
Sway, like i3, doesn't save any settings unless you put them in the config
file. See man `sway-output`. If you want to have multiple configurations
depending on the monitors connected, you'll need to use an external program
like [kanshi]. Integration with that and other external daemons is planned.
like [kanshi] or [way-displays]. Integration with that and other external
daemons is planned.
### How do I add support to my compositor?
@@ -79,6 +80,7 @@ get support for this in wlroots compositors. See the diff here for a sample
implementation on top of tinywl: [tinywl-output-management].
[kanshi]: https://github.com/emersion/kanshi
[way-displays]: https://github.com/alex-courtis/way-displays
[Sway]: https://swaywm.org
[Wayfire]: https://wayfire.org
[ARandR]: https://christian.amsuess.com/tools/arandr/

View File

@@ -3,7 +3,7 @@
project('network.cycles.wdisplays', 'c',
license: 'GPL-3.0-or-later',
version: '1.1.1'
version: '1.1.3'
)
conf = configuration_data({

View File

@@ -195,6 +195,7 @@ static void wd_head_form_init(WdHeadForm *form) {
g_menu_append(rotate_menu, "Rotate 180°", "head.rotate(180)");
g_menu_append(rotate_menu, "Rotate 270°", "head.rotate(270)");
gtk_menu_button_set_menu_model(GTK_MENU_BUTTON(priv->rotate_button), G_MENU_MODEL(rotate_menu));
gtk_menu_button_set_use_popover(GTK_MENU_BUTTON(priv->rotate_button), false);
static const GVariantType * const mode_types[] = {
G_VARIANT_TYPE_INT32,
@@ -255,6 +256,7 @@ void wd_head_form_update(WdHeadForm *form, const struct wd_head *head,
g_menu_append_item(mode_menu, item);
}
gtk_menu_button_set_menu_model(GTK_MENU_BUTTON(priv->mode_button), G_MENU_MODEL(mode_menu));
gtk_menu_button_set_use_popover(GTK_MENU_BUTTON(priv->mode_button), false);
// Mode entries
int w = head->custom_mode.width;
int h = head->custom_mode.height;

View File

@@ -1039,6 +1039,7 @@ static void activate(GtkApplication* app, gpointer user_data) {
g_menu_append(main_menu, "_Show Screen Contents", "app.capture-screens");
g_menu_append(main_menu, "_Overlay Screen Names", "app.show-overlay");
gtk_menu_button_set_menu_model(GTK_MENU_BUTTON(state->menu_button), G_MENU_MODEL(main_menu));
gtk_menu_button_set_use_popover(GTK_MENU_BUTTON(state->menu_button), false);
g_signal_connect(state->info_bar, "response", G_CALLBACK(info_response), state);
/* first child of GtkInfoBar is always GtkRevealer */

View File

@@ -526,7 +526,7 @@ static void output_manager_handle_done(void *data,
static const struct zwlr_output_manager_v1_listener output_manager_listener = {
.head = output_manager_handle_head,
.done = output_manager_handle_done,
.finished = noop,
.finished = (void (*)(void *, struct zwlr_output_manager_v1 *))noop,
};
static void registry_handle_global(void *data, struct wl_registry *registry,
uint32_t name, const char *interface, uint32_t version) {
@@ -553,7 +553,7 @@ static void registry_handle_global(void *data, struct wl_registry *registry,
static const struct wl_registry_listener registry_listener = {
.global = registry_handle_global,
.global_remove = noop,
.global_remove = (void (*)(void *, struct wl_registry *, uint32_t))noop,
};
void wd_add_output_management_listener(struct wd_state *state, struct
@@ -603,10 +603,10 @@ static void output_name(void *data, struct zxdg_output_v1 *zxdg_output_v1,
static const struct zxdg_output_v1_listener output_listener = {
.logical_position = output_logical_position,
.logical_size = noop,
.done = noop,
.logical_size = (void (*)(void *, struct zxdg_output_v1 *, int32_t, int32_t))noop,
.done = (void (*)(void *, struct zxdg_output_v1 *))noop,
.name = output_name,
.description = noop
.description = (void (*)(void *, struct zxdg_output_v1 *, const char *))noop
};
void wd_add_output(struct wd_state *state, struct wl_output *wl_output,