diff --git a/drivers/g-wolves/g-wolves.c b/drivers/g-wolves/g-wolves.c
index be95f3e..1be2082 100644
--- a/drivers/g-wolves/g-wolves.c
+++ b/drivers/g-wolves/g-wolves.c
@@ -162,7 +162,7 @@ int driver_mouse_dpi_get(void* handle, struct MOUSE_DPI_LEVELS* output)
// Format 'output' packet
output->max_level_count = 5;
output->level_count = report.level_count;
- output->level_current = report.level_current;
+ output->level_current = report.level_current - 1;
output->led_available = true;
output->xy_available = false;
for(size_t i = 0; i < report.level_count; i++)
diff --git a/src/ui/panels/mouse-panel.c b/src/ui/panels/mouse-panel.c
index 0bf2bea..c5c3a19 100644
--- a/src/ui/panels/mouse-panel.c
+++ b/src/ui/panels/mouse-panel.c
@@ -59,13 +59,19 @@ void mouse_panel_set_device(MousePanel* self, device_t* device)
AdwPreferencesRow* row = ADW_PREFERENCES_ROW(adw_preferences_row_new());
// Convert dpi int to string
- char dpi_str[10];
- sprintf(dpi_str, "%u", dpi.level[i].dpi_x);
+ char dpi_str[15];
+ sprintf(dpi_str, "%u DPI", dpi.level[i].dpi_x);
GtkLabel* label = GTK_LABEL(gtk_label_new(dpi_str));
- gtk_widget_add_css_class(GTK_WIDGET(label), "heading");
+ gtk_widget_set_margin_top(GTK_WIDGET(label), 10);
+ gtk_widget_set_margin_bottom(GTK_WIDGET(label), 10);
gtk_list_box_row_set_child(GTK_LIST_BOX_ROW(row), GTK_WIDGET(label));
+ if(dpi.level_current == i)
+ {
+ gtk_list_box_row_set_activatable(GTK_LIST_BOX_ROW(row), false);
+ }
+
adw_preferences_group_add(self->dpi_preference_group, GTK_WIDGET(row));
}
}
diff --git a/ui/panel-mouse.ui b/ui/panel-mouse.ui
index 2b39625..5589c5c 100644
--- a/ui/panel-mouse.ui
+++ b/ui/panel-mouse.ui
@@ -57,6 +57,7 @@
start