not1mm 23.5.24__tar.gz → 23.5.26.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {not1mm-23.5.24 → not1mm-23.5.26.1}/PKG-INFO +27 -17
- {not1mm-23.5.24 → not1mm-23.5.26.1}/README.md +26 -16
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/__main__.py +10 -56
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/bandmap.py +0 -3
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/main.ui +0 -2
- not1mm-23.5.26.1/not1mm/lib/version.py +2 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/logwindow.py +0 -2
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/PKG-INFO +27 -17
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/SOURCES.txt +0 -1
- {not1mm-23.5.24 → not1mm-23.5.26.1}/pyproject.toml +1 -1
- not1mm-23.5.24/not1mm/data/Combinear.qss +0 -995
- not1mm-23.5.24/not1mm/lib/version.py +0 -2
- {not1mm-23.5.24 → not1mm-23.5.26.1}/LICENSE +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/__init__.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/about.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/bandmap.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/check.png +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/configuration.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/contests.sql +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/cty.json +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/donors.html +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/editcontact.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/editmacro.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/greendot.png +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/logwindow.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/new_contest.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/opon.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/reddot.png +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/settings.ui +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/__init__.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/about.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/database.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_station.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/lookup.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/multicast.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/n1mm.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/new_contest.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/select_contest.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/settings.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/versiontest.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/__init__.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cwt.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/fakeflrig.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/flrigclient.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/n1mm_listener.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/test.py +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/setup.cfg +0 -0
- {not1mm-23.5.24 → not1mm-23.5.26.1}/testing/test.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 23.5.
|
3
|
+
Version: 23.5.26.1
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
@@ -38,10 +38,11 @@ License-File: LICENSE
|
|
38
38
|
- [Ubuntu 23.04](#ubuntu-2304)
|
39
39
|
- [Fedora 38](#fedora-38)
|
40
40
|
- [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
|
41
|
+
- [Or this fan favorite](#or-this-fan-favorite)
|
41
42
|
- [Updating with pip/pipx](#updating-with-pippipx)
|
42
43
|
- [Other Libraries](#other-libraries)
|
43
|
-
- [Running on Ubuntu LTS 22.04](#running-on-ubuntu-lts-2204)
|
44
44
|
- [Dark mode on Ubuntu](#dark-mode-on-ubuntu)
|
45
|
+
- [Wayland Compositor](#wayland-compositor)
|
45
46
|
- [Running from source](#running-from-source)
|
46
47
|
- [Various data file locations](#various-data-file-locations)
|
47
48
|
- [Data](#data)
|
@@ -124,6 +125,7 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
|
|
124
125
|
|
125
126
|
## Changes of note
|
126
127
|
|
128
|
+
- [23-5-26] Fixed Dark Mode on Ubuntu. Removed the crappy dark css theme and the code to load it.
|
127
129
|
- [23-5-24] Added contact delete and change n1mm packets.
|
128
130
|
- [23-5-23] Reworked N1MM packets. Can now specify multiple destinations for the packets.
|
129
131
|
- [23-5-22] Worked on n1mm contactinfo packets. Reduced network beaconing from 100 miliseconds to 10 seconds, Unless the radio state changes.
|
@@ -220,7 +222,7 @@ I've included what installation steps I took to install on fresh images of Ubunt
|
|
220
222
|
```bash
|
221
223
|
sudo apt update
|
222
224
|
sudo apt upgrade
|
223
|
-
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
|
225
|
+
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy adwaita-qt
|
224
226
|
pip install -U not1mm
|
225
227
|
```
|
226
228
|
|
@@ -253,21 +255,13 @@ Consider adding this directory to PATH or, if you prefer to suppress this warnin
|
|
253
255
|
|
254
256
|
If you do, just logout and back in, or reboot.
|
255
257
|
|
256
|
-
###
|
257
|
-
|
258
|
-
I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
|
259
|
-
|
260
|
-
## Other Libraries
|
261
|
-
|
262
|
-
The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
|
263
|
-
|
264
|
-
## Running on Ubuntu LTS 22.04
|
265
|
-
|
266
|
-
Seems Ubuntu LTS is not a big fan of wayland. When launching from the command line you'll see a message:
|
258
|
+
### Or this fan favorite
|
267
259
|
|
268
|
-
|
260
|
+
```text
|
261
|
+
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
|
269
262
|
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
|
270
|
-
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem
|
263
|
+
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
|
264
|
+
```
|
271
265
|
|
272
266
|
To avoid this you can export an environment variable and launch the app like this:
|
273
267
|
|
@@ -275,9 +269,21 @@ To avoid this you can export an environment variable and launch the app like thi
|
|
275
269
|
|
276
270
|
For a more permanent solution you can place the line `export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then after logging out and back in you should be able to launch it normally.
|
277
271
|
|
272
|
+
### Updating with pip/pipx
|
273
|
+
|
274
|
+
I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
|
275
|
+
|
276
|
+
## Other Libraries
|
277
|
+
|
278
|
+
The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
|
279
|
+
|
278
280
|
### Dark mode on Ubuntu
|
279
281
|
|
280
|
-
|
282
|
+
I believe I figured out dark mode in Ubuntu and have it working on my shack PC that runs Ubuntu 22.04. The secret sauce seems to be installing adwaita-qt with apt, and setting an environment variable `QT_STYLE_OVERRIDE` to `Adwaita-Dark`. I set the environment variable in the start of the program if running on a Gnome platform. So you don't need to do that part.
|
283
|
+
|
284
|
+
## Wayland Compositor
|
285
|
+
|
286
|
+
One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but i can not change it.
|
281
287
|
|
282
288
|
## Running from source
|
283
289
|
|
@@ -398,8 +404,12 @@ Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
|
|
398
404
|
|
399
405
|
### N1MM Packets
|
400
406
|
|
407
|
+
Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contactreplace and contactdelete.
|
408
|
+
|
401
409
|

|
402
410
|
|
411
|
+
When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
|
412
|
+
|
403
413
|
## Hiding screen elements
|
404
414
|
|
405
415
|
You can show or hide certain buttons/indicators by checking and unchecking their boxes under the view menu. You can then resize the screen to make it more compact.
|
@@ -19,10 +19,11 @@
|
|
19
19
|
- [Ubuntu 23.04](#ubuntu-2304)
|
20
20
|
- [Fedora 38](#fedora-38)
|
21
21
|
- [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
|
22
|
+
- [Or this fan favorite](#or-this-fan-favorite)
|
22
23
|
- [Updating with pip/pipx](#updating-with-pippipx)
|
23
24
|
- [Other Libraries](#other-libraries)
|
24
|
-
- [Running on Ubuntu LTS 22.04](#running-on-ubuntu-lts-2204)
|
25
25
|
- [Dark mode on Ubuntu](#dark-mode-on-ubuntu)
|
26
|
+
- [Wayland Compositor](#wayland-compositor)
|
26
27
|
- [Running from source](#running-from-source)
|
27
28
|
- [Various data file locations](#various-data-file-locations)
|
28
29
|
- [Data](#data)
|
@@ -105,6 +106,7 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
|
|
105
106
|
|
106
107
|
## Changes of note
|
107
108
|
|
109
|
+
- [23-5-26] Fixed Dark Mode on Ubuntu. Removed the crappy dark css theme and the code to load it.
|
108
110
|
- [23-5-24] Added contact delete and change n1mm packets.
|
109
111
|
- [23-5-23] Reworked N1MM packets. Can now specify multiple destinations for the packets.
|
110
112
|
- [23-5-22] Worked on n1mm contactinfo packets. Reduced network beaconing from 100 miliseconds to 10 seconds, Unless the radio state changes.
|
@@ -201,7 +203,7 @@ I've included what installation steps I took to install on fresh images of Ubunt
|
|
201
203
|
```bash
|
202
204
|
sudo apt update
|
203
205
|
sudo apt upgrade
|
204
|
-
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
|
206
|
+
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy adwaita-qt
|
205
207
|
pip install -U not1mm
|
206
208
|
```
|
207
209
|
|
@@ -234,21 +236,13 @@ Consider adding this directory to PATH or, if you prefer to suppress this warnin
|
|
234
236
|
|
235
237
|
If you do, just logout and back in, or reboot.
|
236
238
|
|
237
|
-
###
|
238
|
-
|
239
|
-
I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
|
240
|
-
|
241
|
-
## Other Libraries
|
242
|
-
|
243
|
-
The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
|
244
|
-
|
245
|
-
## Running on Ubuntu LTS 22.04
|
246
|
-
|
247
|
-
Seems Ubuntu LTS is not a big fan of wayland. When launching from the command line you'll see a message:
|
239
|
+
### Or this fan favorite
|
248
240
|
|
249
|
-
|
241
|
+
```text
|
242
|
+
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
|
250
243
|
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
|
251
|
-
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem
|
244
|
+
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
|
245
|
+
```
|
252
246
|
|
253
247
|
To avoid this you can export an environment variable and launch the app like this:
|
254
248
|
|
@@ -256,9 +250,21 @@ To avoid this you can export an environment variable and launch the app like thi
|
|
256
250
|
|
257
251
|
For a more permanent solution you can place the line `export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then after logging out and back in you should be able to launch it normally.
|
258
252
|
|
253
|
+
### Updating with pip/pipx
|
254
|
+
|
255
|
+
I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
|
256
|
+
|
257
|
+
## Other Libraries
|
258
|
+
|
259
|
+
The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
|
260
|
+
|
259
261
|
### Dark mode on Ubuntu
|
260
262
|
|
261
|
-
|
263
|
+
I believe I figured out dark mode in Ubuntu and have it working on my shack PC that runs Ubuntu 22.04. The secret sauce seems to be installing adwaita-qt with apt, and setting an environment variable `QT_STYLE_OVERRIDE` to `Adwaita-Dark`. I set the environment variable in the start of the program if running on a Gnome platform. So you don't need to do that part.
|
264
|
+
|
265
|
+
## Wayland Compositor
|
266
|
+
|
267
|
+
One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but i can not change it.
|
262
268
|
|
263
269
|
## Running from source
|
264
270
|
|
@@ -379,8 +385,12 @@ Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
|
|
379
385
|
|
380
386
|
### N1MM Packets
|
381
387
|
|
388
|
+
Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contactreplace and contactdelete.
|
389
|
+
|
382
390
|

|
383
391
|
|
392
|
+
When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
|
393
|
+
|
384
394
|
## Hiding screen elements
|
385
395
|
|
386
396
|
You can show or hide certain buttons/indicators by checking and unchecking their boxes under the view menu. You can then resize the screen to make it more compact.
|
@@ -61,27 +61,27 @@ from not1mm.lib.n1mm import N1MM
|
|
61
61
|
from not1mm.lib.version import __version__
|
62
62
|
from not1mm.lib.versiontest import VersionTest
|
63
63
|
|
64
|
-
|
65
|
-
# os.environ["
|
64
|
+
# gsettings get org.gnome.desktop.interface color-scheme
|
65
|
+
# os.environ["QT_QPA_PLATFORM"] = "wayland"
|
66
|
+
|
67
|
+
if os.environ.get("XDG_CURRENT_DESKTOP", False) == "GNOME":
|
68
|
+
os.environ["QT_QPA_PLATFORMTHEME"] = "gnome"
|
69
|
+
os.environ["QT_STYLE_OVERRIDE"] = "Adwaita-Dark"
|
66
70
|
|
67
71
|
loader = pkgutil.get_loader("not1mm")
|
68
72
|
WORKING_PATH = os.path.dirname(loader.get_filename())
|
69
73
|
|
70
|
-
|
71
|
-
DATA_PATH = os.environ.get("XDG_DATA_HOME")
|
72
|
-
else:
|
73
|
-
DATA_PATH = str(Path.home() / ".local" / "share")
|
74
|
+
DATA_PATH = os.environ.get("XDG_DATA_HOME", str(Path.home() / ".local" / "share"))
|
74
75
|
DATA_PATH += "/not1mm"
|
76
|
+
|
75
77
|
try:
|
76
78
|
os.mkdir(DATA_PATH)
|
77
79
|
except FileExistsError:
|
78
80
|
...
|
79
81
|
|
80
|
-
|
81
|
-
CONFIG_PATH = os.environ.get("XDG_CONFIG_HOME")
|
82
|
-
else:
|
83
|
-
CONFIG_PATH = str(Path.home() / ".config")
|
82
|
+
CONFIG_PATH = os.environ.get("XDG_CONFIG_HOME", str(Path.home() / ".config"))
|
84
83
|
CONFIG_PATH += "/not1mm"
|
84
|
+
|
85
85
|
try:
|
86
86
|
os.mkdir(CONFIG_PATH)
|
87
87
|
except FileExistsError:
|
@@ -92,11 +92,6 @@ CTYFILE = {}
|
|
92
92
|
with open(WORKING_PATH + "/data/cty.json", "rt", encoding="utf-8") as c_file:
|
93
93
|
CTYFILE = loads(c_file.read())
|
94
94
|
|
95
|
-
DARK_STYLESHEET = ""
|
96
|
-
|
97
|
-
with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
|
98
|
-
DARK_STYLESHEET = stylefile.read()
|
99
|
-
|
100
95
|
poll_time = datetime.now()
|
101
96
|
|
102
97
|
|
@@ -135,7 +130,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
135
130
|
"lookupusername": "username",
|
136
131
|
"lookuppassword": "password",
|
137
132
|
"run_state": True,
|
138
|
-
"dark_mode": False,
|
139
133
|
"command_buttons": False,
|
140
134
|
"cw_macros": True,
|
141
135
|
"bands_modes": True,
|
@@ -215,7 +209,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
215
209
|
|
216
210
|
self.actionCW_Macros.triggered.connect(self.cw_macros_state_changed)
|
217
211
|
self.actionCommand_Buttons.triggered.connect(self.command_buttons_state_change)
|
218
|
-
self.actionDark_Mode.triggered.connect(self.dark_mode_state_change)
|
219
212
|
self.actionLog_Window.triggered.connect(self.launch_log_window)
|
220
213
|
self.actionBandmap.triggered.connect(self.launch_bandmap_window)
|
221
214
|
self.actionRecalculate_Mults.triggered.connect(self.recalculate_mults)
|
@@ -373,8 +366,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
373
366
|
def show_about_dialog(self):
|
374
367
|
"""Show about dialog"""
|
375
368
|
self.about_dialog = About(WORKING_PATH)
|
376
|
-
if self.pref.get("dark_mode"):
|
377
|
-
self.about_dialog.setStyleSheet(DARK_STYLESHEET)
|
378
369
|
self.about_dialog.donors.setSource(
|
379
370
|
QtCore.QUrl.fromLocalFile(WORKING_PATH + "/data/donors.html")
|
380
371
|
)
|
@@ -383,8 +374,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
383
374
|
def edit_configuration_settings(self):
|
384
375
|
"""Configuration Settings was clicked"""
|
385
376
|
self.configuration_dialog = Settings(WORKING_PATH, CONFIG_PATH, self.pref)
|
386
|
-
if self.pref.get("dark_mode"):
|
387
|
-
self.configuration_dialog.setStyleSheet(DARK_STYLESHEET)
|
388
377
|
self.configuration_dialog.usehamdb_radioButton.hide()
|
389
378
|
self.configuration_dialog.show()
|
390
379
|
self.configuration_dialog.accepted.connect(self.edit_configuration_return)
|
@@ -452,8 +441,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
452
441
|
|
453
442
|
if contests:
|
454
443
|
self.contest_dialog = SelectContest(WORKING_PATH)
|
455
|
-
if self.pref.get("dark_mode"):
|
456
|
-
self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
|
457
444
|
self.contest_dialog.contest_list.setRowCount(0)
|
458
445
|
self.contest_dialog.contest_list.setColumnCount(4)
|
459
446
|
self.contest_dialog.contest_list.verticalHeader().setVisible(False)
|
@@ -511,14 +498,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
511
498
|
if self.contest_settings is None:
|
512
499
|
return
|
513
500
|
self.contest_dialog = NewContest(WORKING_PATH)
|
514
|
-
if self.pref.get("dark_mode"):
|
515
|
-
self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
|
516
501
|
self.contest_dialog.setWindowTitle("Edit Contest")
|
517
502
|
self.contest_dialog.title.setText("")
|
518
503
|
self.contest_dialog.accepted.connect(self.save_edited_contest)
|
519
|
-
if self.pref.get("dark_mode"):
|
520
|
-
self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
|
521
|
-
|
522
504
|
value = self.contest_settings.get("ContestName").upper().replace("_", " ")
|
523
505
|
if value == "GENERAL LOGGING":
|
524
506
|
value = "General Logging"
|
@@ -1090,8 +1072,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1090
1072
|
logger.debug("New contest Dialog")
|
1091
1073
|
self.contest_dialog = NewContest(WORKING_PATH)
|
1092
1074
|
self.contest_dialog.accepted.connect(self.save_contest)
|
1093
|
-
if self.pref.get("dark_mode"):
|
1094
|
-
self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
|
1095
1075
|
self.contest_dialog.dateTimeEdit.setDate(QtCore.QDate.currentDate())
|
1096
1076
|
self.contest_dialog.dateTimeEdit.setCalendarPopup(True)
|
1097
1077
|
self.contest_dialog.dateTimeEdit.setTime(QtCore.QTime(0, 0))
|
@@ -1134,12 +1114,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1134
1114
|
"""Show settings dialog"""
|
1135
1115
|
logger.debug("Station Settings selected")
|
1136
1116
|
self.settings_dialog = EditStation(WORKING_PATH)
|
1137
|
-
if self.pref.get("dark_mode"):
|
1138
|
-
self.settings_dialog.setStyleSheet(DARK_STYLESHEET)
|
1139
1117
|
self.settings_dialog.accepted.connect(self.save_settings)
|
1140
|
-
# if self.pref.get("dark_mode"):
|
1141
|
-
# self.settings_dialog.setStyleSheet(DARK_STYLESHEET)
|
1142
|
-
|
1143
1118
|
self.settings_dialog.Call.setText(self.station.get("Call", ""))
|
1144
1119
|
self.settings_dialog.Name.setText(self.station.get("Name", ""))
|
1145
1120
|
self.settings_dialog.Address1.setText(self.station.get("Street1", ""))
|
@@ -1205,8 +1180,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1205
1180
|
"""Show edit macro dialog"""
|
1206
1181
|
self.edit_macro_dialog = EditMacro(function_key, WORKING_PATH)
|
1207
1182
|
self.edit_macro_dialog.accepted.connect(self.edited_macro)
|
1208
|
-
if self.pref.get("dark_mode"):
|
1209
|
-
self.edit_macro_dialog.setStyleSheet(DARK_STYLESHEET)
|
1210
1183
|
self.edit_macro_dialog.open()
|
1211
1184
|
|
1212
1185
|
def edited_macro(self):
|
@@ -1545,11 +1518,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1545
1518
|
else:
|
1546
1519
|
self.radioButton_sp.setChecked(True)
|
1547
1520
|
|
1548
|
-
if self.pref.get("dark_mode"):
|
1549
|
-
self.actionDark_Mode.setChecked(True)
|
1550
|
-
else:
|
1551
|
-
self.actionDark_Mode.setChecked(False)
|
1552
|
-
|
1553
1521
|
if self.pref.get("command_buttons"):
|
1554
1522
|
self.actionCommand_Buttons.setChecked(True)
|
1555
1523
|
else:
|
@@ -1625,7 +1593,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1625
1593
|
self.n1mm.send_score_packets = self.pref.get("send_n1mm_score", False)
|
1626
1594
|
self.n1mm.radio_info["StationName"] = self.pref.get("n1mm_station_name", "")
|
1627
1595
|
|
1628
|
-
self.dark_mode()
|
1629
1596
|
self.show_command_buttons()
|
1630
1597
|
self.show_CW_macros()
|
1631
1598
|
# self.show_band_mode()
|
@@ -1678,19 +1645,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1678
1645
|
self.callsign.activateWindow()
|
1679
1646
|
window.raise_()
|
1680
1647
|
|
1681
|
-
def dark_mode_state_change(self):
|
1682
|
-
"""darkmode dropdown checkmark changed"""
|
1683
|
-
self.pref["dark_mode"] = self.actionDark_Mode.isChecked()
|
1684
|
-
self.write_preference()
|
1685
|
-
self.dark_mode()
|
1686
|
-
|
1687
|
-
def dark_mode(self):
|
1688
|
-
"""change display mode"""
|
1689
|
-
if self.pref.get("dark_mode"):
|
1690
|
-
self.setStyleSheet(DARK_STYLESHEET)
|
1691
|
-
else:
|
1692
|
-
self.setStyleSheet("")
|
1693
|
-
|
1694
1648
|
def cw_macros_state_changed(self):
|
1695
1649
|
"""Menu item to show/hide macro buttons"""
|
1696
1650
|
self.pref["cw_macros"] = self.actionCW_Macros.isChecked()
|
@@ -46,9 +46,6 @@ CONFIG_PATH += "/not1mm"
|
|
46
46
|
|
47
47
|
DARK_STYLESHEET = ""
|
48
48
|
|
49
|
-
with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
|
50
|
-
DARK_STYLESHEET = stylefile.read()
|
51
|
-
|
52
49
|
MULTICAST_PORT = 2239
|
53
50
|
MULTICAST_GROUP = "224.1.1.1"
|
54
51
|
INTERFACE_IP = "0.0.0.0"
|
@@ -1060,9 +1060,7 @@
|
|
1060
1060
|
<property name="title">
|
1061
1061
|
<string>View</string>
|
1062
1062
|
</property>
|
1063
|
-
<addaction name="actionCommand_Buttons"/>
|
1064
1063
|
<addaction name="actionCW_Macros"/>
|
1065
|
-
<addaction name="actionDark_Mode"/>
|
1066
1064
|
</widget>
|
1067
1065
|
<widget class="QMenu" name="menuWindow">
|
1068
1066
|
<property name="title">
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 23.5.
|
3
|
+
Version: 23.5.26.1
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
@@ -38,10 +38,11 @@ License-File: LICENSE
|
|
38
38
|
- [Ubuntu 23.04](#ubuntu-2304)
|
39
39
|
- [Fedora 38](#fedora-38)
|
40
40
|
- [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
|
41
|
+
- [Or this fan favorite](#or-this-fan-favorite)
|
41
42
|
- [Updating with pip/pipx](#updating-with-pippipx)
|
42
43
|
- [Other Libraries](#other-libraries)
|
43
|
-
- [Running on Ubuntu LTS 22.04](#running-on-ubuntu-lts-2204)
|
44
44
|
- [Dark mode on Ubuntu](#dark-mode-on-ubuntu)
|
45
|
+
- [Wayland Compositor](#wayland-compositor)
|
45
46
|
- [Running from source](#running-from-source)
|
46
47
|
- [Various data file locations](#various-data-file-locations)
|
47
48
|
- [Data](#data)
|
@@ -124,6 +125,7 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
|
|
124
125
|
|
125
126
|
## Changes of note
|
126
127
|
|
128
|
+
- [23-5-26] Fixed Dark Mode on Ubuntu. Removed the crappy dark css theme and the code to load it.
|
127
129
|
- [23-5-24] Added contact delete and change n1mm packets.
|
128
130
|
- [23-5-23] Reworked N1MM packets. Can now specify multiple destinations for the packets.
|
129
131
|
- [23-5-22] Worked on n1mm contactinfo packets. Reduced network beaconing from 100 miliseconds to 10 seconds, Unless the radio state changes.
|
@@ -220,7 +222,7 @@ I've included what installation steps I took to install on fresh images of Ubunt
|
|
220
222
|
```bash
|
221
223
|
sudo apt update
|
222
224
|
sudo apt upgrade
|
223
|
-
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
|
225
|
+
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy adwaita-qt
|
224
226
|
pip install -U not1mm
|
225
227
|
```
|
226
228
|
|
@@ -253,21 +255,13 @@ Consider adding this directory to PATH or, if you prefer to suppress this warnin
|
|
253
255
|
|
254
256
|
If you do, just logout and back in, or reboot.
|
255
257
|
|
256
|
-
###
|
257
|
-
|
258
|
-
I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
|
259
|
-
|
260
|
-
## Other Libraries
|
261
|
-
|
262
|
-
The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
|
263
|
-
|
264
|
-
## Running on Ubuntu LTS 22.04
|
265
|
-
|
266
|
-
Seems Ubuntu LTS is not a big fan of wayland. When launching from the command line you'll see a message:
|
258
|
+
### Or this fan favorite
|
267
259
|
|
268
|
-
|
260
|
+
```text
|
261
|
+
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
|
269
262
|
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
|
270
|
-
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem
|
263
|
+
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
|
264
|
+
```
|
271
265
|
|
272
266
|
To avoid this you can export an environment variable and launch the app like this:
|
273
267
|
|
@@ -275,9 +269,21 @@ To avoid this you can export an environment variable and launch the app like thi
|
|
275
269
|
|
276
270
|
For a more permanent solution you can place the line `export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then after logging out and back in you should be able to launch it normally.
|
277
271
|
|
272
|
+
### Updating with pip/pipx
|
273
|
+
|
274
|
+
I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
|
275
|
+
|
276
|
+
## Other Libraries
|
277
|
+
|
278
|
+
The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
|
279
|
+
|
278
280
|
### Dark mode on Ubuntu
|
279
281
|
|
280
|
-
|
282
|
+
I believe I figured out dark mode in Ubuntu and have it working on my shack PC that runs Ubuntu 22.04. The secret sauce seems to be installing adwaita-qt with apt, and setting an environment variable `QT_STYLE_OVERRIDE` to `Adwaita-Dark`. I set the environment variable in the start of the program if running on a Gnome platform. So you don't need to do that part.
|
283
|
+
|
284
|
+
## Wayland Compositor
|
285
|
+
|
286
|
+
One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but i can not change it.
|
281
287
|
|
282
288
|
## Running from source
|
283
289
|
|
@@ -398,8 +404,12 @@ Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
|
|
398
404
|
|
399
405
|
### N1MM Packets
|
400
406
|
|
407
|
+
Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contactreplace and contactdelete.
|
408
|
+
|
401
409
|

|
402
410
|
|
411
|
+
When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
|
412
|
+
|
403
413
|
## Hiding screen elements
|
404
414
|
|
405
415
|
You can show or hide certain buttons/indicators by checking and unchecking their boxes under the view menu. You can then resize the screen to make it more compact.
|